From c337f839111846c74b39fbbcd8f620aa2e5e2750 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 14:59:01 +0200 Subject: [PATCH 001/565] New translations general.yml (Spanish, Mexico) --- config/locales/es-MX/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-MX/general.yml b/config/locales/es-MX/general.yml index 99e2cdf43..a6d384a8d 100644 --- a/config/locales/es-MX/general.yml +++ b/config/locales/es-MX/general.yml @@ -224,7 +224,6 @@ es-MX: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From 349a15c535a8bf72ced953a7e35bab188521cfae Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 14:59:26 +0200 Subject: [PATCH 002/565] New translations general.yml (Spanish, Honduras) --- config/locales/es-HN/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-HN/general.yml b/config/locales/es-HN/general.yml index 600d9faeb..4b1ac3360 100644 --- a/config/locales/es-HN/general.yml +++ b/config/locales/es-HN/general.yml @@ -224,7 +224,6 @@ es-HN: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From e0e4f5a45b501e6f7e98b2597800a61db9349f96 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 14:59:36 +0200 Subject: [PATCH 003/565] New translations general.yml (Spanish, Guatemala) --- config/locales/es-GT/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-GT/general.yml b/config/locales/es-GT/general.yml index 08e4f87ad..4fc8f3d2a 100644 --- a/config/locales/es-GT/general.yml +++ b/config/locales/es-GT/general.yml @@ -224,7 +224,6 @@ es-GT: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From 2a8a2b16b2495f287d0bd5ecb88dcf06630585fc Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 14:59:47 +0200 Subject: [PATCH 004/565] New translations general.yml (Spanish, Paraguay) --- config/locales/es-PY/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-PY/general.yml b/config/locales/es-PY/general.yml index 2d1a16880..9fbb170af 100644 --- a/config/locales/es-PY/general.yml +++ b/config/locales/es-PY/general.yml @@ -224,7 +224,6 @@ es-PY: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From 22f395584f86d7ae6b30a9b1ee9b7a17aca04a75 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:00:04 +0200 Subject: [PATCH 005/565] New translations general.yml (Spanish, Nicaragua) --- config/locales/es-NI/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-NI/general.yml b/config/locales/es-NI/general.yml index d3f4ba84e..dc3866308 100644 --- a/config/locales/es-NI/general.yml +++ b/config/locales/es-NI/general.yml @@ -224,7 +224,6 @@ es-NI: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From 00c017dd26d8582238f85facf40118df647984c6 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:00:26 +0200 Subject: [PATCH 006/565] New translations general.yml (Spanish, Panama) --- config/locales/es-PA/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-PA/general.yml b/config/locales/es-PA/general.yml index 024fb7832..684bf9f73 100644 --- a/config/locales/es-PA/general.yml +++ b/config/locales/es-PA/general.yml @@ -224,7 +224,6 @@ es-PA: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From 534823a5e95dafdba52af860da15b6530268f20d Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:00:39 +0200 Subject: [PATCH 007/565] New translations general.yml (Spanish, Costa Rica) --- config/locales/es-CR/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-CR/general.yml b/config/locales/es-CR/general.yml index f3d97769a..5f7edebe5 100644 --- a/config/locales/es-CR/general.yml +++ b/config/locales/es-CR/general.yml @@ -224,7 +224,6 @@ es-CR: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From f6395a3a7f61bd7cad53f31a00a7b8a6e054a945 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:00:58 +0200 Subject: [PATCH 008/565] New translations general.yml (Spanish, Dominican Republic) --- config/locales/es-DO/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-DO/general.yml b/config/locales/es-DO/general.yml index 153019861..4a76f381d 100644 --- a/config/locales/es-DO/general.yml +++ b/config/locales/es-DO/general.yml @@ -224,7 +224,6 @@ es-DO: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From f284e1af3dcfb1229b16459d0a592b94a9d92588 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:01:12 +0200 Subject: [PATCH 009/565] New translations general.yml (Spanish, Colombia) --- config/locales/es-CO/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-CO/general.yml b/config/locales/es-CO/general.yml index c64952b5a..923b364db 100644 --- a/config/locales/es-CO/general.yml +++ b/config/locales/es-CO/general.yml @@ -224,7 +224,6 @@ es-CO: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From 524a609440c072999b9757fc584c99ea64c706fb Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:01:35 +0200 Subject: [PATCH 010/565] New translations general.yml (Spanish, El Salvador) --- config/locales/es-SV/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-SV/general.yml b/config/locales/es-SV/general.yml index 93424e354..967d6d919 100644 --- a/config/locales/es-SV/general.yml +++ b/config/locales/es-SV/general.yml @@ -224,7 +224,6 @@ es-SV: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From 2f089535dbdf725c8ecd6d6289479ecb073d622f Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:02:05 +0200 Subject: [PATCH 011/565] New translations general.yml (Spanish, Ecuador) --- config/locales/es-EC/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-EC/general.yml b/config/locales/es-EC/general.yml index 10fe78a68..19c3dbba5 100644 --- a/config/locales/es-EC/general.yml +++ b/config/locales/es-EC/general.yml @@ -224,7 +224,6 @@ es-EC: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From c13b53ef3d71fa4e410618622123076443e6a873 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:03:11 +0200 Subject: [PATCH 012/565] New translations rails.yml (Albanian) --- config/locales/sq-AL/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/sq-AL/rails.yml b/config/locales/sq-AL/rails.yml index bc9305adc..fe5464222 100644 --- a/config/locales/sq-AL/rails.yml +++ b/config/locales/sq-AL/rails.yml @@ -49,9 +49,9 @@ sq: - Nëntor - Dhjetor order: - - :day - - :month - - :year + - :vit + - :muaj + - ':ditë' datetime: distance_in_words: about_x_hours: From cd95c9f5b90620a9649173735bc73e6afbc969a2 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:03:37 +0200 Subject: [PATCH 013/565] New translations rails.yml (Polish) --- config/locales/pl-PL/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/pl-PL/rails.yml b/config/locales/pl-PL/rails.yml index 0ad26248c..e34e23707 100644 --- a/config/locales/pl-PL/rails.yml +++ b/config/locales/pl-PL/rails.yml @@ -49,9 +49,9 @@ pl: - Listopad - Grudzień order: - - :day - - :month - - :year + - :rok + - ':miesiąc' + - ':dzień' datetime: distance_in_words: about_x_hours: From e3cea276bc7b79ee711dcb158572cf3ada987fbd Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:03:42 +0200 Subject: [PATCH 014/565] New translations rails.yml (Turkish) --- config/locales/tr-TR/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/tr-TR/rails.yml b/config/locales/tr-TR/rails.yml index c455a7bab..a0b4e762d 100644 --- a/config/locales/tr-TR/rails.yml +++ b/config/locales/tr-TR/rails.yml @@ -37,9 +37,9 @@ tr: - Kasım - December order: - - :day - - :month - - :year + - ': yıl' + - ': ay' + - ': gün' datetime: prompts: day: Gün From e5ec8593122b14ef2ae1e3c82948e814f003eb41 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:04:01 +0200 Subject: [PATCH 015/565] New translations general.yml (Spanish, Uruguay) --- config/locales/es-UY/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-UY/general.yml b/config/locales/es-UY/general.yml index d6dfb7b7c..2bcbf58ba 100644 --- a/config/locales/es-UY/general.yml +++ b/config/locales/es-UY/general.yml @@ -224,7 +224,6 @@ es-UY: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From 89d4202ad936461512b0f73ebd685f3690d26884 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:04:09 +0200 Subject: [PATCH 016/565] New translations rails.yml (Spanish, Venezuela) --- config/locales/es-VE/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/es-VE/rails.yml b/config/locales/es-VE/rails.yml index ebd866dac..700bb8ced 100644 --- a/config/locales/es-VE/rails.yml +++ b/config/locales/es-VE/rails.yml @@ -49,9 +49,9 @@ es-VE: - Noviembre - Diciembre order: - - :day - - :month - - :year + - ':año' + - :mes + - ':día' datetime: distance_in_words: about_x_hours: From ed4bba5bf8a2bfef445e6dd7ee8d8edd7571d5c6 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:04:18 +0200 Subject: [PATCH 017/565] New translations general.yml (Spanish, Peru) --- config/locales/es-PE/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-PE/general.yml b/config/locales/es-PE/general.yml index dc716181d..de335bd27 100644 --- a/config/locales/es-PE/general.yml +++ b/config/locales/es-PE/general.yml @@ -224,7 +224,6 @@ es-PE: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From d5d8663c1e4e7488191ff65b1fce40cf974ebb68 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:04:28 +0200 Subject: [PATCH 018/565] New translations general.yml (Spanish, Puerto Rico) --- config/locales/es-PR/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-PR/general.yml b/config/locales/es-PR/general.yml index 4d695ea53..41f15c564 100644 --- a/config/locales/es-PR/general.yml +++ b/config/locales/es-PR/general.yml @@ -224,7 +224,6 @@ es-PR: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From 8d1bd36fca4965c683b5bcc89f53434747aaf5c1 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:04:58 +0200 Subject: [PATCH 019/565] New translations general.yml (Swedish) --- config/locales/sv-SE/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/sv-SE/general.yml b/config/locales/sv-SE/general.yml index 3e91a8b7a..a207a28f7 100644 --- a/config/locales/sv-SE/general.yml +++ b/config/locales/sv-SE/general.yml @@ -249,7 +249,6 @@ sv: text_sign_in: logga in text_sign_up: registrera dig title: Hur kommenterar jag det här dokumentet? - locale: Svenska notifications: index: empty_notifications: Du har inga nya aviseringar. From 676809164539da2bb013c19df2a9d77dec9d0831 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:05:08 +0200 Subject: [PATCH 020/565] New translations general.yml (Spanish, Venezuela) --- config/locales/es-VE/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-VE/general.yml b/config/locales/es-VE/general.yml index fd872346f..8443149bb 100644 --- a/config/locales/es-VE/general.yml +++ b/config/locales/es-VE/general.yml @@ -236,7 +236,6 @@ es-VE: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From 48f2065cfe420605df226f29bd00c1be4294e01b Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:05:56 +0200 Subject: [PATCH 021/565] New translations general.yml (Chinese Traditional) --- config/locales/zh-TW/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/zh-TW/general.yml b/config/locales/zh-TW/general.yml index 80aef4fb8..4115536e4 100644 --- a/config/locales/zh-TW/general.yml +++ b/config/locales/zh-TW/general.yml @@ -241,7 +241,6 @@ zh-TW: text_sign_in: 登錄 text_sign_up: 登記 title: 我怎樣能對此文檔作評論? - locale: 英文 notifications: index: empty_notifications: 您沒有新通知。 From 4f70afe61a4c8d18e8e77f6ce991f3c5bd0d2906 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:06:02 +0200 Subject: [PATCH 022/565] New translations rails.yml (Dutch) --- config/locales/nl/rails.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/nl/rails.yml b/config/locales/nl/rails.yml index 2ebeca7fb..04bcbc0a1 100644 --- a/config/locales/nl/rails.yml +++ b/config/locales/nl/rails.yml @@ -50,7 +50,7 @@ nl: - december order: - :day - - :month + - ': month' - :year datetime: distance_in_words: From cd5bbeed9def3b9971b35a8aca9c4617ef37e1de Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:06:23 +0200 Subject: [PATCH 023/565] New translations general.yml (French) --- config/locales/fr/general.yml | 188 ---------------------------------- 1 file changed, 188 deletions(-) diff --git a/config/locales/fr/general.yml b/config/locales/fr/general.yml index f62b2e943..4698e4e48 100644 --- a/config/locales/fr/general.yml +++ b/config/locales/fr/general.yml @@ -234,194 +234,6 @@ fr: poll_questions: Votes budgets: Budget participatif spending_proposals: Propositions de dépense - mailers: - comment: - hi: Bonjour - new_comment_by_html: Il y a un nouveau commentaire de %{commenter} - subject: Quelqu'un a commenté votre %{commentable} - title: Nouveau commentaire - config: - manage_email_subscriptions: Pour ne plus recevoir ces emails, changer vos options - dans - email_verification: - click_here_to_verify: ce lien - instructions_2_html: Cet email va vérifier votre compte avec %{document_type} - %{document_number}. Si ce compte ne vous appartient pas veuillez ne pas - cliquer sur le lien et ignorer cet email. - instructions_html: Pour confirmer la vérification de votre compte sur le Portail - Gouvernement ouvert de la Mairie de Madrid, vous devez cliquer %{verification_link}. - subject: Confirmer votre email - thanks: Merci beaucoup - title: Confirmer votre compte en utilisant le lien suivant - reply: - hi: Bonjour - new_reply_by_html: Il y a une nouvelle réponse de %{commenter} sur votre - commentaire à propos de - subject: Quelqu'un a répondu à votre commentaire - title: Nouvelle réponse à votre commentaire - management: - account_info: - change_user: Changer d'utilisateur - document_number_label: Numéro de document - document_type_label: Type de document - email_label: 'Courriel:' - identified_label: 'Identifié comme :' - username_label: 'Nom d''utilisateur :' - check: Vérifier - dashboard: - index: - title: Gestion - document_number: Numéro de document - document_type_label: Type de document - document_verifications: - already_verified: Cet utilisateur est déjà vérifié. - has_no_account_html: Pour créer un compte, vous pouvez aller sur %{link} et - cliquer sur 'S'enregistrer' dans le coin supérieur gauche de votre - écran. - in_census_has_following_permissions: 'Cet utilisateur peut participer dans la - plateforme avec les autorisations suivantes :' - not_in_census: Ce document n'est pas enregistré. - not_in_census_info: 'Les personnes non-enregistrées dans le recensement peuvent - participer dans la plateforme avec les autorisations suivantes :' - please_check_account_data: Merci de vérifier que vos informations ci-dessus - sont correctes. - title: Gestion d'utilisateur - under_age: Vous devez avoir plus de 16 ans pour vérifier votre compte. - verify: Vérifier - email_label: Courriel - email_verifications: - already_verified: Ce compte d'utilisateur est déjà vérifié. - choose_options: 'Merci de choisir l''une des options suivantes :' - document_found_in_census: Ce document a été trouvé dans le Recensement, mais - aucun compte d'utilisateur a été associé. - document_mismatch: 'Cet email appartient à l''utilisateur qui a déjà l''identifiant - suivant associé: %{document_number}(%{document_type})' - email_placeholder: Lui envoyer un courriel pour créer son compte - email_sent_instructions: Afin de vérifier totalement cet utilisateur, l'utilisateur - doit cliquer sur un lien envoyé à son adresse courriel mentionnée au-dessus. - Cette étape est obligatoire afin de confirmer que l'adresse lui appartient - bien. - if_existing_account: Si cette personne a déjà un compte d'utilisateur créé dans - le site, - if_no_existing_account: Si cette personne n'a pas encore créé son compte - introduce_email: Merci de donner le courriel utilisé pour ce compte - send_email: Envoyer un email de vérification - menu: - create_proposal: Créer une proposition - create_spending_proposal: Créer une proposition de dépense - print_proposals: Imprimer les propositions - support_proposals: Soutenir les propositions - title: Gestion - users: Utilisateurs - permissions: - create_proposals: Créer des propositions - debates: Participer aux débats - support_proposals: Soutenir des propositions - vote_proposals: Voter pour des propositions - print_info: Imprimer cet info - print: - proposals_title: 'Propositions :' - proposals: - alert: - unverified_user: L'utilisateur n'est pas vérifié - create_proposal: Créer une proposition - print: - print_button: Imprimer - sessions: - signed_out: Déconnexion réussie - signed_out_managed_user: Déconnexion de l'utilisateur réussie - spending_proposals: - alert: - unverified_user: L'utilisateur n'est pas vérifié - create: Créer une proposition de dépense - username_label: Nom d'utilisateur - users: - create_user: Créer un nouveau compte - create_user_info: 'Nous allons créer avec les donnés suivantes :' - create_user_submit: Créer l'utilisateur - create_user_success_html: Nous avons envoyé un courriel à l'adresse %{email} - afin de confirmer que l'adresse lui appartient bien. L'utilisateur doit cliquer - sur un lien envoyé à cette adresse. Puis il faudra créer un mot de pass - map: - proposal_for_district: Commencer une proposition pour votre secteur - select_district: Portée de l'opération - start_proposal: Créer une proposition - title: Secteurs - moderation: - comments: - index: - block_authors: Bloquer les auteurs - confirm: "Êtes-vous certain(e) ?" - filter: Filtre - filters: - all: Tous - pending_flag_review: En attente - with_ignored_flag: Marqué comme vu - headers: - comment: Commentaire - moderate: Modérer - hide_comments: Cacher commentaires - ignore_flags: Marquer comme vu - order: Ordonner - orders: - flags: Le plus signalé - newest: Le plus récent - title: Commentaires - dashboard: - index: - title: Modération - debates: - index: - block_authors: Bloquer les auteurs - confirm: "Êtes-vous certain(e) ?" - filter: Filtre - filters: - all: Tous - pending_flag_review: En attente - with_ignored_flag: Marqué comme vu - headers: - debate: Débattre - moderate: Modérer - hide_debates: Cacher les débats - ignore_flags: Marquer comme vu - order: Ordonner - orders: - created_at: Les plus récents - flags: Les plus signalés - title: Débats - menu: - flagged_comments: Commentaires - flagged_debates: Débats - proposals: Propositions - users: Bloquer les utilisateurs - proposals: - index: - block_authors: Bloquer les auteurs - confirm: "Êtes-vous certain(e) ?" - filter: Filtre - filters: - all: Tous - pending_flag_review: Modération en attente - with_ignored_flag: Marquer comme vu - headers: - moderate: Modérere - proposal: Proposition - hide_proposals: Cacher les propositions - ignore_flags: Marquer comme vu - order: Ordonner par - orders: - created_at: Les plus récentes - flags: Les plus signalées - title: Propositions - users: - index: - hidden: Bloqué - hide: Bloquer - search: Chercher - search_placeholder: Courrier ou nom d'utilisateur - title: Bloquer les utilisateurs - notice_hide: Utilisateur bloqué. Toutes les contributions (débats et commentaires) - ont été cachées. notification_item: new_notifications: one: Vous avez une nouvelle notification From 6f1c37ab159c89edf67d335a4e0acf1f24d1f1ac Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:06:28 +0200 Subject: [PATCH 024/565] New translations admin.yml (French) --- config/locales/fr/admin.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/config/locales/fr/admin.yml b/config/locales/fr/admin.yml index 6a90dd5de..92965fbb2 100644 --- a/config/locales/fr/admin.yml +++ b/config/locales/fr/admin.yml @@ -546,20 +546,19 @@ fr: pages: Pages personnalisées images: Images personnalisées content_blocks: Blocs de contenu personnalisés - information_texts: "Textes d'information personnalisés" + information_texts: Textes d’information personnalisés information_texts_menu: debates: "Débats" community: "Communauté" proposals: "Propositions" - polls: "Votes" - layouts: "Dessins" + polls: "Sondages" + layouts: "Mise en page" mailers: "Courriels" management: "Gestion" guides: "Guides" welcome: "Bienvenue" buttons: save: "Sauvegarder" - title_categories: Catégories title_moderated_content: Contenu modéré title_budgets: Budgets title_polls: Votes From 5e2b4dcfd9323b2302012723a144e7fa0de47c6d Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:06:31 +0200 Subject: [PATCH 025/565] New translations rails.yml (Galician) --- config/locales/gl/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/gl/rails.yml b/config/locales/gl/rails.yml index d5c8d316b..91ac339cb 100644 --- a/config/locales/gl/rails.yml +++ b/config/locales/gl/rails.yml @@ -49,9 +49,9 @@ gl: - Novembro - Decembro order: - - :day - - :month - - :year + - ':día' + - :mes + - :ano datetime: distance_in_words: about_x_hours: From a77a244fc07a6db7bf971f9bd92cfd0d9c42c84e Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:06:41 +0200 Subject: [PATCH 026/565] New translations general.yml (Galician) --- config/locales/gl/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/gl/general.yml b/config/locales/gl/general.yml index e1d00b556..2171e8ecc 100644 --- a/config/locales/gl/general.yml +++ b/config/locales/gl/general.yml @@ -249,7 +249,6 @@ gl: text_sign_in: iniciar sesión text_sign_up: rexístrate title: Como podo comentar este documento? - locale: Galego notifications: index: empty_notifications: Non tes notificacións novas. From 884378c16a958aa22ec0ea60f8479193577ff46a Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:07:00 +0200 Subject: [PATCH 027/565] New translations rails.yml (French) --- config/locales/fr/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/fr/rails.yml b/config/locales/fr/rails.yml index c67e4db88..4e68aff44 100644 --- a/config/locales/fr/rails.yml +++ b/config/locales/fr/rails.yml @@ -49,9 +49,9 @@ fr: - Novembre - Décembre order: - - :day - - :month - - :year + - ':année' + - :mois + - :jour datetime: distance_in_words: about_x_hours: From 82a9ac3a935490312d9530ee30a645e24871489e Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:08:34 +0200 Subject: [PATCH 028/565] New translations moderation.yml (Spanish) --- config/locales/es/moderation.yml | 40 -------------------------------- 1 file changed, 40 deletions(-) diff --git a/config/locales/es/moderation.yml b/config/locales/es/moderation.yml index a1caac77c..43fc98790 100644 --- a/config/locales/es/moderation.yml +++ b/config/locales/es/moderation.yml @@ -46,9 +46,7 @@ es: menu: flagged_comments: Comentarios flagged_debates: Debates - flagged_investments: Proyectos de gasto proposals: Propuestas - proposal_notifications: Notificaciones de propuestas users: Bloquear usuarios proposals: index: @@ -69,44 +67,6 @@ es: created_at: Más recientes flags: Más denunciadas title: Propuestas - budget_investments: - index: - block_authors: Bloquear autores - confirm: '¿Estás seguro?' - filter: Filtro - filters: - all: Todos - pending_flag_review: Pendientes de revisión - with_ignored_flag: Marcadas como revisadas - headers: - moderate: Moderar - budget_investment: Proyecto de gasto - hide_budget_investments: Ocultar proyectos de gasto - ignore_flags: Marcar como revisadas - order: Ordenar por - orders: - created_at: Más recientes - flags: Más denunciadas - title: Proyectos de gasto - proposal_notifications: - index: - block_authors: Bloquear autores - confirm: '¿Estás seguro?' - filter: Filtro - filters: - all: Todas - pending_review: Pendientes de revisión - ignored: Marcadas como revisadas - headers: - moderate: Moderar - proposal_notification: Notificación de propuesta - hide_proposal_notifications: Ocultar notificaciones - ignore_flags: Marcar como revisadas - order: Ordenar por - orders: - created_at: Más recientes - moderated: Moderadas - title: Notificaciones de propuestas users: index: hidden: Bloqueado From c93a0f10fb8cfdd862347b9a32776e3bfab7f773 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:08:35 +0200 Subject: [PATCH 029/565] New translations budgets.yml (Spanish) --- config/locales/es/budgets.yml | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/config/locales/es/budgets.yml b/config/locales/es/budgets.yml index 11592e9c8..4c32a9ba1 100644 --- a/config/locales/es/budgets.yml +++ b/config/locales/es/budgets.yml @@ -56,7 +56,6 @@ es: see_results: Ver resultados section_footer: title: Ayuda sobre presupuestos participativos - description: Con los presupuestos participativos la ciudadanía decide a qué proyectos va destinada una parte del presupuesto. investments: form: tag_category_label: "Categorías" @@ -120,12 +119,9 @@ es: milestones_tab: Seguimiento no_milestones: No hay hitos definidos milestone_publication_date: "Publicado el %{publication_date}" - milestone_status_changed: El proyecto ha cambiado al estado author: Autor - project_unfeasible_html: 'Este proyecto de gasto ha sido marcado como inviable y no pasará a la fase de votación.' - project_selected_html: 'Este proyecto de gasto ha sido seleccionado para la fase de votación.' - project_winner: 'Proyecto de gasto ganador' - project_not_selected_html: 'Este proyecto de gasto no ha sido seleccionado para la fase de votación.' + project_unfeasible_html: 'Este proyecto de inversión ha sido marcado como inviable y no pasará a la fase de votación.' + project_not_selected_html: 'Este proyecto de inversión no ha sido seleccionado para la fase de votación.' wrong_price_format: Solo puede incluir caracteres numéricos investment: add: Votar From 7dfc576aa7d9a0427d10389d147ba5029d9df235 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:08:36 +0200 Subject: [PATCH 030/565] New translations devise.yml (Spanish) --- config/locales/es/devise.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es/devise.yml b/config/locales/es/devise.yml index 9cd10c0a0..8db935332 100644 --- a/config/locales/es/devise.yml +++ b/config/locales/es/devise.yml @@ -37,7 +37,6 @@ es: updated: "Tu contraseña ha cambiado correctamente. Has sido identificado correctamente." updated_not_active: "Tu contraseña se ha cambiado correctamente." registrations: - destroyed: "¡Adiós! Tu cuenta ha sido cancelada. Esperamos volver a verte pronto." signed_up: "¡Bienvenido! Has sido identificado." signed_up_but_inactive: "Te has registrado correctamente, pero no has podido iniciar sesión porque tu cuenta no ha sido activada." signed_up_but_locked: "Te has registrado correctamente, pero no has podido iniciar sesión porque tu cuenta está bloqueada." From 60f8675a3814f45d8707c1825f107fb4b8f4b935 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:08:38 +0200 Subject: [PATCH 031/565] New translations pages.yml (Spanish) --- config/locales/es/pages.yml | 102 +++--------------------------------- 1 file changed, 6 insertions(+), 96 deletions(-) diff --git a/config/locales/es/pages.yml b/config/locales/es/pages.yml index 74fc870ee..412a4ee23 100644 --- a/config/locales/es/pages.yml +++ b/config/locales/es/pages.yml @@ -1,13 +1,9 @@ es: pages: - conditions: - title: Condiciones de uso - subtitle: AVISO LEGAL SOBRE LAS CONDICIONES DE USO, PRIVACIDAD Y PROTECCIÓN DE DATOS PERSONALES DEL PORTAL DE GOBIERNO ABIERTO - description: Página de información sobre las condiciones de uso, privacidad y protección de datos personales. general_terms: Términos y Condiciones help: title: "%{org} es una plataforma de participación ciudadana" - guide: 'Esta guía explica para qué sirven y cómo funcionan cada una de las secciones de %{org}.' + guide: "Esta guía explica para qué sirven y cómo funcionan cada una de las secciones de %{org}." menu: debates: "Debates" proposals: "Propuestas" @@ -28,7 +24,6 @@ es: description: "En la sección de %{link} puedes plantear propuestas para que el Ayuntamiento las lleve a cabo. Las propuestas recaban apoyos, y si alcanzan los apoyos suficientes se someten a votación ciudadana. Las propuestas aprobadas en estas votaciones ciudadanas son asumidas por el Ayuntamiento y se llevan a cabo." link: "propuestas ciudadanas" image_alt: "Botón para apoyar una propuesta" - figcaption_html: 'Botón para "Apoyar" una propuesta.' budgets: title: "Presupuestos participativos" description: "La sección de %{link} sirve para que la gente decida de manera directa a qué se destina una parte del presupuesto municipal." @@ -66,96 +61,11 @@ es: Si eres programador, puedes ver el código y ayudarnos a mejorarlo en [aplicación CONSUL](https://github.com/consul/consul 'github consul'). titles: how_to_use: Utilízalo en tu municipio - privacy: - title: Política de privacidad - subtitle: AVISO DE PROTECCIÓN DE DATOS - info_items: - - text: La navegación por la informacion disponible en el Portal de Gobierno Abierto es anónima. - - text: Para utilizar los servicios contenidos en el Portal de Gobierno Abierto el usuario deberá darse de alta y proporcionar previamente los datos de carácter personal segun la informacion especifica que consta en cada tipo de alta. - - text: 'Los datos aportados serán incorporados y tratados por el Ayuntamiento de acuerdo con la descripción del fichero siguiente:' - - subitems: - - field: 'Nombre del fichero/tratamiento:' - description: NOMBRE DEL FICHERO - - field: 'Finalidad del fichero/tratamiento:' - description: Gestionar los procesos participativos para el control de la habilitación de las personas que participan en los mismos y recuento meramente numérico y estadístico de los resultados derivados de los procesos de participación ciudadana - - field: 'Órgano responsable:' - description: ÓRGANO RESPONSABLE - - text: El interesado podrá ejercer los derechos de acceso, rectificación, cancelación y oposición, ante el órgano responsable indicado todo lo cual se informa en el cumplimiento del artículo 5 de la Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal. - - text: Como principio general, este sitio web no comparte ni revela información obtenida, excepto cuando haya sido autorizada por el usuario, o la informacion sea requerida por la autoridad judicial, ministerio fiscal o la policia judicial, o se de alguno de los supuestos regulados en el artículo 11 de la Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal. - accessibility: - title: Accesibilidad - description: |- - La accesibilidad web se refiere a la posibilidad de acceso a la web y a sus contenidos por todas las personas, independientemente de las discapacidades (físicas, intelectuales o técnicas) que puedan presentar o de las que se deriven del contexto de uso (tecnológicas o ambientales). - - Cuando los sitios web están diseñados pensando en la accesibilidad, todos los usuarios pueden acceder en condiciones de igualdad a los contenidos, por ejemplo: - examples: - - Proporcionando un texto alternativo a las imágenes, los usuarios invidentes o con problemas de visión pueden utilizar lectores especiales para acceder a la información. - - Cuando los vídeos disponen de subtítulos, los usuarios con dificultades auditivas pueden entenderlos plenamente. - - Si los contenidos están escritos en un lenguaje sencillo e ilustrados, los usuarios con problemas de aprendizaje están en mejores condiciones de entenderlos. - - Si el usuario tiene problemas de movilidad y le cuesta usar el ratón, las alternativas con el teclado le ayudan en la navegación. - keyboard_shortcuts: - title: '"Atajos" de teclado' - navigation_table: - description: Para poder navegar por este sitio web de forma accesible, se han programado un grupo de teclas de acceso rápido que recogen las principales secciones de interés general en los que está organizado el sitio. - caption: Atajos de teclado para el menú de navegación - key_header: Tecla - page_header: Página - rows: - - key_column: 0 - page_column: Inicio - - key_column: 1 - page_column: Debates - - key_column: 2 - page_column: Propuestas - - key_column: 3 - page_column: Votaciones - - key_column: 4 - page_column: Presupuestos participativos - - key_column: 5 - page_column: Procesos legislativos - browser_table: - description: 'Dependiendo del sistema operativo y del navegador que se utilice, la combinación de teclas será la siguiente:' - caption: Combinación de teclas dependiendo del sistema operativo y navegador - browser_header: Navegador - key_header: Combinación de teclas - rows: - - browser_column: Explorer - key_column: ALT + atajo y luego ENTER - - browser_column: Firefox - key_column: ALT + MAYÚSCULAS + atajo - - browser_column: Chrome - key_column: ALT + atajo (si es un MAC, CTRL + ALT + atajo) - - browser_column: Safari - key_column: ALT + atajo (si es un MAC, CMD + atajo) - - browser_column: Opera - key_column: MAYÚSCULAS + ESC + atajo - textsize: - title: Tamaño del texto - browser_settings_table: - description: El diseño accesible de este sitio web permite que el usuario pueda elegir el tamaño del texto que le convenga. Esta acción puede llevarse a cabo de diferentes maneras según el navegador que se utilice. - browser_header: Navegador - action_header: Acción a realizar - rows: - - browser_column: Explorer - action_column: Ver > Tamaño del texto - - browser_column: Firefox - action_column: Ver > Tamaño - - browser_column: Chrome - action_column: Ajustes (icono) > Opciones > Avanzada > Contenido web > Tamaño fuente - - browser_column: Safari - action_column: Visualización > ampliar/reducir - - browser_column: Opera - action_column: Ver > escala - browser_shortcuts_table: - description: 'Otra forma de modificar el tamaño de texto es utilizar los atajos de teclado definidos en los navegadores, en particular la combinación de teclas:' - rows: - - shortcut_column: CTRL y + (CMD y + en MAC) - description_column: para aumentar el tamaño del texto - - shortcut_column: CTRL y - (CMD y - en MAC) - description_column: para reducir el tamaño del texto - compatibility: - title: Compatibilidad con estándares y diseño visual - description_html: 'Todas las páginas de este sitio web cumplen con las Pautas de Accesibilidad o Principios Generales de Diseño Accesible establecidas por el Grupo de Trabajo WAI perteneciente al W3C.' + titles: + accessibility: Accesibilidad + conditions: Condiciones de uso + help: "¿Qué es %{org}? - Participación ciudadana" + privacy: Política de Privacidad verify: code: Código que has recibido en tu carta email: Email From 8404d0ffbd6a5f2b0e10209655a60d6541c34c0c Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:08:39 +0200 Subject: [PATCH 032/565] New translations devise_views.yml (Spanish) --- config/locales/es/devise_views.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es/devise_views.yml b/config/locales/es/devise_views.yml index 3f45671e5..e9381701a 100644 --- a/config/locales/es/devise_views.yml +++ b/config/locales/es/devise_views.yml @@ -16,7 +16,6 @@ es: confirmation_instructions: confirm_link: Confirmar mi cuenta text: 'Puedes confirmar tu cuenta de correo electrónico en el siguiente enlace:' - title: Bienvenido/a welcome: Bienvenido/a reset_password_instructions: change_link: Cambiar mi contraseña From 7de5ed7dd32cf94b9e744df162083fef15594aeb Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:08:40 +0200 Subject: [PATCH 033/565] New translations mailers.yml (Spanish) --- config/locales/es/mailers.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/config/locales/es/mailers.yml b/config/locales/es/mailers.yml index 8f1bd9d2f..58a6aec67 100644 --- a/config/locales/es/mailers.yml +++ b/config/locales/es/mailers.yml @@ -11,7 +11,6 @@ es: email_verification: click_here_to_verify: en este enlace instructions_2_html: Este email es para verificar tu cuenta con %{document_type} %{document_number}. Si esos no son tus datos, por favor no pulses el enlace anterior e ignora este email. - instructions_html: Para terminar de verificar tu cuenta de usuario pulsa %{verification_link}. subject: Verifica tu email thanks: Muchas gracias. title: Verifica tu cuenta con el siguiente enlace @@ -44,7 +43,6 @@ es: title_html: "Has enviado un nuevo mensaje privado a %{receiver} con el siguiente contenido:" user_invite: ignore: "Si no has solicitado esta invitación no te preocupes, puedes ignorar este correo." - text: "¡Gracias por solicitar unirte a %{org}! En unos segundos podrás empezar a participar, sólo tienes que rellenar el siguiente formulario:" thanks: "Muchas gracias." title: "Bienvenido a %{org}" button: Completar registro @@ -60,11 +58,11 @@ es: share: "Comparte tu proyecto" budget_investment_unfeasible: hi: "Estimado usuario," - new_html: 'Por todo ello, te invitamos a que elabores un nuevo proyecto de gasto que se ajuste a las condiciones de este proceso. Esto lo puedes hacer en este enlace: %{url}.' - new_href: "nuevo proyecto de gasto" + new_html: "Por todo ello, te invitamos a que elabores un nuevo proyecto de gasto que se ajuste a las condiciones de este proceso. Esto lo puedes hacer en este enlace: %{url}." + new_href: "nueva propuesta de inversión" sincerely: "Atentamente" sorry: "Sentimos las molestias ocasionadas y volvemos a darte las gracias por tu inestimable participación." - subject: "Tu proyecto de gasto '%{code}' ha sido marcado como inviable" + subject: "Tu propuesta de inversión '%{code}' ha sido marcada como inviable" budget_investment_selected: subject: "Tu propuesta de inversión '%{code}' ha sido seleccionada" hi: "Estimado/a usuario/a" From df699d57f835c335fc6d2de4252c3befc324bbdf Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:08:42 +0200 Subject: [PATCH 034/565] New translations activerecord.yml (Spanish) --- config/locales/es/activerecord.yml | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/config/locales/es/activerecord.yml b/config/locales/es/activerecord.yml index b450e735d..c8d27105c 100644 --- a/config/locales/es/activerecord.yml +++ b/config/locales/es/activerecord.yml @@ -8,14 +8,14 @@ es: one: "Presupuesto participativo" other: "Presupuestos participativos" budget/investment: - one: "Proyecto de inversión" - other: "Proyectos de inversión" + one: "Proyecto de gasto" + other: "Proyectos de gasto" budget/investment/milestone: one: "hito" other: "hitos" budget/investment/status: - one: "Estado de proyecto" - other: "Estados de proyecto" + one: "Estado de la inversión" + other: "Estados de las inversiones" comment: one: "Comentario" other: "Comentarios" @@ -63,7 +63,7 @@ es: other: "Propuestas ciudadanas" spending_proposal: one: "Proyecto de inversión" - other: "Proyectos de inversión" + other: "Proyectos de gasto" site_customization/page: one: Página other: Páginas @@ -76,9 +76,6 @@ es: legislation/process: one: "Proceso" other: "Procesos" - legislation/proposal: - one: "Propuesta" - other: "Propuestas" legislation/draft_versions: one: "Versión borrador" other: "Versiones borrador" @@ -108,7 +105,7 @@ es: other: "Votaciones" proposal_notification: one: "Notificación de propuesta" - other: "Notificaciones de propuestas" + other: "Notificaciónes de propuesta" attributes: budget: name: "Nombre" @@ -129,12 +126,12 @@ es: administrator_id: "Administrador" location: "Ubicación (opcional)" organization_name: "Si estás proponiendo en nombre de una organización o colectivo, o en nombre de más gente, escribe su nombre" - image: "Imagen descriptiva de la propuesta de inversión" + image: "Imagen descriptiva del proyecto de gasto" image_title: "Título de la imagen" budget/investment/milestone: - status_id: "Estado actual del proyecto (opcional)" + status_id: "Estado actual de la inversión (opcional)" title: "Título" - description: "Descripción (opcional si se ha asignado un estado de proyecto)" + description: "Descripción (opcional si hay una condición asignada)" publication_date: "Fecha de publicación" budget/investment/status: name: "Nombre" @@ -192,7 +189,7 @@ es: external_url: "Enlace a documentación adicional" signature_sheet: signable_type: "Tipo de hoja de firmas" - signable_id: "ID Propuesta ciudadana/Propuesta inversión" + signable_id: "ID Propuesta ciudadana/Proyecto de gasto" document_numbers: "Números de documentos" site_customization/page: content: Contenido @@ -289,7 +286,7 @@ es: admin_notification: attributes: segment_recipient: - invalid: "El segmento de usuarios es inválido" + invalid: "El usuario del destinatario es inválido" map_location: attributes: map: From 995833f5c9e64180d75f4abafac93dac4836b2e5 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:08:46 +0200 Subject: [PATCH 035/565] New translations valuation.yml (Spanish) --- config/locales/es/valuation.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es/valuation.yml b/config/locales/es/valuation.yml index 5cb45e52d..7d722e841 100644 --- a/config/locales/es/valuation.yml +++ b/config/locales/es/valuation.yml @@ -35,7 +35,6 @@ es: table_title: Título table_heading_name: Nombre de la partida table_actions: Acciones - no_investments: "No hay proyectos de gasto." show: back: Volver title: Propuesta de inversión From 4d5a07e915d27dbff8606f1c61533ac550362702 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:08:48 +0200 Subject: [PATCH 036/565] New translations legislation.yml (Spanish) --- config/locales/es/legislation.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/config/locales/es/legislation.yml b/config/locales/es/legislation.yml index 03f4724fd..d5d4b531c 100644 --- a/config/locales/es/legislation.yml +++ b/config/locales/es/legislation.yml @@ -52,9 +52,6 @@ es: more_info: Más información y contexto proposals: empty_proposals: No hay propuestas - filters: - random: Aleatorias - winners: Seleccionadas debate: empty_questions: No hay preguntas participate: Realiza tus aportaciones al debate previo participando en los siguientes temas. @@ -85,7 +82,6 @@ es: key_dates: Fechas clave debate_dates: Debate previo draft_publication_date: Publicación borrador - allegations_dates: Comentarios result_publication_date: Publicación resultados proposals_dates: Propuestas questions: From bf9a31e65757083b4ef3246d44569adcaf44ea6b Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:08:51 +0200 Subject: [PATCH 037/565] New translations general.yml (Spanish) --- config/locales/es/general.yml | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/config/locales/es/general.yml b/config/locales/es/general.yml index e1f86a487..3e54cf306 100644 --- a/config/locales/es/general.yml +++ b/config/locales/es/general.yml @@ -20,9 +20,6 @@ es: email_on_direct_message_label: Recibir emails con mensajes privados email_digest_label: Recibir resumen de notificaciones sobre propuestas official_position_badge_label: Mostrar etiqueta de tipo de usuario - recommendations: Recomendaciones - show_debates_recommendations: Mostrar recomendaciones en el listado de debates - show_proposals_recommendations: Mostrar recomendaciones en el listado de propuestas title: Mi cuenta user_permission_debates: Participar en debates user_permission_info: Con tu cuenta ya puedes... @@ -113,10 +110,6 @@ es: recommendations: without_results: No existen debates relacionados con tus intereses without_interests: Sigue propuestas para que podamos darte recomendaciones - disable: "Si ocultas las recomendaciones para debates, no se volverán a mostrar. Puedes volver a activarlas en 'Mi cuenta'" - actions: - success: "Las recomendaciones de debates han sido desactivadas" - error: "Ha ocurrido un error. Por favor dirígete al apartado 'Mi cuenta' para desactivar las recomendaciones manualmente" search_form: button: Buscar placeholder: Buscar debates... @@ -321,7 +314,6 @@ es: geozone: Ámbito de actuación proposal_external_url: Enlace a documentación adicional proposal_question: Pregunta de la propuesta - proposal_question_example_html: "Debe ser resumida en una pregunta cuya respuesta sea Sí o No" proposal_responsible_name: Nombre y apellidos de la persona que hace esta propuesta proposal_responsible_name_note: "(individualmente o como representante de un colectivo; no se mostrará públicamente)" proposal_summary: Resumen de la propuesta @@ -354,10 +346,6 @@ es: recommendations: without_results: No existen propuestas relacionadas con tus intereses without_interests: Sigue propuestas para que podamos darte recomendaciones - disable: "Si ocultas las recomendaciones para propuestas, no se volverán a mostrar. Puedes volver a activarlas en 'Mi cuenta'" - actions: - success: "Las recomendaciones de propuestas han sido desactivadas" - error: "Ha ocurrido un error. Por favor dirígete al apartado 'Mi cuenta' para desactivar las recomendaciones manualmente" retired_proposals: Propuestas retiradas retired_proposals_link: "Propuestas retiradas por sus autores" retired_links: @@ -386,7 +374,6 @@ es: help: Ayuda sobre las propuestas section_footer: title: Ayuda sobre las propuestas - description: Las propuestas ciudadanas son una oportunidad para que los vecinos y colectivos decidan directamente cómo quieren que sea su ciudad, después de conseguir los apoyos suficientes y de someterse a votación ciudadana. new: form: submit_button: Crear propuesta @@ -424,7 +411,6 @@ es: supports_necessary: "%{number} apoyos necesarios" total_percent: 100% archived: "Esta propuesta ha sido archivada y ya no puede recoger apoyos." - successful: "Esta propuesta ha alcanzado los apoyos necesarios." show: author_deleted: Usuario eliminado code: 'Código de la propuesta:' @@ -468,16 +454,12 @@ es: geozone_restricted: "Distritos" geozone_info: "Pueden participar las personas empadronadas en: " already_answer: "Ya has participado en esta votación" - not_logged_in: "Necesitas iniciar sesión o registrarte para participar" - unverified: "Por favor verifica tu cuenta para participar" - cant_answer: "Esta votación no está disponible en tu zona" section_header: icon_alt: Icono de Votaciones title: Votaciones help: Ayuda sobre las votaciones section_footer: title: Ayuda sobre las votaciones - description: Las votaciones ciudadanas son un mecanismo de participación por el que la ciudadanía con derecho a voto puede tomar decisiones de forma directa. no_polls: "No hay votaciones abiertas." show: already_voted_in_booth: "Ya has participado en esta votación en urnas presenciales, no puedes volver a participar." @@ -624,10 +606,6 @@ es: title: Modo de vista cards: Tarjetas list: Lista - recommended_index: - title: Recomendaciones - see_more: Ver más recomendaciones - hide: Ocultar recomendaciones social: blog: "Blog de %{org}" facebook: "Facebook de %{org}" @@ -842,10 +820,3 @@ es: admin/widget: header: title: Administración - annotator: - help: - alt: Selecciona el texto que quieres comentar y pulsa en el botón con el lápiz. - text: Para comentar este documento debes %{sign_in} o %{sign_up}. Después selecciona el texto que quieres comentar y pulsa en el botón con el lápiz. - text_sign_in: iniciar sesión - text_sign_up: registrarte - title: "¿Cómo puedo comentar este documento?" From 14a541b4ee53471f56275bea09d4d9d0e43e3653 Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:08:54 +0200 Subject: [PATCH 038/565] New translations admin.yml (Spanish) --- config/locales/es/admin.yml | 206 +++--------------------------------- 1 file changed, 17 insertions(+), 189 deletions(-) diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index db2ec6dd9..fa8ddf68e 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -31,15 +31,6 @@ es: target_url: Enlace post_started_at: Inicio de publicación post_ended_at: Fin de publicación - sections_label: Secciones en las que aparece - sections: - homepage: Homepage - debates: Debates - proposals: Propuestas - budgets: Presupuestos participativos - help_page: Página de ayuda - background_color: Color de fondo - font_color: Color del texto edit: editing: Editar el banner form: @@ -62,12 +53,11 @@ es: content: Contenido filter: Mostrar filters: - all: Todo + all: Todos on_comments: Comentarios on_debates: Debates on_proposals: Propuestas on_users: Usuarios - on_system_emails: Emails del sistema title: Actividad de los Moderadores type: Tipo no_activity: No hay actividad de moderadores. @@ -82,17 +72,17 @@ es: budget_investments: Gestionar proyectos de gasto table_name: Nombre table_phase: Fase - table_investments: Propuestas de inversión + table_investments: Proyectos de gasto table_edit_groups: Grupos de partidas table_edit_budget: Editar edit_groups: Editar grupos de partidas edit_budget: Editar presupuesto create: - notice: '¡Nueva campaña de presupuestos participativos creada con éxito!' + notice: '¡Presupuestos participativos creados con éxito!' update: - notice: Campaña de presupuestos participativos actualizada + notice: Presupuestos participativos actualizados edit: - title: Editar campaña de presupuestos participativos + title: Editar presupuestos participativos delete: Eliminar presupuesto phase: Fase dates: Fechas @@ -128,8 +118,6 @@ es: table_amount: Cantidad table_population: Población population_info: "El campo población de las partidas presupuestarias se usa con fines estadísticos únicamente, con el objetivo de mostrar el porcentaje de votos habidos en cada partida que represente un área con población. Es un campo opcional, así que puedes dejarlo en blanco si no aplica." - max_votable_headings: "Máximo número de partidas en que un usuario puede votar" - current_of_max_headings: "%{current} de %{max}" winners: calculate: Calcular propuestas ganadoras calculated: Calculando ganadoras, puede tardar un minuto. @@ -159,24 +147,23 @@ es: title: Título supports: Apoyos filters: - all: Todas + all: Todos without_admin: Sin administrador without_valuator: Sin evaluador under_valuation: En evaluación valuation_finished: Evaluación finalizada feasible: Viables - selected: Seleccionadas + selected: Seleccionados undecided: Sin decidir unfeasible: Inviables - min_total_supports: Apoyos mínimos - winners: Ganadores + winners: Ganadoras one_filter_html: "Filtros en uso: %{filter}" two_filters_html: "Filtros en uso: %{filter}, %{advanced_filters}" buttons: filter: Filtrar download_current_selection: "Descargar selección actual" - no_budget_investments: "No hay proyectos de inversión." - title: Propuestas de inversión + no_budget_investments: "No hay proyectos de gasto." + title: Proyectos de gasto assigned_admin: Administrador asignado no_admin_assigned: Sin admin asignado no_valuators_assigned: Sin evaluador @@ -187,27 +174,13 @@ es: undecided: "Sin decidir" selected: "Seleccionada" select: "Seleccionar" - list: - id: ID - title: Título - supports: Apoyos - admin: Administrador - valuator: Evaluador - valuation_group: Grupos evaluadores - geozone: Ámbito de actuación - feasibility: Viabilidad - valuation_finished: Ev. Fin. - selected: Seleccionado - visible_to_valuators: Mostrar a evaluadores - author_username: Usuario autor - incompatible: Incompatible cannot_calculate_winners: El presupuesto debe estar en las fases "Votación final", "Votación finalizada" o "Resultados" para poder calcular las propuestas ganadoras see_results: "Ver resultados" show: assigned_admin: Administrador asignado assigned_valuators: Evaluadores asignados classification: Clasificación - info: "%{budget_name} - Grupo: %{group_name} - Propuesta de inversión %{id}" + info: "%{budget_name} - Grupo: %{group_name} - Proyecto de gasto %{id}" edit: Editar edit_classification: Editar clasificación by: Autor @@ -261,16 +234,12 @@ es: table_title: "Título" table_description: "Descripción" table_publication_date: "Fecha de publicación" - table_status: Estado table_actions: "Acciones" delete: "Eliminar hito" no_milestones: "No hay hitos definidos" image: "Imagen" show_image: "Mostrar imagen" documents: "Documentos" - form: - admin_statuses: Gestionar estados de proyectos - no_statuses_defined: No hay estados definidos new: creating: Crear hito date: Fecha @@ -278,31 +247,11 @@ es: edit: title: Editar hito create: - notice: Nuevo hito creado con éxito! + notice: '¡Nuevo hito creado con éxito!' update: notice: Hito actualizado delete: notice: Hito borrado correctamente - statuses: - index: - title: Estados de proyectos - empty_statuses: Aún no se ha creado ningún estado de proyecto - new_status: Crear nuevo estado de proyecto - table_name: Nombre - table_description: Descripción - table_actions: Acciones - delete: Borrar - edit: Editar - edit: - title: Editar estado de proyecto - update: - notice: Estado de proyecto editado correctamente - new: - title: Crear estado de proyecto - create: - notice: Estado de proyecto creado correctamente - delete: - notice: Estado de proyecto eliminado correctamente comments: index: filter: Filtro @@ -337,21 +286,12 @@ es: without_confirmed_hide: Pendientes title: Usuarios bloqueados user: Usuario - no_hidden_users: No hay uusarios bloqueados. + no_hidden_users: No hay usuarios bloqueados. show: email: 'Email:' hidden_at: 'Bloqueado:' registered_at: 'Fecha de alta:' title: Actividad del usuario (%{user}) - hidden_budget_investments: - index: - filter: Filtro - filters: - all: Todos - with_confirmed_hide: Confirmados - without_confirmed_hide: Pendientes - title: Proyectos de gasto ocultos - no_hidden_budget_investments: No hay proyectos de gasto ocultos legislation: processes: create: @@ -371,8 +311,7 @@ es: form: enabled: Habilitado process: Proceso - debate_phase: Fase de debate - allegations_phase: Fase de comentarios + debate_phase: Fase previa proposals_phase: Fase de propuestas start: Inicio end: Fin @@ -394,12 +333,6 @@ es: back: Volver title: Crear nuevo proceso de legislación colaborativa submit_button: Crear proceso - proposals: - select_order: Ordenar por - orders: - id: Id - title: Título - supports: Apoyos process: title: Proceso comments: Comentarios @@ -416,15 +349,9 @@ es: proposals: index: back: Volver - id: Id - title: Título - supports: Apoyos - select: Seleccionar - selected: Seleccionado form: custom_categories: Categorías custom_categories_description: Categorías que el usuario puede seleccionar al crear la propuesta. - custom_categories_placeholder: Escribe las etiquetas que desees separadas por una coma (,) y entrecomilladas ("") draft_versions: create: notice: 'Borrador creado correctamente. Haz click para verlo' @@ -489,7 +416,7 @@ es: form: error: Error form: - add_option: Añadir respuesta cerrada + add_option: +Añadir respuesta cerrada title: Pregunta title_placeholder: Escribe un título a la pregunta value_placeholder: Escribe una respuesta cerrada @@ -532,16 +459,10 @@ es: hidden_comments: Comentarios ocultos hidden_debates: Debates ocultos hidden_proposals: Propuestas ocultas - hidden_budget_investments: Proyectos de gasto ocultos - hidden_proposal_notifications: Notificationes de propuesta ocultas hidden_users: Usuarios bloqueados administrators: Administradores managers: Gestores moderators: Moderadores - messaging_users: Mensajes a usuarios - newsletters: Newsletters - admin_notifications: Notificaciones - system_emails: Emails del sistema emails_download: Descarga de emails valuators: Evaluadores poll_officers: Presidentes de mesa @@ -557,26 +478,12 @@ es: signature_sheets: Hojas de firmas site_customization: content_blocks: Personalizar bloques - information_texts: Personalizar textos - information_texts_menu: - debates: "Debates" - community: "Comunidad" - proposals: "Propuestas" - polls: "Votaciones" - layouts: "Plantillas" - mailers: "Correos" - management: "Gestión" - guides: "Guías" - welcome: "Bienvenido/a" - buttons: - save: "Guardar cambios" title_moderated_content: Contenido moderado title_budgets: Presupuestos title_polls: Votaciones title_profiles: Perfiles title_settings: Configuración title_site_customization: Contenido del sitio - title_booths: Urnas de votación legislation: Legislación colaborativa users: Usuarios administrators: @@ -644,56 +551,6 @@ es: from: Dirección de correo electrónico que aparecerá como remitente de la newsletter body: Contenido del email body_help_text: Así es como verán el email los usuarios - send_alert: ¿Estás seguro/a de que quieres enviar esta newsletter a %{n} usuarios? - admin_notifications: - create_success: Notificación creada correctamente - update_success: Notificación actualizada correctamente - send_success: Notificación enviada correctamente - delete_success: Notificación borrada correctamente - index: - section_title: Envío de notificaciones - new_notification: Crear notificación - title: Título - segment_recipient: Destinatarios - sent: Enviado - actions: Acciones - draft: Borrador - edit: Editar - delete: Borrar - preview: Previsualizar - view: Visualizar - empty_notifications: No hay notificaciones para mostrar - new: - section_title: Nueva notificación - submit_button: Crear notificación - edit: - section_title: Editar notificación - submit_button: Actualizar notificación - show: - section_title: Vista previa de notificación - send: Enviar notificación - will_get_notified: (%{n} usuarios serán notificados) - got_notified: (%{n} usuarios fueron notificados) - sent_at: Enviado - title: Título - body: Texto - link: Enlace - segment_recipient: Destinatarios - preview_guide: "Así es como los usuarios verán la notificación:" - sent_guide: "Así es como los usuarios ven la notificación:" - send_alert: ¿Estás seguro/a de que quieres enviar esta notificación a %{n} usuarios? - system_emails: - preview_pending: - action: Previsualizar Pendientes - preview_of: Vista previa de %{name} - pending_to_be_sent: Este es todo el contenido pendiente de enviar - moderate_pending: Moderar envío de notificación - send_pending : Enviar pendientes - send_pending_notification: Notificaciones pendientes enviadas correctamente - proposal_notification_digest: - title: Resumen de Notificationes de Propuestas - description: Reune todas las notificaciones de propuestas en un único mensaje, para evitar demasiados emails. - preview_detail: Los usuarios sólo recibirán las notificaciones de aquellas propuestas que siguen. send_alert: '¿Estás seguro/a de que quieres enviar esta newsletter a %{n} usuarios?' emails_download: index: @@ -718,7 +575,7 @@ es: search: title: 'Evaluadores: Búsqueda de usuarios' summary: - title: Resumen de evaluación de propuestas de inversión + title: Resumen de evaluación de proyectos de gasto valuator_name: Evaluador finished_and_feasible_count: Finalizadas viables finished_and_unfeasible_count: Finalizadas inviables @@ -1030,15 +887,6 @@ es: without_confirmed_hide: Pendientes title: Propuestas ocultas no_hidden_proposals: No hay propuestas ocultas. - proposal_notifications: - index: - filter: Filtro - filters: - all: Todas - with_confirmed_hide: Confirmadas - without_confirmed_hide: Pendientes - title: Notificaciones ocultas - no_hidden_proposals: No hay notificaciones ocultas. settings: flash: updated: Valor actualizado @@ -1062,12 +910,6 @@ es: update: La configuración del mapa se ha guardado correctamente. form: submit: Actualizar - setting: Funcionalidad - setting_actions: Acciones - setting_name: Configuración - setting_status: Estado - setting_value: Valor - no_description: Sin descripción shared: booths_search: button: Buscar @@ -1095,11 +937,6 @@ es: image: Imagen show_image: Mostrar imagen moderated_content: "Revisa el contenido moderado por los moderadores, y confirma si la moderación se ha realizado correctamente." - view: Ver - proposal: Propuesta - author: Autor - content: Contenido - created_at: Fecha de creación spending_proposals: index: geozone_filter_all: Todos los ámbitos de actuación @@ -1219,7 +1056,7 @@ es: proposal_votes: Votos en propuestas proposals: Propuestas budgets: Presupuestos abiertos - budget_investments: Propuestas de inversión + budget_investments: Proyectos de gasto spending_proposals: Propuestas de inversión unverified_users: Usuarios sin verificar user_level_three: Usuarios de nivel tres @@ -1312,11 +1149,6 @@ es: content_block: body: Contenido name: Nombre - names: - top_links: Enlaces superiores - footer: Pie de página - subnavigation_left: Navegación principal izquierda - subnavigation_right: Navegación principal derecha images: index: title: Personalizar imágenes @@ -1359,7 +1191,6 @@ es: status_draft: Borrador status_published: Publicada title: Título - slug: Slug homepage: description: Los módulos activos aparecerán en la homepage en el mismo orden que aquí. header_title: Encabezado @@ -1386,6 +1217,3 @@ es: submit_header: Guardar encabezado card_title: Editar tarjeta submit_card: Guardar tarjeta - translations: - add_language: Añadir idioma - remove_language: Eliminar idioma From 0e7d09a48d23c1ec6458ff635989ab7cb7fe68de Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:08:55 +0200 Subject: [PATCH 039/565] New translations management.yml (Spanish) --- config/locales/es/management.yml | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/config/locales/es/management.yml b/config/locales/es/management.yml index 6fe4bd935..bcfddf360 100644 --- a/config/locales/es/management.yml +++ b/config/locales/es/management.yml @@ -17,7 +17,6 @@ es: reset_email_send: Email enviado correctamente. reseted: Contraseña restablecida correctamente random: Generar contraseña aleatoria - save: Guardar contraseña print: Imprimir contraseña print_help: Podrás imprimir la contraseña cuando se haya guardado. account_info: @@ -27,7 +26,6 @@ es: email_label: 'Email:' identified_label: 'Identificado como:' username_label: 'Usuario:' - check: Comprobar documento dashboard: index: title: Gestión @@ -65,12 +63,8 @@ es: create_spending_proposal: Crear propuesta de inversión print_spending_proposals: Imprimir propts. de inversión support_spending_proposals: Apoyar propts. de inversión - create_budget_investment: Crear proyectos de gasto - print_budget_investments: Imprimir proyectos de gasto - support_budget_investments: Apoyar proyectos de gasto - users: Gestión de usuarios + create_budget_investment: Crear proyectos de inversión user_invites: Enviar invitaciones - select_user: Seleccionar usuario permissions: create_proposals: Crear nuevas propuestas debates: Participar en debates @@ -80,7 +74,7 @@ es: proposals_info: Haz tu propuesta en http://url.consul proposals_title: 'Propuestas:' spending_proposals_info: Participa en http://url.consul - budget_investments_info: 'Participa en http://url.consul' + budget_investments_info: Participa en http://url.consul print_info: Imprimir esta información proposals: alert: @@ -88,16 +82,6 @@ es: create_proposal: Crear propuesta print: print_button: Imprimir - index: - title: Apoyar propuestas - budgets: - create_new_investment: Crear proyectos de gasto - print_investments: Imprimir proyectos de gasto - support_investments: Apoyar proyectos de gasto - table_name: Nombre - table_phase: Fase - table_actions: Acciones - no_budgets: No hay presupuestos participativos activos. budget_investments: alert: unverified_user: Usuario no verificado @@ -127,7 +111,6 @@ es: username_label: Nombre de usuario users: create_user: Crear nueva cuenta de usuario - create_user_info: Procedemos a crear un usuario con la siguiente información create_user_submit: Crear usuario create_user_success_html: Hemos enviado un correo electrónico a %{email} para verificar que es suya. El correo enviado contiene un link que el usuario deberá pulsar. Entonces podrá seleccionar una clave de acceso, y entrar en la web de participación. autogenerated_password_html: "Se ha asignado la contraseña %{password} a este usuario. Puede modificarla desde el apartado 'Mi cuenta' de la web." From 3f512675f413100fa8c56e44533c0bcc4a6f398b Mon Sep 17 00:00:00 2001 From: Consul Bot Date: Wed, 10 Oct 2018 15:08:57 +0200 Subject: [PATCH 040/565] New translations settings.yml (Spanish) --- config/locales/es/settings.yml | 87 +++++----------------------------- 1 file changed, 11 insertions(+), 76 deletions(-) diff --git a/config/locales/es/settings.yml b/config/locales/es/settings.yml index a020f31e5..beb0b03fd 100644 --- a/config/locales/es/settings.yml +++ b/config/locales/es/settings.yml @@ -1,74 +1,37 @@ es: settings: comments_body_max_length: "Longitud máxima de los comentarios" - comments_body_max_length_description: "En número de caracteres" official_level_1_name: "Cargos públicos de nivel 1" - official_level_1_name_description: "Etiqueta que aparecerá en los usuarios marcados como Nivel 1 de cargo público" official_level_2_name: "Cargos públicos de nivel 2" - official_level_2_name_description: "Etiqueta que aparecerá en los usuarios marcados como Nivel 2 de cargo público" official_level_3_name: "Cargos públicos de nivel 3" - official_level_3_name_description: "Etiqueta que aparecerá en los usuarios marcados como Nivel 3 de cargo público" official_level_4_name: "Cargos públicos de nivel 4" - official_level_4_name_description: "Etiqueta que aparecerá en los usuarios marcados como Nivel 4 de cargo público" official_level_5_name: "Cargos públicos de nivel 5" - official_level_5_name_description: "Etiqueta que aparecerá en los usuarios marcados como Nivel 5 de cargo público" max_ratio_anon_votes_on_debates: "Porcentaje máximo de votos anónimos por Debate" - max_ratio_anon_votes_on_debates_description: "Se consideran votos anónimos los realizados por usuarios registrados con una cuenta sin verificar" - max_votes_for_proposal_edit: "Número de apoyos en que una Propuesta deja de poderse editar" - max_votes_for_proposal_edit_description: "A partir de este número de apoyos el autor de una Propuesta ya no podrá editarla" + max_votes_for_proposal_edit: "Número de votos en que una Propuesta deja de poderse editar" max_votes_for_debate_edit: "Número de votos en que un Debate deja de poderse editar" - max_votes_for_debate_edit_description: "A partir de este número de votos el autor de un Debate ya no podrá editarlo" proposal_code_prefix: "Prefijo para los códigos de Propuestas" - proposal_code_prefix_description: "Este prefijo aparecerá en las Propuestas delante de la fecha de creación y su ID" - votes_for_proposal_success: "Número de apoyos necesarios para aprobar una Propuesta" - votes_for_proposal_success_description: "Cuando una propuesta alcance este número de apoyos ya no podrá recibir más y se considera exitosa" + votes_for_proposal_success: "Número de votos necesarios para aprobar una Propuesta" months_to_archive_proposals: "Meses para archivar las Propuestas" - months_to_archive_proposals_description: "Pasado este número de meses las Propuestas se archivarán y ya no podrán recoger apoyos" email_domain_for_officials: "Dominio de email para cargos públicos" - email_domain_for_officials_description: "Todos los usuarios registrados con este dominio tendrán su cuenta verificada al registrarse" per_page_code_head: "Código a incluir en cada página ()" - per_page_code_head_description: "Esté código aparecerá dentro de la etiqueta . Útil para introducir scripts personalizados, analitycs..." per_page_code_body: "Código a incluir en cada página ()" - per_page_code_body_description: "Esté código aparecerá dentro de la etiqueta . Útil para introducir scripts personalizados, analitycs..." twitter_handle: "Usuario de Twitter" - twitter_handle_description: "Si está rellenado aparecerá en el pie de página" twitter_hashtag: "Hashtag para Twitter" - twitter_hashtag_description: "Hashtag que aparecerá al compartir contenido por Twitter" facebook_handle: "Identificador de Facebook" - facebook_handle_description: "Si está rellenado aparecerá en el pie de página" youtube_handle: "Usuario de Youtube" - youtube_handle_description: "Si está rellenado aparecerá en el pie de página" telegram_handle: "Usuario de Telegram" - telegram_handle_description: "Si está rellenado aparecerá en el pie de página" instagram_handle: "Usuario de Instagram" - instagram_handle_description: "Si está rellenado aparecerá en el pie de página" url: "URL general de la web" - url_description: "URL principal de tu web" org_name: "Nombre de la organización" - org_name_description: "Nombre de tu organización" place_name: "Nombre del lugar" - place_name_description: "Nombre de tu ciudad" - related_content_score_threshold: Umbral de puntuación de contenido relacionado - related_content_score_threshold_description: Oculta el contenido que los usuarios marquen como no relacionado + related_content_score_threshold: "Umbral de puntuación de contenido relacionado" map_latitude: "Latitud" - map_latitude_description: "Latitud para mostrar la posición del mapa" map_longitude: "Longitud" - map_longitude_description: "Longitud para mostrar la posición del mapa" map_zoom: "Zoom" - map_zoom_description: "Zoom para mostrar la posición del mapa" - mailer_from_name: "Nombre email remitente" - mailer_from_name_description: "Este nombre aparecerá en los emails enviados desde la aplicación" - mailer_from_address: "Dirección email remitente" - mailer_from_address_description: "Esta dirección de email aparecerá en los emails enviados desde la aplicación" - meta_title: "Título del sitio" - meta_title_description: "Título para el sitio , utilizado para mejorar el SEO" - meta_description: "Descripción del sitio" - meta_description_description: 'Descripción del sitio <meta name="description">, utilizada para mejorar el SEO' - meta_keywords: "Palabras clave" - meta_keywords_description: 'Palabras clave <meta name="keywords">, utilizadas para mejorar el SEO' - min_age_to_participate: "Edad mínima para participar" - min_age_to_participate_description: "Los usuarios mayores de esta edad podrán participar en todos los procesos" - analytics_url: "URL de estadísticas externas" + meta_title: "Título del sitio (SEO)" + meta_description: "Descripción del sitio (SEO)" + meta_keywords: "Palabras clave (SEO)" + min_age_to_participate: Edad mínima para participar blog_url: "URL del blog" transparency_url: "URL de transparencia" opendata_url: "URL de open data" @@ -76,48 +39,20 @@ es: proposal_improvement_path: Link a información para mejorar propuestas feature: budgets: "Presupuestos participativos" - budgets_description: "Con los presupuestos participativos la ciudadanía decide a qué proyectos presentados por los vecinos y vecinas va destinada una parte del presupuesto municipal" twitter_login: "Registro con Twitter" - twitter_login_description: "Permitir que los usuarios se registren con su cuenta de Twitter" facebook_login: "Registro con Facebook" - facebook_login_description: "Permitir que los usuarios se registren con su cuenta de Facebook" google_login: "Registro con Google" - google_login_description: "Permitir que los usuarios se registren con su cuenta de Google" proposals: "Propuestas" - proposals_description: "Las propuestas ciudadanas son una oportunidad para que los vecinos y colectivos decidan directamente cómo quieren que sea su ciudad, después de conseguir los apoyos suficientes y de someterse a votación ciudadana" debates: "Debates" - debates_description: "El espacio de debates ciudadanos está dirigido a que cualquier persona pueda exponer temas que le preocupan y sobre los que quiera compartir puntos de vista con otras personas" polls: "Votaciones" - polls_description: "Las votaciones ciudadanas son un mecanismo de participación por el que la ciudadanía con derecho a voto puede tomar decisiones de forma directa" signature_sheets: "Hojas de firmas" - signature_sheets_description: "Permite añadir desde el panel de Administración firmas recogidas de forma presencial a Propuestas y proyectos de gasto de los Presupuestos participativos" - legislation: "Legislación colaborativa" - legislation_description: "En los procesos participativos se ofrece a la ciudadanía la oportunidad de participar en la elaboración y modificación de normativa que afecta a la ciudad y de dar su opinión sobre ciertas actuaciones que se tiene previsto llevar a cabo" - spending_proposals: "Propuestas de inversión" - spending_proposals_description: "⚠️ NOTA: Esta funcionalidad ha sido sustituida por Pesupuestos Participativos y desaparecerá en nuevas versiones" - spending_proposal_features: - voting_allowed: "Votaciones de preselección sobre propuestas de inversión." - voting_allowed_description: "⚠️ NOTA: Esta funcionalidad ha sido sustituida por Pesupuestos Participativos y desaparecerá en nuevas versiones" + legislation: "Legislación" user: recommendations: "Recomendaciones" - recommendations_description: "Muestra a los usuarios recomendaciones en la homepage basado en las etiquetas de los elementos que sigue" skip_verification: "Omitir verificación de usuarios" - skip_verification_description: "Esto deshabilitará la verificación de usuarios y todos los usuarios registrados podrán participar en todos los procesos" - recommendations_on_debates: "Recomendaciones en debates" - recommendations_on_debates_description: "Muestra a los usuarios recomendaciones en la página de debates basado en las etiquetas de los elementos que sigue" - recommendations_on_proposals: "Recomendaciones en propuestas" - recommendations_on_proposals_description: "Muestra a los usuarios recomendaciones en la página de propuestas basado en las etiquetas de los elementos que sigue" - community: "Comunidad en propuestas y proyectos de gasto" - community_description: "Activa la sección de comunidad en las propuestas y en los proyectos de gasto de los Presupuestos participativos" - map: "Geolocalización de propuestas y proyectos de gasto" - map_description: "Activa la geolocalización de propuestas y proyectos de gasto" + community: "Comunidad en propuestas y proyectos de inversión" + map: "Geolocalización de propuestas y proyectos de inversión" allow_images: "Permitir subir y mostrar imágenes" - allow_images_description: "Permite que los usuarios suban imágenes al crear propuestas y proyectos de gasto de los Presupuestos participativos" allow_attached_documents: "Permitir creación de documentos adjuntos" - allow_attached_documents_description: "Permite que los usuarios suban documentos al crear propuestas y proyectos de gasto de los Presupuestos participativos" - guides: "Guías para crear propuestas o proyectos de gasto" - guides_description: "Muestra una guía de diferencias entre las propuestas y los proyectos de gasto si hay un presupuesto participativo activo" + guides: "Guías para crear propuestas o proyectos de inversión" public_stats: "Estadísticas públicas" - public_stats_description: "Muestra las estadísticas públicas en el panel de Administración" - help_page: "Página de Ayuda" - help_page_description: "Muestra un menú Ayuda que contiene una página con una sección de información sobre cada funcionalidad habilitada." From 91cbd9743b38a6a6e420bdf3bcd7cd04a2a3c63c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:08:58 +0200 Subject: [PATCH 041/565] New translations officing.yml (Spanish) --- config/locales/es/officing.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/config/locales/es/officing.yml b/config/locales/es/officing.yml index c1d1fa837..6832311a7 100644 --- a/config/locales/es/officing.yml +++ b/config/locales/es/officing.yml @@ -6,7 +6,6 @@ es: index: title: Presidir mesa de votaciones info: Aquí puedes validar documentos de ciudadanos y guardar los resultados de las urnas - no_shifts: No tienes turnos de presidente de mesa asignados hoy. menu: voters: Validar documento y votar total_recounts: Recuento total y escrutinio @@ -58,7 +57,6 @@ es: table_poll: Votación table_status: Estado de las votaciones table_actions: Acciones - not_to_vote: La persona ha decidido no votar por el momento show: can_vote: Puede votar error_already_voted: Ya ha participado en esta votación. From c65b6937262c62233786559505985e2ae709710e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:08:59 +0200 Subject: [PATCH 042/565] New translations responders.yml (Spanish) --- config/locales/es/responders.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es/responders.yml b/config/locales/es/responders.yml index 629110396..d55968452 100644 --- a/config/locales/es/responders.yml +++ b/config/locales/es/responders.yml @@ -29,7 +29,6 @@ es: budget_investment: "Propuesta de inversión actualizada correctamente" topic: "Tema actualizado correctamente." valuator_group: "Grupo de evaluadores actualizado correctamente" - translation: "Traducción actualizada correctamente" destroy: spending_proposal: "Propuesta de inversión eliminada." budget_investment: "Propuesta de inversión eliminada." From 568e73e1b6bc4489307c0b3d8bec2654e587b109 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:09:04 +0200 Subject: [PATCH 043/565] New translations general.yml (Portuguese, Brazilian) --- config/locales/pt-BR/general.yml | 186 ------------------------------- 1 file changed, 186 deletions(-) diff --git a/config/locales/pt-BR/general.yml b/config/locales/pt-BR/general.yml index 6b0f01f8b..5afaacefa 100644 --- a/config/locales/pt-BR/general.yml +++ b/config/locales/pt-BR/general.yml @@ -234,192 +234,6 @@ pt-BR: poll_questions: Votação budgets: Orçamento participativo spending_proposals: Propostas de despesas - mailers: - comment: - hi: Olá - new_comment_by_html: Existe um novo comentário de <b>%{commenter}</b> - subject: Alguém comentou em seu %{commentable} - title: Novo comentário - config: - manage_email_subscriptions: Para interromper estes emails altere suas configurações - email_verification: - click_here_to_verify: este link - instructions_2_html: Este email verificará sua conta com <b>%{document_type} - %{document_number}</b>. Se esta não pertence a você, por favor não clique - no link anterior e ignore este email. - instructions_html: Para completar a verificação de sua conta de usuário no Portal - do Governo Aberto da Câmara da Cidade de Madrid, você precisa clicar %{verification_link}. - subject: Confirme seu email - thanks: Muito obrigado. - title: Confirme sua conta usando o link seguinte - reply: - hi: Olá - new_reply_by_html: Existe uma nova resposta <b>%{commenter}</b> para seu comentário - subject: Alguém respondeu ao seu comentário - title: Nova resposta ao seu comentário - management: - account_info: - change_user: Alterar usuário - document_number_label: 'Número do documento:' - document_type_label: 'Tipo do documento:' - email_label: 'Email:' - identified_label: 'Identificado por:' - username_label: 'Nome de usuário:' - check: Conferir - dashboard: - index: - title: Gerenciar - document_number: Número do documento - document_type_label: Tipo do documento - document_verifications: - already_verified: Esta conta de usuário já foi verificada. - has_no_account_html: No sentido de criar uma conta, vá para %{link} e clique em <b>'Register'</b> na parte superior esquerda de sua tela/janela. - in_census_has_following_permissions: 'Este usuário pode participar no website - com as seguintes permissões:' - not_in_census: Este documento não está registrado. - not_in_census_info: 'Cidadãos fora do Censo podem participar no website com - as seguintes permissões:' - please_check_account_data: Por favor confira se os dados da conta acima estão - corretos. - title: Gerenciamento de usuário - under_age: Você precisa ter 16 anos ou mais para verificar sua conta. - verify: Verificar - email_label: Email - email_verifications: - already_verified: Esta conta de usuário já foi verificada. - choose_options: 'Por favor escolha uma das opções seguintes:' - document_found_in_census: Este documento foi encontrado no Censo, mas não possui - conta de usuário associada ao mesmo. - document_mismatch: 'Este email pertence a um usuário que já possui um id associado: - %{document_number}(%{document_type})' - email_placeholder: Escreva o email que esta pessoa usou para criar a conta dele - ou dela - email_sent_instructions: No sentido de verificar completamente este usuário, - é necessário que o usuário clique em um link que enviamos para a conta de - email acima. Este passo é necessário para confirmar que o endereço pertence - a ele. - if_existing_account: Se a pessoa já possui uma conta de usuário criada neste - website, - if_no_existing_account: Se esta pessoa ainda não criou uma conta - introduce_email: 'Por favor introduza o email usado na conta:' - send_email: Enviar email de verificação - menu: - create_proposal: Criar proposta - create_spending_proposal: Criar proposta de despesa - print_proposals: Imprimir propostas - support_proposals: Apoiar propostas - title: Gerenciamento - users: Usuários - permissions: - create_proposals: Criar propostas - debates: Participar em debates - support_proposals: Apoiar propostas - vote_proposals: Votar em propostas - print_info: Imprimir esta informação - print: - proposals_title: 'Propostas:' - proposals: - alert: - unverified_user: Usuário não verificado - create_proposal: Criar proposta - print: - print_button: Imprimir - sessions: - signed_out: Sessão encerrada com sucesso. - signed_out_managed_user: Sessão de usuário encerrada com sucesso. - spending_proposals: - alert: - unverified_user: Usuário não verificado - create: Criar proposta de despesa - username_label: Nome de usuário - users: - create_user: Criar uma nova conta - create_user_info: 'Criaremos uma conta com os seguinte dados:' - create_user_submit: Criar usuário - create_user_success_html: Nós enviamos um email para o endereço <b>%{email}</b> - no sentido de verificar que ele pertence a este usuário. Ele contém um link - que deve ser clicado. Em seguida deve ser criado uma senha de acesso antes - ser possível iniciar uma sessão no website. - map: - proposal_for_district: Inicie uma proposta para seu distrito - select_district: Escopo da operação - start_proposal: Criar uma proposta - title: Distritos - moderation: - comments: - index: - block_authors: Bloquear autores - confirm: Tem certeza? - filter: Filtro - filters: - all: Todos - pending_flag_review: Pendente - with_ignored_flag: Marcado como visto - headers: - comment: Comentário - moderate: Moderado - hide_comments: Ocultar comentários - ignore_flags: Marcar como visto - order: Ordem - orders: - flags: Mais marcado - newest: Mais recente - title: Comentários - dashboard: - index: - title: Moderação - debates: - index: - block_authors: Bloquear autores - confirm: Tem certeza? - filter: Filtro - filters: - all: Todos - pending_flag_review: Pendente - with_ignored_flag: Marcado como visto - headers: - debate: Deabate - moderate: Moderado - hide_debates: Ocultar debates - ignore_flags: Marcar como visto - order: Ordem - orders: - created_at: Mais recente - flags: Mais marcado - title: Debates - menu: - flagged_comments: Comentários - flagged_debates: Debates - proposals: Propostas - users: Bloquear usuários - proposals: - index: - block_authors: Bloquear autores - confirm: Tem certeza? - filter: Filtro - filters: - all: Todos - pending_flag_review: Revisão pendente - with_ignored_flag: Marcar como visto - headers: - moderate: Moderate - proposal: Proposta - hide_proposals: Ocultar propostas - ignore_flags: Marcar como visto - order: Ordenado por - orders: - created_at: Mais recente - flags: Mais marcado - title: Propotas - users: - index: - hidden: Bloqueado - hide: Bloquear - search: Buscar - search_placeholder: email ou nome de usuário - title: Bloquear usuários - notice_hide: Usuário bloqueado. Todos os debates desse usuário e os comentários - foram ocultados. notification_item: new_notifications: one: Você possui uma nova notificação From e171c331fcdd7699a5e6f22a43af276686c2a004 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:09:20 +0200 Subject: [PATCH 044/565] New translations rails.yml (Portuguese, Brazilian) --- config/locales/pt-BR/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/pt-BR/rails.yml b/config/locales/pt-BR/rails.yml index be14b914b..ce802d801 100644 --- a/config/locales/pt-BR/rails.yml +++ b/config/locales/pt-BR/rails.yml @@ -49,9 +49,9 @@ pt-BR: - Novembro - Dezembro order: - - :day - - :month - - :year + - :ano + - ':mês' + - :dia datetime: distance_in_words: about_x_hours: From 4b88a3d297f5d8c48c1bb087f63a4e5036144ca6 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:09:48 +0200 Subject: [PATCH 045/565] New translations general.yml (Spanish, Bolivia) --- config/locales/es-BO/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-BO/general.yml b/config/locales/es-BO/general.yml index 18d071571..5647ceaaa 100644 --- a/config/locales/es-BO/general.yml +++ b/config/locales/es-BO/general.yml @@ -224,7 +224,6 @@ es-BO: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From 3a9ae45e5a8ca6bc241f6e184e0fce3144fac10a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:10:05 +0200 Subject: [PATCH 046/565] New translations general.yml (Spanish, Chile) --- config/locales/es-CL/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-CL/general.yml b/config/locales/es-CL/general.yml index f1935bf05..ed47e2aeb 100644 --- a/config/locales/es-CL/general.yml +++ b/config/locales/es-CL/general.yml @@ -224,7 +224,6 @@ es-CL: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From 25ff7a7b7270475bffb8d1a08f3082b2e95e0b80 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:10:26 +0200 Subject: [PATCH 047/565] New translations general.yml (Spanish, Argentina) --- config/locales/es-AR/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-AR/general.yml b/config/locales/es-AR/general.yml index 52e3d3f5a..a273d80a9 100644 --- a/config/locales/es-AR/general.yml +++ b/config/locales/es-AR/general.yml @@ -239,7 +239,6 @@ es-AR: text_sign_in: iniciar sesión text_sign_up: registrarte title: '¿Cómo puedo comentar este documento?' - locale: Español notifications: index: empty_notifications: No tienes notificaciones nuevas. From 440f3ec3b51b7fc6f19c8b6496eff277caba6bba Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:10:57 +0200 Subject: [PATCH 048/565] New translations rails.yml (Indonesian) --- config/locales/id-ID/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/id-ID/rails.yml b/config/locales/id-ID/rails.yml index b251eb588..100edc007 100644 --- a/config/locales/id-ID/rails.yml +++ b/config/locales/id-ID/rails.yml @@ -49,9 +49,9 @@ id: - November - Desember order: - - :day - - :month - - :year + - :tahun + - :bulan + - :hari datetime: distance_in_words: about_x_hours: From e07c07f55317c26eace0161cd0997b95c3d17e86 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:11:18 +0200 Subject: [PATCH 049/565] New translations general.yml (German) --- config/locales/de-DE/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/de-DE/general.yml b/config/locales/de-DE/general.yml index 18aefa5a3..ece8dde6f 100644 --- a/config/locales/de-DE/general.yml +++ b/config/locales/de-DE/general.yml @@ -249,7 +249,6 @@ de: text_sign_in: login text_sign_up: registrieren title: Wie kann ich dieses Dokument kommentieren? - locale: Deutsch notifications: index: empty_notifications: Sie haben keine neuen Benachrichtigungen. From b0eea333e7ff0892e01e807c6e07f2f57bb3302b Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:11:45 +0200 Subject: [PATCH 050/565] New translations rails.yml (Persian) --- config/locales/fa-IR/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/fa-IR/rails.yml b/config/locales/fa-IR/rails.yml index 6bf0c1fe8..99dba6f80 100644 --- a/config/locales/fa-IR/rails.yml +++ b/config/locales/fa-IR/rails.yml @@ -49,9 +49,9 @@ fa: - نوامبر - دسامبر order: - - :day - - :month - - :year + - ': سال' + - ': ماه' + - ': روز' datetime: distance_in_words: about_x_hours: From c18efecf08196286f68a2a96b2e01100f1a78afa Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:11:52 +0200 Subject: [PATCH 051/565] New translations general.yml (Indonesian) --- config/locales/id-ID/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/id-ID/general.yml b/config/locales/id-ID/general.yml index 95dc6ee22..a4e343b44 100644 --- a/config/locales/id-ID/general.yml +++ b/config/locales/id-ID/general.yml @@ -229,7 +229,6 @@ id: text_sign_in: masuk text_sign_up: daftar title: Bagaimana saya dapat mengomentari dokumen ini? - locale: Bahasa Inggris notifications: index: empty_notifications: Anda tidak memiliki pemberitahuan baru. From cccb8dcde43cba7fc8e9ccb39b1841fa13f07432 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:12:01 +0200 Subject: [PATCH 052/565] New translations rails.yml (Italian) --- config/locales/it/rails.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/it/rails.yml b/config/locales/it/rails.yml index 7e8a56685..b46e6b77f 100644 --- a/config/locales/it/rails.yml +++ b/config/locales/it/rails.yml @@ -49,9 +49,9 @@ it: - Novembre - Dicembre order: - - :day - - :month - :year + - ': month' + - :day datetime: distance_in_words: about_x_hours: From 1622622a0d8c382ae52030f76b88b9d7739c11da Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:12:04 +0200 Subject: [PATCH 053/565] New translations pages.yml (Italian) --- config/locales/it/pages.yml | 41 +++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/config/locales/it/pages.yml b/config/locales/it/pages.yml index 55103e9ca..91f764402 100644 --- a/config/locales/it/pages.yml +++ b/config/locales/it/pages.yml @@ -1,5 +1,9 @@ it: pages: + conditions: + title: Termini e condizioni d'uso + subtitle: AVVISO LEGALE SULLE CONDIZIONI D'USO, PRIVACY E PROTEZIONE DEI DATI PERSONALI DEL PORTALE GOVERNO APERTO + description: Pagina di informazioni sulle condizioni di utilizzo, privacy e protezione dei dati personali. general_terms: Termini e condizioni d'uso help: title: "%{org} è una piattaforma di partecipazione cittadina" @@ -24,6 +28,7 @@ it: description: "Nella sezione %{link} è possibile avanzare proposte da far realizzare dal Consiglio Comunale. Le proposte necessitano di sostegno e, se viene raggiunto un sostegno sufficiente, vengono ammesse al voto pubblico. Le proposte così approvate dal voto dei cittadini sono accettate dal Consiglio Comunale e realizzate." link: "proposte dei cittadini" image_alt: "Pulsante per sostenere una proposta" + figcaption_html: 'Pulsante per “Sostenere” una proposta.' budgets: title: "Bilancio partecipativo" description: "La sezione %{link} aiuta le persone a contribuire in maniera diretta alle decisioni relative a parte della spesa del bilancio comunale." @@ -61,6 +66,42 @@ it: Se sei un programmatore, puoi vedere il codice e aiutarci a migliorarlo sulla [app CONSUL](https://github.com/consul/consul 'consul github'). titles: how_to_use: Usalo nella tua amministrazione locale + privacy: + title: Informativa sulla privacy + subtitle: INFORMATIVA SULLA PRIVACY DEI DATI + info_items: + - + text: La navigazione attraverso le informazioni disponibili nel Portale Governo Aperto è anonima. + - + text: Per utilizzare i servizi contenuti nel Portale Governo Aperto, l'utente deve registrarsi e fornire anticipatamente i dati personali relativi alle specifiche informazioni incluse in ogni tipo di registrazione. + - + text: 'I dati forniti saranno incorporati ed elaborati dal Consiglio Comunale in conformità alla descrizione del seguente file:' + - + subitems: + - + field: 'Nome file:' + description: NOME DEL FILE + - + field: 'Scopo del file:' + description: Gestione dei processi partecipativi per controllare la qualifica delle persone che vi partecipano e valutazione meramente numerica e statistica dei risultati derivati dai processi di partecipazione dei cittadini. + - + field: 'Ente responsabile del documento:' + description: ENTE RESPONSABILE DEL DOCUMENTO + - + text: L'interessato potrà esercitare i diritti di accesso, rettifica, cancellazione e opposizione, innanzi all'organismo responsabile indicato, secondo quanto previsto dall'articolo 5 della legge organica 15/1999, del 13 dicembre, sulla protezione dei Dati di Carattere Personale. + - + text: Come principio generale, questo sito non condivide o divulga le informazioni raccolte, a meno che non venga a ciò autorizzato dall’utente o le informazioni siano richieste dall'Autorità Giudiziaria, compreso l’ufficio del Pubblico Ministero, o dalla polizia giudiziaria, ovvero in qualsiasi altro caso regolamentato dall'articolo 11 della legge organica 15/1999, del 13 dicembre, sulla Protezione dei Dati Personali. + accessibility: + title: Accessibilità + description: |- + L'accessibilità della rete si riferisce alla possibilità di accesso alla rete e ai suoi contenuti da parte di tutte le persone, indipendentemente dalle disabilità (fisiche, intellettuali o tecniche) che possano insorgere o da quelle che derivano dal contesto di utilizzo (tecnologico o ambientale). + + quando siti Web sono progettati con l'accessibilità in mente, tutti gli utenti possono accedere ai contenuti a parità di condizioni, ad esempio: + examples: + - Fornendo un testo alternativo alle immagini, gli utenti ciechi o ipovedenti possono utilizzare lettori speciali per accedere alle informazioni. + - Quando i video hanno i sottotitoli, gli utenti con disabilità uditive possono comprenderli appieno. + - If the contents are written in a simple and illustrated language, users with learning problems are better able to understand them. + - If the user has mobility problems and it is difficult to use the mouse, the alternatives with the keyboard help in navigation. titles: accessibility: Accessibilità conditions: Termini di utilizzo From ef378495399c4da683d11673c23bd61ccb538ce9 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:12:18 +0200 Subject: [PATCH 054/565] New translations management.yml (Italian) --- config/locales/it/management.yml | 144 +++++++++++++++++++++++-------- 1 file changed, 109 insertions(+), 35 deletions(-) diff --git a/config/locales/it/management.yml b/config/locales/it/management.yml index d24966f65..725ab8090 100644 --- a/config/locales/it/management.yml +++ b/config/locales/it/management.yml @@ -1,73 +1,147 @@ it: management: account: + menu: + reset_password_email: Reimposta la password via email + reset_password_manually: Reimposta la password manualmente alert: - unverified_user: Si possono modificare solo utenti già verificati + unverified_user: Nessun utente verificato ha ancora effettuato il login show: title: Account utente + edit: + title: 'Modifica account utente: Reimposta password' + back: Indietro + password: + password: Password + send_email: Invia email di reimpostazione password + reset_email_send: Email inviata correttamente. + reseted: Password reimpostata con successo + random: Genera password casuale + save: Salva password + print: Stampa password + print_help: Sarai in grado di stampare la password quando sarà salvata. account_info: change_user: Cambia utente document_number_label: 'Numero del documento:' - document_type_label: 'Tipo Documento di identità:' + document_type_label: 'Tipo di documento:' + email_label: 'Email:' identified_label: 'Identificato come:' username_label: 'Nome utente:' + check: Controlla documento dashboard: index: - info: Qui è possibile gestire gli utenti attraverso tutte le azioni elencate nel menu a sinistra. + title: Gestione + info: Qui è possibile gestire gli utenti attraverso tutte le azioni elencate nel menu di sinistra. + document_number: Numero del documento + document_type_label: Tipo di documento document_verifications: already_verified: Questo account utente è già verificato. - has_no_account_html: Per creare un account, vai a %{link} e fai click su <b>'Registrati'</b> nella parte superiore sinistra dello schermo. - in_census_has_following_permissions: 'Questo utente può partecipare con le seguenti autorizzazioni:' + has_no_account_html: Per creare un account, vai su %{link} e clicca <b>'Registrati'</b> nella parte superiore sinistra dello schermo. + link: CONSUL + in_census_has_following_permissions: 'Questo utente può partecipare al sito con le seguenti autorizzazioni:' not_in_census: Questo documento non è registrato. - not_in_census_info: 'I cittadini non residenti possono partecipare con le seguenti autorizzazioni:' + not_in_census_info: 'I cittadini non registrati all’Anagrafe possono partecipare al sito con le seguenti autorizzazioni:' please_check_account_data: Si prega di controllare che i dati dell'utenza sopra riportati siano corretti. title: Gestione degli utenti - under_age: "Non hai l'età richiesta per verificare l'account." + under_age: "Non hai l'età richiesta per verificare il tuo account." + verify: Verifica + email_label: Email + date_of_birth: Data di nascita email_verifications: - choose_options: 'Si prega di scegliere una delle opzioni seguenti:' + already_verified: Questo account utente è già verificato. + choose_options: 'Si prega di scegliere una delle seguenti opzioni:' document_found_in_census: Questo documento è stato trovato in anagrafe, ma non ha alcun account utente ad esso associato. - document_mismatch: 'Questa e-mail appartiene a un utente che dispone già di un identificativo associato: %{document_number}(%{document_type})' - email_placeholder: Inserisci l'email utilizzata per creare l'utente - email_sent_instructions: Per verificare completamente questo utente, è necessario che cliccare su un link che ti abbiamo inviato all'indirizzo di posta elettronica sopra riportato. Questo passaggio è necessario al fine di confermare che l'indirizzo e-mail sia proprio il tuo. + document_mismatch: 'Questa email appartiene a un utente che dispone già di un documento associato: %{document_number}(%{document_type})' + email_placeholder: Inserisci l'email che questa persona ha usato per creare il proprio account + email_sent_instructions: Per verificare completamente questo utente, è necessario che clicchi su un link che abbiamo inviato all'indirizzo di posta elettronica sopra riportato. Questo passaggio è necessario al fine di confermare che l'indirizzo email sia suo. if_existing_account: Se la persona ha già un account utente creato nel sito, if_no_existing_account: Se questa persona non ha ancora creato un account - introduce_email: 'Si prega di introdurre l''e-mail utilizzata sul conto:' - send_email: Inviare email di verifica + introduce_email: 'Si prega di inserire l’email utilizzata per l’account:' + send_email: Invia email di verifica menu: - print_proposals: Stampare le proposte - print_spending_proposals: Stampare le proposte di spesa - support_spending_proposals: Appoggiare le proposte di spesa + create_proposal: Crea proposta + print_proposals: Stampa proposte + support_proposals: Sostieni proposte + create_spending_proposal: Crea proposta di spesa + print_spending_proposals: Stampa proposte di spesa + support_spending_proposals: Sostieni proposte di spesa + create_budget_investment: Crea investimento di bilancio + print_budget_investments: Stampa investimenti di bilancio + support_budget_investments: Sostieni investimenti di bilancio + users: Gestione degli utenti + user_invites: Manda inviti + select_user: Seleziona utente permissions: - create_proposals: Creare proposte - debates: Partecipare nei dibattiti - vote_proposals: Partecipare alle votazioni finali + create_proposals: Crea proposte + debates: Partecipa ai dibattiti + support_proposals: Sostieni proposte + vote_proposals: Vota proposte print: + proposals_info: Crea la tua proposta su http://url.consul proposals_title: 'Proposte:' + spending_proposals_info: Partecipa su http://url.consul + budget_investments_info: Partecipa su http://url.consul + print_info: Stampa queste informazioni proposals: alert: - unverified_user: L'utente non è stato verificato + unverified_user: L'utente non è verificato + create_proposal: Crea proposta print: - print_button: Stampare + print_button: Stampa + index: + title: Sostieni proposte + budgets: + create_new_investment: Crea investimento di bilancio + print_investments: Stampa investimenti di bilancio + support_investments: Sostieni investimenti di bilancio + table_name: Nome + table_phase: Fase + table_actions: Azioni + no_budgets: Non ci sono bilanci partecipativi attivi. budget_investments: + alert: + unverified_user: L'utente non è verificato + create: Crea un investimento di bilancio filters: - unfeasible: Il progetto non è realizzabile + heading: Concetto + unfeasible: Progetto irrealizzabile + print: + print_button: Stampa + spending_proposals: + alert: + unverified_user: L'utente non è verificato + create: Crea proposta di spesa + filters: + unfeasible: Progetti di investimento irrealizzabili + by_geozone: "Progetti di investimento con ambito di applicazione: %{geozone}" + print: + print_button: Stampa + search_results: + one: " contenente il termine '%{search_term}'" + other: " contenenti il termine '%{search_term}'" sessions: - signed_out: Disconnesso correttamente. - signed_out_managed_user: Sessione utente disconnessa correttamente. + signed_out: Disconnesso con successo. + signed_out_managed_user: Sessione utente disconnessa con successo. + username_label: Nome utente users: - create_user: Creare un nuovo account - create_user_submit: Creare l'utente - create_user_success_html: Ti abbiamo inviato un'email per l' indirizzo di posta elettronica <b>%{email}</b> per verificare che sia la tua. Contiene un link che dovrà essere cliccato per impostare la password di accesso - autogenerated_password_html: "La password generata automaticamente è <b>%{password}</b>, è possibile modificarla nella sezione «Mio profilo»" - email_optional_label: Email (opzionale) + create_user: Crea un nuovo account + create_user_info: Creeremo un account con i seguenti dati + create_user_submit: Crea utente + create_user_success_html: Abbiamo inviato una email all’indirizzo di posta elettronica <b>%{email}</b> per verificare che appartenga a questo utente. Contiene un link che l’utente deve cliccare. Successivamente dovrà impostare la propria password di accesso prima di poter effettuare il login al sito + autogenerated_password_html: "La password generata automaticamente è <b>%{password}</b>, è possibile modificarla nella sezione «Il mio profilo» del sito" + email_optional_label: Email (facoltativa) erased_notice: Account utente eliminato. - erased_by_manager: "Eliminato dal manager: %{manager}" - erase_account_link: Eliminare utente - erase_account_confirm: Sei sicuro di che voler cancellare l'account? Questa azione non può essere annullata - erase_warning: Questa azione non può essere annullata. Si prega di assicurarsi che si desidera cancellare questo account. - erase_submit: Eliminare account + erased_by_manager: "Eliminato dal gestore: %{manager}" + erase_account_link: Elimina utente + erase_account_confirm: Sei sicuro di voler cancellare l’account? Quest’azione non può essere annullata + erase_warning: Questa azione non può essere annullata. Per favore, assicurati di voler cancellare questo account. + erase_submit: Elimina account user_invites: new: - info: "Inserisci l'e-mail separate da virgola (',')" + label: Email + info: "Inserisci gli indirizzi email separati da virgole (',')" + submit: Manda inviti + title: Manda inviti create: success_html: <strong>%{count} inviti</strong> sono stati inviati. + title: Manda inviti From 5892df319fdcdfbbe0211ca76e54b9f533f32e20 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:12:20 +0200 Subject: [PATCH 055/565] New translations officing.yml (Italian) --- config/locales/it/officing.yml | 59 ++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 7 deletions(-) diff --git a/config/locales/it/officing.yml b/config/locales/it/officing.yml index 2bc5ab25e..5da1cd0e9 100644 --- a/config/locales/it/officing.yml +++ b/config/locales/it/officing.yml @@ -1,23 +1,68 @@ it: officing: + header: + title: Votazione + dashboard: + index: + title: Scrutinio + info: Qui è possibile convalidare i documenti degli utenti e archiviare i risultati delle votazioni + no_shifts: Oggi non hai turni da scrutatore. menu: - voters: Convalidare il documento + voters: Convalida documento + total_recounts: Scrutinio finale e risultati + polls: + final: + title: Votazioni pronte per lo scrutinio finale + no_polls: Non sei incaricato degli scrutini finali in alcuna votazione attiva + select_poll: Seleziona votazione + add_results: Aggiungi risultati results: flash: create: "Risultati salvati" - error_create: "Risultati non salvati. Errore nei dati." - error_wrong_booth: "Seggio sbagliato. Risultati non salvati." + error_create: "Risultati NON salvati. Errore nei dati." + error_wrong_booth: "Seggio sbagliato. Risultati NON salvati." new: - select_booth: "Selezionare il seggio" + title: "%{poll} - Aggiungi risultati" + not_allowed: "Sei autorizzato ad aggiungere risultati per questa votazione" + booth: "Seggio" + date: "Data" + select_booth: "Seleziona seggio" + ballots_white: "Schede totalmente bianche" + ballots_null: "Schede invalidate" + ballots_total: "Schede totali" + submit: "Salva" + results_list: "I tuoi risultati" + see_results: "Vedi risultati" index: no_results: "Nessun risultato" + results: Risultati + table_answer: Risposta + table_votes: Voti + table_whites: "Schede totalmente bianche" + table_nulls: "Schede invalidate" + table_total: "Schede totali" residence: flash: create: "Documento verificato con l'Anagrafe" + not_allowed: "Oggi non hai turni da scrutatore" new: - form_errors: non hanno consentito di verificare il documento + title: Convalida documento + document_number: "Numero del documento (lettere incluse)" + submit: Convalida documento + error_verifying_census: "L’Anagrafe non ha potuto verificare questo documento." + form_errors: non hanno consentito di verificare questo documento + no_assignments: "Oggi non hai turni da scrutatore" voters: + new: + title: Votazioni + table_poll: Votazione + table_status: Status votazioni + table_actions: Azioni + not_to_vote: La persona ha deciso di non votare al momento show: - can_vote: Puoi votare - error_already_voted: Hai già partecipato a questa votazione + can_vote: Può votare + error_already_voted: Ha già partecipato a questa votazione + submit: Conferma voto success: "Voto inserito!" + can_vote: + submit_disable_with: "Attendi, conferma del voto in corso..." From 8a884374f10a0f1ef49b7316a113f79307d28e4c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:12:37 +0200 Subject: [PATCH 056/565] New translations general.yml (Albanian) --- config/locales/sq-AL/general.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/config/locales/sq-AL/general.yml b/config/locales/sq-AL/general.yml index a764eacf1..4628e2714 100644 --- a/config/locales/sq-AL/general.yml +++ b/config/locales/sq-AL/general.yml @@ -205,7 +205,7 @@ sq: consul: Consul Tirana consul_url: https://github.com/consul/consul contact_us: Për ndihmë teknike hyni në - copyright: Tiranë, %{year} + copyright: Bashkia Tiranë, %{year} description: Ky portal përdor %{consul} i cili është %{open_source}. open_source: programet open-source open_source_url: http://www.gnu.org/licenses/agpl-3.0.html @@ -249,7 +249,6 @@ sq: text_sign_in: Kycu text_sign_up: Rregjistrohu title: Si mund ta komentoj këtë dokument? - locale: Anglisht notifications: index: empty_notifications: Ju nuk keni njoftime të reja From b9b71b406b5f98b6e2933630cfbd6329f219c133 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:12:51 +0200 Subject: [PATCH 057/565] New translations general.yml (Polish) --- config/locales/pl-PL/general.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/pl-PL/general.yml b/config/locales/pl-PL/general.yml index f5bbbebf3..d8a0aeafa 100644 --- a/config/locales/pl-PL/general.yml +++ b/config/locales/pl-PL/general.yml @@ -257,7 +257,6 @@ pl: text_sign_in: zaloguj się text_sign_up: zarejestruj się title: Jak mogę skomentować ten dokument? - locale: angielski notifications: index: empty_notifications: Nie masz nowych powiadomień. From b6744e4032a70a75a9b1e99a4de0c3e13bed2715 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:12:58 +0200 Subject: [PATCH 058/565] New translations i18n.yml (Spanish, Mexico) --- config/locales/es-MX/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-MX/i18n.yml diff --git a/config/locales/es-MX/i18n.yml b/config/locales/es-MX/i18n.yml new file mode 100644 index 000000000..68daaa78a --- /dev/null +++ b/config/locales/es-MX/i18n.yml @@ -0,0 +1 @@ +es-MX: From 427d3feedead5e6a11369ba02fb2333720e6950f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:12:59 +0200 Subject: [PATCH 059/565] New translations i18n.yml (Spanish, Bolivia) --- config/locales/es-BO/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-BO/i18n.yml diff --git a/config/locales/es-BO/i18n.yml b/config/locales/es-BO/i18n.yml new file mode 100644 index 000000000..2b91dc237 --- /dev/null +++ b/config/locales/es-BO/i18n.yml @@ -0,0 +1 @@ +es-BO: From 42d130427a32dd1be73e156da00b9d5e8ae890b9 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:00 +0200 Subject: [PATCH 060/565] New translations i18n.yml (Spanish, Chile) --- config/locales/es-CL/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-CL/i18n.yml diff --git a/config/locales/es-CL/i18n.yml b/config/locales/es-CL/i18n.yml new file mode 100644 index 000000000..d967dec0b --- /dev/null +++ b/config/locales/es-CL/i18n.yml @@ -0,0 +1 @@ +es-CL: From 7ba39591af34790cfbb314df48ebe70c7568d174 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:01 +0200 Subject: [PATCH 061/565] New translations i18n.yml (Spanish, Colombia) --- config/locales/es-CO/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-CO/i18n.yml diff --git a/config/locales/es-CO/i18n.yml b/config/locales/es-CO/i18n.yml new file mode 100644 index 000000000..932163f72 --- /dev/null +++ b/config/locales/es-CO/i18n.yml @@ -0,0 +1 @@ +es-CO: From b12cbf96b3dedf5c3104cacca4bd0a504b46f986 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:02 +0200 Subject: [PATCH 062/565] New translations i18n.yml (Spanish, Costa Rica) --- config/locales/es-CR/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-CR/i18n.yml diff --git a/config/locales/es-CR/i18n.yml b/config/locales/es-CR/i18n.yml new file mode 100644 index 000000000..751c34276 --- /dev/null +++ b/config/locales/es-CR/i18n.yml @@ -0,0 +1 @@ +es-CR: From 124429d0a3fd23c15d58e15db230824b3bb8e949 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:02 +0200 Subject: [PATCH 063/565] New translations i18n.yml (Spanish, Dominican Republic) --- config/locales/es-DO/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-DO/i18n.yml diff --git a/config/locales/es-DO/i18n.yml b/config/locales/es-DO/i18n.yml new file mode 100644 index 000000000..0a3dffb85 --- /dev/null +++ b/config/locales/es-DO/i18n.yml @@ -0,0 +1 @@ +es-DO: From ed6fddd42b6ea7861bd3df10cfd06c68fc4a51a3 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:03 +0200 Subject: [PATCH 064/565] New translations i18n.yml (Spanish, Ecuador) --- config/locales/es-EC/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-EC/i18n.yml diff --git a/config/locales/es-EC/i18n.yml b/config/locales/es-EC/i18n.yml new file mode 100644 index 000000000..f8dca1eb9 --- /dev/null +++ b/config/locales/es-EC/i18n.yml @@ -0,0 +1 @@ +es-EC: From 68a1fd06852de38897ffc0d7960aed30aaac9fc3 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:05 +0200 Subject: [PATCH 065/565] New translations i18n.yml (Spanish, El Salvador) --- config/locales/es-SV/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-SV/i18n.yml diff --git a/config/locales/es-SV/i18n.yml b/config/locales/es-SV/i18n.yml new file mode 100644 index 000000000..480fa2a22 --- /dev/null +++ b/config/locales/es-SV/i18n.yml @@ -0,0 +1 @@ +es-SV: From 13f739d122793f5ebd69eab3dce0cabbd5ca162b Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:05 +0200 Subject: [PATCH 066/565] New translations i18n.yml (Spanish, Guatemala) --- config/locales/es-GT/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-GT/i18n.yml diff --git a/config/locales/es-GT/i18n.yml b/config/locales/es-GT/i18n.yml new file mode 100644 index 000000000..b818fd59a --- /dev/null +++ b/config/locales/es-GT/i18n.yml @@ -0,0 +1 @@ +es-GT: From 868f546b75015db9496f556d7a828e889467b31b Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:06 +0200 Subject: [PATCH 067/565] New translations i18n.yml (Spanish, Honduras) --- config/locales/es-HN/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-HN/i18n.yml diff --git a/config/locales/es-HN/i18n.yml b/config/locales/es-HN/i18n.yml new file mode 100644 index 000000000..fb780fbb4 --- /dev/null +++ b/config/locales/es-HN/i18n.yml @@ -0,0 +1 @@ +es-HN: From 2df85a2b2e5f16bf78184635e3f3da11d64b7a1d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:07 +0200 Subject: [PATCH 068/565] New translations i18n.yml (Spanish, Nicaragua) --- config/locales/es-NI/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-NI/i18n.yml diff --git a/config/locales/es-NI/i18n.yml b/config/locales/es-NI/i18n.yml new file mode 100644 index 000000000..247f075c8 --- /dev/null +++ b/config/locales/es-NI/i18n.yml @@ -0,0 +1 @@ +es-NI: From dbcb78256bd88d121be9666dc591e59b6de195d1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:08 +0200 Subject: [PATCH 069/565] New translations i18n.yml (Spanish) --- config/locales/es/i18n.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/config/locales/es/i18n.yml b/config/locales/es/i18n.yml index 8df5d7ec1..a07a74d17 100644 --- a/config/locales/es/i18n.yml +++ b/config/locales/es/i18n.yml @@ -1,4 +1 @@ es: - i18n: - language: - name: "Español" \ No newline at end of file From ccff80f5a45b724bf219df6b65432ebbd35750f9 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:09 +0200 Subject: [PATCH 070/565] New translations i18n.yml (Spanish, Panama) --- config/locales/es-PA/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-PA/i18n.yml diff --git a/config/locales/es-PA/i18n.yml b/config/locales/es-PA/i18n.yml new file mode 100644 index 000000000..39c36773a --- /dev/null +++ b/config/locales/es-PA/i18n.yml @@ -0,0 +1 @@ +es-PA: From 4e000e5f0a3d86415decc5d5ad2b8791fbd4f3ee Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:10 +0200 Subject: [PATCH 071/565] New translations i18n.yml (Spanish, Paraguay) --- config/locales/es-PY/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-PY/i18n.yml diff --git a/config/locales/es-PY/i18n.yml b/config/locales/es-PY/i18n.yml new file mode 100644 index 000000000..551da0c00 --- /dev/null +++ b/config/locales/es-PY/i18n.yml @@ -0,0 +1 @@ +es-PY: From c5e3a25648fb2e3f768ee3bf3a88dcaa0ea831be Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:11 +0200 Subject: [PATCH 072/565] New translations i18n.yml (Spanish, Peru) --- config/locales/es-PE/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-PE/i18n.yml diff --git a/config/locales/es-PE/i18n.yml b/config/locales/es-PE/i18n.yml new file mode 100644 index 000000000..9fe10223f --- /dev/null +++ b/config/locales/es-PE/i18n.yml @@ -0,0 +1 @@ +es-PE: From eeba4575aece22cd6d4f9874ac9b66962db8ef30 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:12 +0200 Subject: [PATCH 073/565] New translations i18n.yml (Spanish, Puerto Rico) --- config/locales/es-PR/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-PR/i18n.yml diff --git a/config/locales/es-PR/i18n.yml b/config/locales/es-PR/i18n.yml new file mode 100644 index 000000000..cbf250a81 --- /dev/null +++ b/config/locales/es-PR/i18n.yml @@ -0,0 +1 @@ +es-PR: From 8d016bbd9b2c85492075f2a7b36697666aca0a20 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:12 +0200 Subject: [PATCH 074/565] New translations i18n.yml (Spanish, Uruguay) --- config/locales/es-UY/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-UY/i18n.yml diff --git a/config/locales/es-UY/i18n.yml b/config/locales/es-UY/i18n.yml new file mode 100644 index 000000000..b83e3b863 --- /dev/null +++ b/config/locales/es-UY/i18n.yml @@ -0,0 +1 @@ +es-UY: From 0c1d1b808fe0f3685722c3d46c45a25293741c79 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:13 +0200 Subject: [PATCH 075/565] New translations i18n.yml (Spanish, Venezuela) --- config/locales/es-VE/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-VE/i18n.yml diff --git a/config/locales/es-VE/i18n.yml b/config/locales/es-VE/i18n.yml new file mode 100644 index 000000000..15a812bff --- /dev/null +++ b/config/locales/es-VE/i18n.yml @@ -0,0 +1 @@ +es-VE: From dd43cf4208903cfadd584c1c5e5d1df9af8eb7d2 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:14 +0200 Subject: [PATCH 076/565] New translations i18n.yml (Swedish) --- config/locales/sv-SE/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/sv-SE/i18n.yml diff --git a/config/locales/sv-SE/i18n.yml b/config/locales/sv-SE/i18n.yml new file mode 100644 index 000000000..7e73a972a --- /dev/null +++ b/config/locales/sv-SE/i18n.yml @@ -0,0 +1 @@ +sv: From 3c690e7fe96da3242d324dc806030b75d19db5f4 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:15 +0200 Subject: [PATCH 077/565] New translations i18n.yml (Swedish, Finland) --- config/locales/sv-FI/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/sv-FI/i18n.yml diff --git a/config/locales/sv-FI/i18n.yml b/config/locales/sv-FI/i18n.yml new file mode 100644 index 000000000..bddbc3af6 --- /dev/null +++ b/config/locales/sv-FI/i18n.yml @@ -0,0 +1 @@ +sv-FI: From 5364abb530243decf21f165a3f584a4668d17671 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:16 +0200 Subject: [PATCH 078/565] New translations i18n.yml (Turkish) --- config/locales/tr-TR/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/tr-TR/i18n.yml diff --git a/config/locales/tr-TR/i18n.yml b/config/locales/tr-TR/i18n.yml new file mode 100644 index 000000000..077d41667 --- /dev/null +++ b/config/locales/tr-TR/i18n.yml @@ -0,0 +1 @@ +tr: From e303f76ed415bc8bd59ba4707bbdb20acfbd5c48 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:17 +0200 Subject: [PATCH 079/565] New translations i18n.yml (Spanish, Argentina) --- config/locales/es-AR/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/es-AR/i18n.yml diff --git a/config/locales/es-AR/i18n.yml b/config/locales/es-AR/i18n.yml new file mode 100644 index 000000000..515d5c1ed --- /dev/null +++ b/config/locales/es-AR/i18n.yml @@ -0,0 +1 @@ +es-AR: From d1146747476ba4bbcdc8ffdb2a76dcc5e518b6c2 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:18 +0200 Subject: [PATCH 080/565] New translations i18n.yml (Somali) --- config/locales/so-SO/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/so-SO/i18n.yml diff --git a/config/locales/so-SO/i18n.yml b/config/locales/so-SO/i18n.yml new file mode 100644 index 000000000..11720879b --- /dev/null +++ b/config/locales/so-SO/i18n.yml @@ -0,0 +1 @@ +so: From 1f0e3e01b324d703f3cc57bb3019d2271d3156d0 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:19 +0200 Subject: [PATCH 081/565] New translations i18n.yml (English, United States) --- config/locales/en-US/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/en-US/i18n.yml diff --git a/config/locales/en-US/i18n.yml b/config/locales/en-US/i18n.yml new file mode 100644 index 000000000..519704201 --- /dev/null +++ b/config/locales/en-US/i18n.yml @@ -0,0 +1 @@ +en-US: From 9e91820e2b3fd8c853491b16dcf8e989d014af32 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:20 +0200 Subject: [PATCH 082/565] New translations i18n.yml (Albanian) --- config/locales/sq-AL/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/sq-AL/i18n.yml diff --git a/config/locales/sq-AL/i18n.yml b/config/locales/sq-AL/i18n.yml new file mode 100644 index 000000000..44ddadc95 --- /dev/null +++ b/config/locales/sq-AL/i18n.yml @@ -0,0 +1 @@ +sq: From 810bad2448acd7dae059329b9d92519c5fd554a1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:21 +0200 Subject: [PATCH 083/565] New translations i18n.yml (Arabic) --- config/locales/ar/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/ar/i18n.yml diff --git a/config/locales/ar/i18n.yml b/config/locales/ar/i18n.yml new file mode 100644 index 000000000..c257bc08a --- /dev/null +++ b/config/locales/ar/i18n.yml @@ -0,0 +1 @@ +ar: From efd7dc231da40feee655e0c7ac913c04bafcaa9f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:22 +0200 Subject: [PATCH 084/565] New translations i18n.yml (Asturian) --- config/locales/ast/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/ast/i18n.yml diff --git a/config/locales/ast/i18n.yml b/config/locales/ast/i18n.yml new file mode 100644 index 000000000..d762c9399 --- /dev/null +++ b/config/locales/ast/i18n.yml @@ -0,0 +1 @@ +ast: From 9133b1b549d1b5805fe311597ea51aa3468f210d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:23 +0200 Subject: [PATCH 085/565] New translations i18n.yml (Basque) --- config/locales/eu-ES/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/eu-ES/i18n.yml diff --git a/config/locales/eu-ES/i18n.yml b/config/locales/eu-ES/i18n.yml new file mode 100644 index 000000000..566e176fc --- /dev/null +++ b/config/locales/eu-ES/i18n.yml @@ -0,0 +1 @@ +eu: From ae02c45c5f9740f60bb1bbf23064caeb7da65c42 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:24 +0200 Subject: [PATCH 086/565] New translations i18n.yml (Catalan) --- config/locales/ca/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/ca/i18n.yml diff --git a/config/locales/ca/i18n.yml b/config/locales/ca/i18n.yml new file mode 100644 index 000000000..f0c487273 --- /dev/null +++ b/config/locales/ca/i18n.yml @@ -0,0 +1 @@ +ca: From 9372c179b749390f36ed3e0c769368d15251f11e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:24 +0200 Subject: [PATCH 087/565] New translations i18n.yml (Chinese Simplified) --- config/locales/zh-CN/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/zh-CN/i18n.yml diff --git a/config/locales/zh-CN/i18n.yml b/config/locales/zh-CN/i18n.yml new file mode 100644 index 000000000..f0b698bf3 --- /dev/null +++ b/config/locales/zh-CN/i18n.yml @@ -0,0 +1 @@ +zh-CN: From 690a0e642833b434a36534eb324b18b4d2a1e63f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:25 +0200 Subject: [PATCH 088/565] New translations i18n.yml (Chinese Traditional) --- config/locales/zh-TW/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/zh-TW/i18n.yml diff --git a/config/locales/zh-TW/i18n.yml b/config/locales/zh-TW/i18n.yml new file mode 100644 index 000000000..cb82c0526 --- /dev/null +++ b/config/locales/zh-TW/i18n.yml @@ -0,0 +1 @@ +zh-TW: From d2cfb563a409ccf57693c7343e0228b26db080d6 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:26 +0200 Subject: [PATCH 089/565] New translations i18n.yml (Dutch) --- config/locales/nl/i18n.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/config/locales/nl/i18n.yml b/config/locales/nl/i18n.yml index c85ec1294..f009eadee 100644 --- a/config/locales/nl/i18n.yml +++ b/config/locales/nl/i18n.yml @@ -1,4 +1 @@ nl: - i18n: - language: - name: "Nederlands" \ No newline at end of file From abe4f6b01915bfd773693bfdcd34f698955a1155 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:27 +0200 Subject: [PATCH 090/565] New translations i18n.yml (English, United Kingdom) --- config/locales/en-GB/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/en-GB/i18n.yml diff --git a/config/locales/en-GB/i18n.yml b/config/locales/en-GB/i18n.yml new file mode 100644 index 000000000..ef03d1810 --- /dev/null +++ b/config/locales/en-GB/i18n.yml @@ -0,0 +1 @@ +en-GB: From 3749eeb7ca7053fe4bf305a265768adb2ff5fe29 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:28 +0200 Subject: [PATCH 091/565] New translations i18n.yml (French) --- config/locales/fr/i18n.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/config/locales/fr/i18n.yml b/config/locales/fr/i18n.yml index 911aa3352..1831d4398 100644 --- a/config/locales/fr/i18n.yml +++ b/config/locales/fr/i18n.yml @@ -1,4 +1 @@ fr: - i18n: - language: - name: "Français" \ No newline at end of file From 00db81eecbb912fcb283b0ac02c1b60895db1264 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:29 +0200 Subject: [PATCH 092/565] New translations i18n.yml (Slovenian) --- config/locales/sl-SI/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/sl-SI/i18n.yml diff --git a/config/locales/sl-SI/i18n.yml b/config/locales/sl-SI/i18n.yml new file mode 100644 index 000000000..26c7ce2e3 --- /dev/null +++ b/config/locales/sl-SI/i18n.yml @@ -0,0 +1 @@ +sl: From 792edebec1854121370464efe0e485121e888e76 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:30 +0200 Subject: [PATCH 093/565] New translations i18n.yml (Galician) --- config/locales/gl/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/gl/i18n.yml diff --git a/config/locales/gl/i18n.yml b/config/locales/gl/i18n.yml new file mode 100644 index 000000000..8ec5fc81c --- /dev/null +++ b/config/locales/gl/i18n.yml @@ -0,0 +1 @@ +gl: From 4ecb2508242ca99295a014fc8354d37fc75784d1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:31 +0200 Subject: [PATCH 094/565] New translations i18n.yml (German) --- config/locales/de-DE/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/de-DE/i18n.yml diff --git a/config/locales/de-DE/i18n.yml b/config/locales/de-DE/i18n.yml new file mode 100644 index 000000000..346523bb6 --- /dev/null +++ b/config/locales/de-DE/i18n.yml @@ -0,0 +1 @@ +de: From 851eb29dd2eac95cfe4beee662cedc5917d01374 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:32 +0200 Subject: [PATCH 095/565] New translations i18n.yml (Hebrew) --- config/locales/he/i18n.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/config/locales/he/i18n.yml b/config/locales/he/i18n.yml index 003edcd71..af6fa60a7 100644 --- a/config/locales/he/i18n.yml +++ b/config/locales/he/i18n.yml @@ -1,4 +1 @@ he: - i18n: - language: - name: "עברית" \ No newline at end of file From ab8f30bf586ecf725892c59630bbb92593318e8d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:33 +0200 Subject: [PATCH 096/565] New translations i18n.yml (Indonesian) --- config/locales/id-ID/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/id-ID/i18n.yml diff --git a/config/locales/id-ID/i18n.yml b/config/locales/id-ID/i18n.yml new file mode 100644 index 000000000..8446cbad9 --- /dev/null +++ b/config/locales/id-ID/i18n.yml @@ -0,0 +1 @@ +id: From fdc3299949bfab6a9274f4c8d929f16a4d08d025 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:34 +0200 Subject: [PATCH 097/565] New translations i18n.yml (Italian) --- config/locales/it/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/it/i18n.yml diff --git a/config/locales/it/i18n.yml b/config/locales/it/i18n.yml new file mode 100644 index 000000000..85830635a --- /dev/null +++ b/config/locales/it/i18n.yml @@ -0,0 +1 @@ +it: From bef1a062d9f635a0866efaa5c4a5655bbc42d728 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:34 +0200 Subject: [PATCH 098/565] New translations i18n.yml (Papiamento) --- config/locales/pap-PAP/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/pap-PAP/i18n.yml diff --git a/config/locales/pap-PAP/i18n.yml b/config/locales/pap-PAP/i18n.yml new file mode 100644 index 000000000..8e70e2fb9 --- /dev/null +++ b/config/locales/pap-PAP/i18n.yml @@ -0,0 +1 @@ +pap: From 1da9bd82ab4e0790156cc8446a9b07b77983018b Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:35 +0200 Subject: [PATCH 099/565] New translations i18n.yml (Persian) --- config/locales/fa-IR/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fa-IR/i18n.yml diff --git a/config/locales/fa-IR/i18n.yml b/config/locales/fa-IR/i18n.yml new file mode 100644 index 000000000..88215f82c --- /dev/null +++ b/config/locales/fa-IR/i18n.yml @@ -0,0 +1 @@ +fa: From bc63c424258c6a4bb542a95a153f18b082d59cf6 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:36 +0200 Subject: [PATCH 100/565] New translations i18n.yml (Polish) --- config/locales/pl-PL/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/pl-PL/i18n.yml diff --git a/config/locales/pl-PL/i18n.yml b/config/locales/pl-PL/i18n.yml new file mode 100644 index 000000000..a8e4dde70 --- /dev/null +++ b/config/locales/pl-PL/i18n.yml @@ -0,0 +1 @@ +pl: From 262bef35052d8d9e80301da8edc9f510dd64489d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:37 +0200 Subject: [PATCH 101/565] New translations i18n.yml (Portuguese, Brazilian) --- config/locales/pt-BR/i18n.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/config/locales/pt-BR/i18n.yml b/config/locales/pt-BR/i18n.yml index a9a624a68..21460cded 100644 --- a/config/locales/pt-BR/i18n.yml +++ b/config/locales/pt-BR/i18n.yml @@ -1,4 +1 @@ pt-BR: - i18n: - language: - name: "Português brasileiro" \ No newline at end of file From 4dd947d5f113a170dc943dc087958c9fd3052493 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:38 +0200 Subject: [PATCH 102/565] New translations i18n.yml (Russian) --- config/locales/ru/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/ru/i18n.yml diff --git a/config/locales/ru/i18n.yml b/config/locales/ru/i18n.yml new file mode 100644 index 000000000..ddc9d1e32 --- /dev/null +++ b/config/locales/ru/i18n.yml @@ -0,0 +1 @@ +ru: From dfb12f8f2887b3362e9be5acc51518db5f8338f1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:13:44 +0200 Subject: [PATCH 103/565] New translations seeds.yml (Spanish) --- config/locales/es/seeds.yml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/config/locales/es/seeds.yml b/config/locales/es/seeds.yml index 742c21f1c..bc3812579 100644 --- a/config/locales/es/seeds.yml +++ b/config/locales/es/seeds.yml @@ -1,11 +1,5 @@ es: seeds: - settings: - official_level_1_name: Cargo oficial 1 - official_level_2_name: Cargo oficial 2 - official_level_3_name: Cargo oficial 3 - official_level_4_name: Cargo oficial 4 - official_level_5_name: Cargo oficial 5 geozones: north_district: Distrito Norte west_district: Distrito Oeste @@ -35,16 +29,6 @@ es: groups: all_city: Toda la Ciudad districts: Distritos - valuator_groups: - culture_and_sports: Cultura y Deportes - gender_and_diversity: Políticas de Género y Diversidad - urban_development: Desarrollo Urbano Sostenible - equity_and_employment: Equidad y Empleo - statuses: - studying_project: Estudiando el proyecto - bidding: Licitación - executing_project: Ejecutando el proyecto - executed: Ejecutado polls: current_poll: "Votación Abierta" current_poll_geozone_restricted: "Votación Abierta restringida por geozona" From 86e6704c6f97e9a00d8e810af5e1d6b60b14fcdc Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 15:14:11 +0200 Subject: [PATCH 104/565] New translations i18n.yml (Valencian) --- config/locales/val/i18n.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/config/locales/val/i18n.yml b/config/locales/val/i18n.yml index 59e13344b..fa70518d0 100644 --- a/config/locales/val/i18n.yml +++ b/config/locales/val/i18n.yml @@ -1,4 +1 @@ val: - i18n: - language: - name: "Valencià" \ No newline at end of file From 62e07945b075732d8ed3d011eef51a416fbffbfb Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 16:50:36 +0200 Subject: [PATCH 105/565] New translations activerecord.yml (Spanish) --- config/locales/es/activerecord.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/es/activerecord.yml b/config/locales/es/activerecord.yml index c8d27105c..3d8080dd5 100644 --- a/config/locales/es/activerecord.yml +++ b/config/locales/es/activerecord.yml @@ -105,7 +105,7 @@ es: other: "Votaciones" proposal_notification: one: "Notificación de propuesta" - other: "Notificaciónes de propuesta" + other: "Notificaciones de propuesta" attributes: budget: name: "Nombre" From 78f7206be090e9fdd154c516cd8a408cdca95967 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:10:32 +0200 Subject: [PATCH 106/565] New translations budgets.yml (Spanish) --- config/locales/es/budgets.yml | 52 +++++++++++++++++------------------ 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/config/locales/es/budgets.yml b/config/locales/es/budgets.yml index 4c32a9ba1..e4714f6e5 100644 --- a/config/locales/es/budgets.yml +++ b/config/locales/es/budgets.yml @@ -8,15 +8,15 @@ es: no_balloted_group_yet: "Todavía no has votado proyectos de este grupo, ¡vota!" remove: Quitar voto voted_html: - one: "Has votado <span>una</span> propuesta." - other: "Has votado <span>%{count}</span> propuestas." + one: "Has votado <span>un</span> proyecto." + other: "Has votado <span>%{count}</span> proyectos." voted_info_html: "Puedes cambiar tus votos en cualquier momento hasta el cierre de esta fase.<br> No hace falta que gastes todo el dinero disponible." - zero: Todavía no has votado ninguna propuesta de inversión. + zero: Todavía no has votado ningún proyecto de gasto. reasons_for_not_balloting: not_logged_in: Necesitas %{signin} o %{signup} para continuar. - not_verified: Las propuestas de inversión sólo pueden ser apoyadas por usuarios verificados, %{verify_account}. + not_verified: Los proyectos de gasto sólo pueden ser apoyados por usuarios verificados, %{verify_account}. organization: Las organizaciones no pueden votar. - not_selected: No se pueden votar propuestas inviables. + not_selected: No se pueden votar proyectos inviables. not_enough_money_html: "Ya has asignado el presupuesto disponible.<br><small>Recuerda que puedes %{change_ballot} en cualquier momento</small>" no_ballots_allowed: El periodo de votación está cerrado. different_heading_assigned_html: "Ya has votado proyectos de otra partida: %{heading_link}" @@ -24,8 +24,8 @@ es: groups: show: title: Selecciona una opción - unfeasible_title: Propuestas inviables - unfeasible: Ver propuestas inviables + unfeasible_title: Proyectos inviables + unfeasible: Ver proyectos inviables unselected_title: Propuestas no seleccionadas para la votación final unselected: Ver las propuestas no seleccionadas para la votación final phase: @@ -49,9 +49,9 @@ es: all_phases: Ver todas las fases all_phases: Fases de los presupuestos participativos map: Proyectos localizables geográficamente - investment_proyects: Ver lista completa de proyectos de inversión - unfeasible_investment_proyects: Ver lista de proyectos de inversión inviables - not_selected_investment_proyects: Ver lista de proyectos de inversión no seleccionados para la votación final + investment_proyects: Ver lista completa de proyectos de gasto + unfeasible_investment_proyects: Ver lista de proyectos de gasto inviables + not_selected_investment_proyects: Ver lista de proyectos de gasto no seleccionados para la votación final finished_budgets: Presupuestos participativos terminados see_results: Ver resultados section_footer: @@ -74,7 +74,7 @@ es: by_heading: "Propuestas de inversión con ámbito: %{heading}" search_form: button: Buscar - placeholder: Buscar propuestas de inversión... + placeholder: Buscar proyectos de gasto... title: Buscar search_results_html: one: " que contiene <strong>'%{search_term}'</strong>" @@ -82,32 +82,32 @@ es: sidebar: my_ballot: Mis votos voted_html: - one: "<strong>Has votado una propuesta por un valor de %{amount_spent}</strong>" + one: "<strong>Has votado un proyecto por un valor de %{amount_spent}</strong>" other: "<strong>Has votado %{count} propuestas por un valor de %{amount_spent}</strong>" voted_info: Puedes %{link} en cualquier momento hasta el cierre de esta fase. No hace falta que gastes todo el dinero disponible. voted_info_link: cambiar tus votos - different_heading_assigned_html: "Ya apoyaste propuestas de otra sección del presupuesto: %{heading_link}" + different_heading_assigned_html: "Ya apoyaste proyectos de otra sección del presupuesto: %{heading_link}" change_ballot: "Si cambias de opinión puedes borrar tus votos en %{check_ballot} y volver a empezar." check_ballot_link: "revisar mis votos" - zero: Todavía no has votado ninguna propuesta de inversión en este ámbito del presupuesto. - verified_only: "Para crear una nueva propuesta de inversión %{verify}." + zero: Todavía no has votado ningún proyecto de gasto en este ámbito del presupuesto. + verified_only: "Para crear un nuevo proyecto de gasto %{verify}." verify_account: "verifica tu cuenta" create: "Crear proyecto de gasto" - not_logged_in: "Para crear una nueva propuesta de inversión debes %{sign_in} o %{sign_up}." + not_logged_in: "Para crear un nuevo proyecto de gasto debes %{sign_in} o %{sign_up}." sign_in: "iniciar sesión" sign_up: "registrarte" by_feasibility: Por viabilidad feasible: Ver los proyectos viables unfeasible: Ver los proyectos inviables orders: - random: Aleatorias - confidence_score: Mejor valoradas + random: Aleatorios + confidence_score: Mejor valorados price: Por coste show: author_deleted: Usuario eliminado price_explanation: Informe de coste unfeasibility_explanation: Informe de inviabilidad - code_html: 'Código propuesta de gasto: <strong>%{code}</strong>' + code_html: 'Código proyecto de gasto: <strong>%{code}</strong>' location_html: 'Ubicación: <strong>%{location}</strong>' organization_name_html: 'Propuesto en nombre de: <strong>%{name}</strong>' share: Compartir @@ -125,9 +125,9 @@ es: wrong_price_format: Solo puede incluir caracteres numéricos investment: add: Votar - already_added: Ya has añadido esta propuesta de inversión + already_added: Ya has añadido este proyecto de gasto already_supported: Ya has apoyado este proyecto de inversión. ¡Compártelo! - support_title: Apoyar esta propuesta + support_title: Apoyar este proyecto confirm_group: one: "Sólo puedes apoyar proyectos en %{count} distritos. Si sigues adelante no podrás cambiar la elección de este distrito. ¿Estás seguro?" other: "Sólo puedes apoyar proyectos en %{count} distritos. Si sigues adelante no podrás cambiar la elección de este distrito. ¿Estás seguro?" @@ -138,7 +138,7 @@ es: give_support: Apoyar header: check_ballot: Revisar mis votos - different_heading_assigned_html: "Ya apoyaste propuestas de otra sección del presupuesto: %{heading_link}" + different_heading_assigned_html: "Ya apoyaste proyectos de otra sección del presupuesto: %{heading_link}" change_ballot: "Si cambias de opinión puedes borrar tus votos en %{check_ballot} y volver a empezar." check_ballot_link: "revisar mis votos" price: "Esta partida tiene un presupuesto de" @@ -148,8 +148,8 @@ es: show: group: Grupo phase: Fase actual - unfeasible_title: Propuestas inviables - unfeasible: Ver las propuestas inviables + unfeasible_title: Proyectos inviables + unfeasible: Ver los proyectos inviables unselected_title: Propuestas no seleccionadas para la votación final unselected: Ver las propuestas no seleccionadas para la votación final see_results: Ver resultados @@ -164,8 +164,8 @@ es: show_all_link: Mostrar todas price: Precio total amount_available: Presupuesto disponible - accepted: "Propuesta de inversión aceptada: " - discarded: "Propuesta de inversión descartada: " + accepted: "Proyecto de gasto aceptado: " + discarded: "Proyecto de gasto descartado: " incompatibles: Incompatibles investment_proyects: Ver lista completa de proyectos de gasto unfeasible_investment_proyects: Ver lista de proyectos de gasto inviables From fd550d86824194b702e68784e3012ac01944422f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:10:34 +0200 Subject: [PATCH 107/565] New translations activerecord.yml (Spanish) --- config/locales/es/activerecord.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/locales/es/activerecord.yml b/config/locales/es/activerecord.yml index 3d8080dd5..0f81f3a97 100644 --- a/config/locales/es/activerecord.yml +++ b/config/locales/es/activerecord.yml @@ -14,8 +14,8 @@ es: one: "hito" other: "hitos" budget/investment/status: - one: "Estado de la inversión" - other: "Estados de las inversiones" + one: "Estado del proyecto" + other: "Estados del proyecto" comment: one: "Comentario" other: "Comentarios" @@ -129,9 +129,9 @@ es: image: "Imagen descriptiva del proyecto de gasto" image_title: "Título de la imagen" budget/investment/milestone: - status_id: "Estado actual de la inversión (opcional)" + status_id: "Estado actual del proyecto (opcional)" title: "Título" - description: "Descripción (opcional si hay una condición asignada)" + description: "Descripción (opcional si hay un estado asignado)" publication_date: "Fecha de publicación" budget/investment/status: name: "Nombre" From da8542a2b11c1551ff21867ecd561d358f807165 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:10:35 +0200 Subject: [PATCH 108/565] New translations community.yml (Spanish) --- config/locales/es/community.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/es/community.yml b/config/locales/es/community.yml index f08a4918a..2d62c7b2f 100644 --- a/config/locales/es/community.yml +++ b/config/locales/es/community.yml @@ -4,7 +4,7 @@ es: title: Comunidad description: proposal: Participa en la comunidad de usuarios de esta propuesta. - investment: Participa en la comunidad de usuarios de este proyecto de inversión. + investment: Participa en la comunidad de usuarios de este proyecto de gasto. button_to_access: Acceder a la comunidad show: title: @@ -12,7 +12,7 @@ es: investment: Comunidad del presupuesto participativo description: proposal: Participa en la comunidad de esta propuesta. Una comunidad activa puede ayudar a mejorar el contenido de la propuesta así como a dinamizar su difusión para conseguir más apoyos. - investment: Participa en la comunidad de este proyecto de inversión. Una comunidad activa puede ayudar a mejorar el contenido del proyecto de inversión así como a dinamizar su difusión para conseguir más apoyos. + investment: Participa en la comunidad de este proyecto de gasto. Una comunidad activa puede ayudar a mejorar el contenido del proyecto de gasto así como a dinamizar su difusión para conseguir más apoyos. create_first_community_topic: first_theme_not_logged_in: No hay ningún tema disponible, participa creando el primero. first_theme: Crea el primer tema de la comunidad From 9e5a2ef6b4867636443ea70b267529e60219fefc Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:10:38 +0200 Subject: [PATCH 109/565] New translations general.yml (Spanish) --- config/locales/es/general.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/config/locales/es/general.yml b/config/locales/es/general.yml index 3e54cf306..e57182acc 100644 --- a/config/locales/es/general.yml +++ b/config/locales/es/general.yml @@ -173,7 +173,7 @@ es: proposal: la propuesta proposal_notification: "la notificación" spending_proposal: la propuesta de gasto - budget/investment: la propuesta de inversión + budget/investment: el proyecto de gasto budget/heading: la partida presupuestaria poll/shift: el turno poll/question/answer: la respuesta @@ -552,9 +552,9 @@ es: followable: budget_investment: create: - notice_html: "¡Ahora estás siguiendo este proyecto de inversión! </br> Te notificaremos los cambios a medida que se produzcan para que estés al día." + notice_html: "¡Ahora estás siguiendo este proyecto de gasto! </br> Te notificaremos los cambios a medida que se produzcan para que estés al día." destroy: - notice_html: "¡Has dejado de seguir este proyecto de inverisión! </br> Ya no recibirás más notificaciones relacionadas con este proyecto." + notice_html: "¡Has dejado de seguir este proyecto de gasto! </br> Ya no recibirás más notificaciones relacionadas con este proyecto." proposal: create: notice_html: "¡Ahora estás siguiendo esta propuesta ciudadana! </br> Te notificaremos los cambios a medida que se produzcan para que estés al día." @@ -574,9 +574,9 @@ es: see_all: "Ver todos" budget_investment: found: - one: "Existe una propuesta de inversión con el término '%{query}', puedes participar en ella en vez de abrir una nueva." - other: "Existen propuestas de inversión con el término '%{query}', puedes participar en ellas en vez de abrir una nueva." - message: "Estás viendo %{limit} de %{count} propuestas de inversión que contienen el término '%{query}'" + one: "Existe un proyecto de gasto con el término '%{query}', puedes participar en él en vez de crear uno nuevo." + other: "Existen proyectos de gasto de con el término '%{query}', puedes participar en ellos en vez de crear una nuevo." + message: "Estás viendo %{limit} de %{count} proyectos de gasto que contienen el término '%{query}'" see_all: "Ver todas" proposal: found: From 013ce9e46f2979601a96dc3dd836164922a8db7a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:10:41 +0200 Subject: [PATCH 110/565] New translations admin.yml (Spanish) --- config/locales/es/admin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index fa8ddf68e..a28dff01b 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -416,7 +416,7 @@ es: form: error: Error form: - add_option: +Añadir respuesta cerrada + add_option: Añadir respuesta cerrada title: Pregunta title_placeholder: Escribe un título a la pregunta value_placeholder: Escribe una respuesta cerrada From 89ba1c1e4e73b7950feef830fef3ae7c6ea1b355 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:10:55 +0200 Subject: [PATCH 111/565] New translations general.yml (Spanish) --- config/locales/es/general.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/es/general.yml b/config/locales/es/general.yml index e57182acc..620b647f6 100644 --- a/config/locales/es/general.yml +++ b/config/locales/es/general.yml @@ -577,7 +577,7 @@ es: one: "Existe un proyecto de gasto con el término '%{query}', puedes participar en él en vez de crear uno nuevo." other: "Existen proyectos de gasto de con el término '%{query}', puedes participar en ellos en vez de crear una nuevo." message: "Estás viendo %{limit} de %{count} proyectos de gasto que contienen el término '%{query}'" - see_all: "Ver todas" + see_all: "Ver todos" proposal: found: one: "Existe una propuesta con el término '%{query}', puedes participar en ella en vez de abrir uno nuevo." From 57e1e3bbe9ab7ab9c5731df1a2bce568bbf24704 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:20:47 +0200 Subject: [PATCH 112/565] New translations mailers.yml (Spanish) --- config/locales/es/mailers.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/es/mailers.yml b/config/locales/es/mailers.yml index 58a6aec67..e8ff5e225 100644 --- a/config/locales/es/mailers.yml +++ b/config/locales/es/mailers.yml @@ -62,7 +62,7 @@ es: new_href: "nueva propuesta de inversión" sincerely: "Atentamente" sorry: "Sentimos las molestias ocasionadas y volvemos a darte las gracias por tu inestimable participación." - subject: "Tu propuesta de inversión '%{code}' ha sido marcada como inviable" + subject: "Tu proyecto de gasto '%{code}' ha sido marcado como inviable" budget_investment_selected: subject: "Tu propuesta de inversión '%{code}' ha sido seleccionada" hi: "Estimado/a usuario/a" @@ -71,7 +71,7 @@ es: thanks: "Gracias de nuevo por tu participación." sincerely: "Atentamente" budget_investment_unselected: - subject: "Tu propuesta de inversión '%{code}' no ha sido seleccionada" + subject: "Tu proyecto de gasto '%{code}' no ha sido seleccionado" hi: "Estimado/a usuario/a" thanks: "Gracias de nuevo por tu participación." sincerely: "Atentamente" From 3a6300bfac33b53ad4e6556c3ce6b7ff09239eea Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:20:48 +0200 Subject: [PATCH 113/565] New translations valuation.yml (Spanish) --- config/locales/es/valuation.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/es/valuation.yml b/config/locales/es/valuation.yml index 7d722e841..48fb68846 100644 --- a/config/locales/es/valuation.yml +++ b/config/locales/es/valuation.yml @@ -25,7 +25,7 @@ es: valuating: En evaluación valuation_finished: Evaluación finalizada assigned_to: "Asignadas a %{valuator}" - title: Propuestas de inversión + title: Proyectos de gasto edit: Editar informe valuators_assigned: one: Evaluador asignado @@ -37,7 +37,7 @@ es: table_actions: Acciones show: back: Volver - title: Propuesta de inversión + title: Proyecto de gasto info: Datos de envío by: Enviada por sent: Fecha de creación From 83362f37c6fb3cddcb0b8cd659e6ce7edf763089 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:20:51 +0200 Subject: [PATCH 114/565] New translations general.yml (Spanish) --- config/locales/es/general.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/es/general.yml b/config/locales/es/general.yml index 620b647f6..1437c2c5a 100644 --- a/config/locales/es/general.yml +++ b/config/locales/es/general.yml @@ -697,7 +697,7 @@ es: deleted: Eliminado deleted_debate: Este debate ha sido eliminado deleted_proposal: Esta propuesta ha sido eliminada - deleted_budget_investment: Esta propuesta de inversión ha sido eliminada + deleted_budget_investment: Este proyecto de gasto ha sido eliminado proposals: Propuestas debates: Debates budget_investments: Proyectos de presupuestos participativos @@ -749,7 +749,7 @@ es: not_voting_allowed: El periodo de votación está cerrado. budget_investments: not_logged_in: Necesitas %{signin} o %{signup} para continuar. - not_verified: Los proyectos de inversión sólo pueden ser apoyadas por usuarios verificados, %{verify_account}. + not_verified: Los proyectos de gasto sólo pueden ser apoyadas por usuarios verificados, %{verify_account}. organization: Las organizaciones no pueden votar. unfeasible: No se pueden votar propuestas inviables. not_voting_allowed: El periodo de votación está cerrado. @@ -816,7 +816,7 @@ es: content_title: proposal: "Propuesta" debate: "Debate" - budget_investment: "Propuesta de inversión" + budget_investment: "Proyecto de gasto" admin/widget: header: title: Administración From 1b795501a34885a2b759d1f76e1fac2fa11475d3 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:20:52 +0200 Subject: [PATCH 115/565] New translations responders.yml (Spanish) --- config/locales/es/responders.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/es/responders.yml b/config/locales/es/responders.yml index d55968452..3674a0290 100644 --- a/config/locales/es/responders.yml +++ b/config/locales/es/responders.yml @@ -13,7 +13,7 @@ es: proposal: "Propuesta creada correctamente." proposal_notification: "Tu mensaje ha sido enviado correctamente." spending_proposal: "Propuesta de inversión creada correctamente. Puedes acceder a ella desde %{activity}" - budget_investment: "Propuesta de inversión creada correctamente." + budget_investment: "Proyecto de gasto creado correctamente." signature_sheet: "Hoja de firmas creada correctamente" topic: "Tema creado correctamente." valuator_group: "Grupo de evaluadores creado correctamente" @@ -26,12 +26,12 @@ es: poll_booth: "Urna actualizada correctamente." proposal: "Propuesta actualizada correctamente." spending_proposal: "Propuesta de inversión actualizada correctamente." - budget_investment: "Propuesta de inversión actualizada correctamente" + budget_investment: "Proyecto de gasto actualizado correctamente" topic: "Tema actualizado correctamente." valuator_group: "Grupo de evaluadores actualizado correctamente" destroy: spending_proposal: "Propuesta de inversión eliminada." - budget_investment: "Propuesta de inversión eliminada." + budget_investment: "Proyecto de gasto eliminado." error: "No se pudo borrar" topic: "Tema eliminado." poll_question_answer_video: "Vídeo de respuesta eliminado." From 452bdd2b48551474f2ec6d11ac317570dced5d7d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:31:05 +0200 Subject: [PATCH 116/565] New translations mailers.yml (Spanish) --- config/locales/es/mailers.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/es/mailers.yml b/config/locales/es/mailers.yml index e8ff5e225..6daaa4df9 100644 --- a/config/locales/es/mailers.yml +++ b/config/locales/es/mailers.yml @@ -59,7 +59,7 @@ es: budget_investment_unfeasible: hi: "Estimado usuario," new_html: "Por todo ello, te invitamos a que elabores un <strong>nuevo proyecto de gasto</strong> que se ajuste a las condiciones de este proceso. Esto lo puedes hacer en este enlace: %{url}." - new_href: "nueva propuesta de inversión" + new_href: "nuevo proyecto de gasto" sincerely: "Atentamente" sorry: "Sentimos las molestias ocasionadas y volvemos a darte las gracias por tu inestimable participación." subject: "Tu proyecto de gasto '%{code}' ha sido marcado como inviable" From c96bb0eaa2046f47b7179bc6772046e2f8b232bc Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:31:08 +0200 Subject: [PATCH 117/565] New translations admin.yml (Spanish) --- config/locales/es/admin.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index a28dff01b..f7f043421 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -119,8 +119,8 @@ es: table_population: Población population_info: "El campo población de las partidas presupuestarias se usa con fines estadísticos únicamente, con el objetivo de mostrar el porcentaje de votos habidos en cada partida que represente un área con población. Es un campo opcional, así que puedes dejarlo en blanco si no aplica." winners: - calculate: Calcular propuestas ganadoras - calculated: Calculando ganadoras, puede tardar un minuto. + calculate: Calcular proyectos ganadores + calculated: Calculando ganadores, puede tardar un minuto. recalculate: Recalcular propuestas ganadoras budget_phases: edit: @@ -156,7 +156,7 @@ es: selected: Seleccionados undecided: Sin decidir unfeasible: Inviables - winners: Ganadoras + winners: Ganadores one_filter_html: "Filtros en uso: <b><em>%{filter}</em></b>" two_filters_html: "Filtros en uso: <b><em>%{filter}, %{advanced_filters}</em></b>" buttons: From e9f4e27ba35f87c466412d3536f71c3f279bff59 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:31:10 +0200 Subject: [PATCH 118/565] New translations management.yml (Spanish) --- config/locales/es/management.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/es/management.yml b/config/locales/es/management.yml index bcfddf360..dcd60f3f2 100644 --- a/config/locales/es/management.yml +++ b/config/locales/es/management.yml @@ -63,7 +63,7 @@ es: create_spending_proposal: Crear propuesta de inversión print_spending_proposals: Imprimir propts. de inversión support_spending_proposals: Apoyar propts. de inversión - create_budget_investment: Crear proyectos de inversión + create_budget_investment: Crear proyectos de gasto user_invites: Enviar invitaciones permissions: create_proposals: Crear nuevas propuestas From 2b6423c5275c3145f110ff83da446a27fa60b39a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:31:12 +0200 Subject: [PATCH 119/565] New translations settings.yml (Spanish) --- config/locales/es/settings.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/es/settings.yml b/config/locales/es/settings.yml index beb0b03fd..db7b68939 100644 --- a/config/locales/es/settings.yml +++ b/config/locales/es/settings.yml @@ -50,7 +50,7 @@ es: user: recommendations: "Recomendaciones" skip_verification: "Omitir verificación de usuarios" - community: "Comunidad en propuestas y proyectos de inversión" + community: "Comunidad en propuestas y proyectos de gasto" map: "Geolocalización de propuestas y proyectos de inversión" allow_images: "Permitir subir y mostrar imágenes" allow_attached_documents: "Permitir creación de documentos adjuntos" From 6de2aa506510cc2e094c671dfe59a63effd3a531 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 17:40:43 +0200 Subject: [PATCH 120/565] New translations settings.yml (Spanish) --- config/locales/es/settings.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/es/settings.yml b/config/locales/es/settings.yml index db7b68939..a03d98511 100644 --- a/config/locales/es/settings.yml +++ b/config/locales/es/settings.yml @@ -51,7 +51,7 @@ es: recommendations: "Recomendaciones" skip_verification: "Omitir verificación de usuarios" community: "Comunidad en propuestas y proyectos de gasto" - map: "Geolocalización de propuestas y proyectos de inversión" + map: "Geolocalización de propuestas y proyectos de gasto" allow_images: "Permitir subir y mostrar imágenes" allow_attached_documents: "Permitir creación de documentos adjuntos" guides: "Guías para crear propuestas o proyectos de inversión" From 1d6c45481acf795300397574d9bba1a7139e61f8 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 18:50:33 +0200 Subject: [PATCH 121/565] New translations pages.yml (Italian) --- config/locales/it/pages.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/config/locales/it/pages.yml b/config/locales/it/pages.yml index 91f764402..d562faa7e 100644 --- a/config/locales/it/pages.yml +++ b/config/locales/it/pages.yml @@ -100,8 +100,15 @@ it: examples: - Fornendo un testo alternativo alle immagini, gli utenti ciechi o ipovedenti possono utilizzare lettori speciali per accedere alle informazioni. - Quando i video hanno i sottotitoli, gli utenti con disabilità uditive possono comprenderli appieno. - - If the contents are written in a simple and illustrated language, users with learning problems are better able to understand them. - - If the user has mobility problems and it is difficult to use the mouse, the alternatives with the keyboard help in navigation. + - Se i contenuti sono scritti in un linguaggio semplice e descrittivo, gli utenti con problemi di apprendimento sono in grado di comprenderli meglio. + - Se l'utente ha problemi di mobilità ed è difficile utilizzare il mouse, le alternative con la tastiera aiutano nella navigazione. + keyboard_shortcuts: + title: Scorciatoie da tastiera + navigation_table: + description: Per consentire di navigare attraverso questo sito in maniera accessibile, è stato programmato un gruppo di tasti di accesso rapido che raccolgono le principali sezioni di interesse generale in cui è organizzato il sito. + caption: Scorciatoie da tastiera per il menu di navigazione + key_header: Tasto + page_header: Pagina titles: accessibility: Accessibilità conditions: Termini di utilizzo From 8388a82b89851aa3d1e85fd0fea7825be660f4c4 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 19:00:37 +0200 Subject: [PATCH 122/565] New translations pages.yml (Italian) --- config/locales/it/pages.yml | 71 ++++++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/config/locales/it/pages.yml b/config/locales/it/pages.yml index d562faa7e..580d206dd 100644 --- a/config/locales/it/pages.yml +++ b/config/locales/it/pages.yml @@ -96,7 +96,7 @@ it: description: |- L'accessibilità della rete si riferisce alla possibilità di accesso alla rete e ai suoi contenuti da parte di tutte le persone, indipendentemente dalle disabilità (fisiche, intellettuali o tecniche) che possano insorgere o da quelle che derivano dal contesto di utilizzo (tecnologico o ambientale). - quando siti Web sono progettati con l'accessibilità in mente, tutti gli utenti possono accedere ai contenuti a parità di condizioni, ad esempio: + Quando i siti web sono progettati con un occhio all'accessibilità, tutti gli utenti possono accedere ai contenuti a parità di condizioni, ad esempio: examples: - Fornendo un testo alternativo alle immagini, gli utenti ciechi o ipovedenti possono utilizzare lettori speciali per accedere alle informazioni. - Quando i video hanno i sottotitoli, gli utenti con disabilità uditive possono comprenderli appieno. @@ -109,6 +109,75 @@ it: caption: Scorciatoie da tastiera per il menu di navigazione key_header: Tasto page_header: Pagina + rows: + - + key_column: 0 + page_column: Homepage + - + key_column: 1 + page_column: Dibattiti + - + key_column: 2 + page_column: Proposte + - + key_column: 3 + page_column: Voti + - + key_column: 4 + page_column: Bilanci partecipativi + - + key_column: 5 + page_column: Procedimenti legislativi + browser_table: + description: 'A seconda del sistema operativo e del browser utilizzato, la combinazione di tasti sarà la seguente:' + caption: Combinazione di tasti a seconda del sistema operativo e del browser + browser_header: Browser + key_header: Combinazione di tasti + rows: + - + browser_column: Explorer + key_column: ALT + scelta rapida poi INVIO + - + browser_column: Firefox + key_column: ALT + MAIUSC + scelta rapida + - + browser_column: Chrome + key_column: ALT + scelta rapida (CTRL + ALT + tasti di scelta rapida per MAC) + - + browser_column: Safari + key_column: ALT + scelta rapida (CMD + scelta rapida per MAC) + - + browser_column: Opera + key_column: MAIUSC + ESC + scelta rapida + textsize: + title: Dimensione testo + browser_settings_table: + description: Il design accessibile di questo sito web consente all'utente di scegliere la dimensione del testo che più gli si addice. Questa azione può essere effettuata in modi diversi a seconda del browser utilizzato. + browser_header: Browser + action_header: Azione da intraprendere + rows: + - + browser_column: Explorer + action_column: Visualizza > Dimensione testo + - + browser_column: Firefox + action_column: Visualizza > Dimensione + - + browser_column: Chrome + action_column: Impostazioni (icona) > Opzioni > Avanzate > Contenuto Web > Dimensione testo + - + browser_column: Safari + action_column: Visualizza > Zoom In/Zoom out + - + browser_column: Opera + action_column: Visualizza > scala + browser_shortcuts_table: + description: 'Un altro modo per modificare la dimensione del testo consiste nell''utilizzare le scorciatoie da tastiera definite dai browser, in particolare la combinazione di tasti:' + rows: + - + shortcut_column: CTRL e + (CMD e + su MAC) + description_column: Aumenta le dimensioni del testo + - titles: accessibility: Accessibilità conditions: Termini di utilizzo From 1ffd52a09db6a126c72023efa885bd46d0269d94 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 10 Oct 2018 19:10:37 +0200 Subject: [PATCH 123/565] New translations pages.yml (Italian) --- config/locales/it/pages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/it/pages.yml b/config/locales/it/pages.yml index 580d206dd..81b2dd245 100644 --- a/config/locales/it/pages.yml +++ b/config/locales/it/pages.yml @@ -185,9 +185,9 @@ it: privacy: Informativa sulla privacy verify: code: Codice che hai ricevuto nella lettera - email: E-mail + email: Email info: 'Per verificare il tuo account inserisci i dati di accesso:' info_code: 'Ora introduci il codice che hai ricevuto nella lettera:' password: Password - submit: Verificare la mia utenza + submit: Verifica il mio account title: Verifica il tuo account From bbd887b3a6292079f565ec0bf2e2291976aadab2 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 02:30:34 +0200 Subject: [PATCH 124/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index ee79294c4..d437271c1 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -128,6 +128,7 @@ zh-CN: section_footer: title: 关于辩论的帮助 description: 开始一个辩论,与他人分享您所关心主题的意见。 + help_text_1: "公民辩论空间是针对任何能够揭露他们关心的问题和哪些想和他人分享意见的人。" help_text_2: '要开始一个辩论,您需要在%{org} 上注册。用户也可以对公开辩论做出评论,并用每个辩论上面找到的“我同意”或者“我不同意”按钮来评分。' new: form: @@ -201,6 +202,7 @@ zh-CN: description: 此门户网站使用%{consul},其是%{open_source}。 open_source: 开源软件 open_source_url: http://www.gnu.org/licenses/agpl-3.0.html + participation_text: 决定如何塑造您想要居住的城市。 participation_title: 参与 privacy: 隐私政策 header: @@ -230,6 +232,8 @@ zh-CN: other: 您有%{count} 个新通知 notifications: 通知 no_notifications: "您没有新的通知" + admin: + watch_form_message: '您有未保存的更改。是否确认要离开此页面?' notifications: notification: notifiable_hidden: 此资源不再可用。 From 83da3be24cc6facc9bf387e9ca7431a10cab4ffe Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 02:40:30 +0200 Subject: [PATCH 125/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index d437271c1..9be50c9ed 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -234,8 +234,30 @@ zh-CN: no_notifications: "您没有新的通知" admin: watch_form_message: '您有未保存的更改。是否确认要离开此页面?' + legacy_legislation: + help: + alt: 选择您希望评论的文本然后按下铅笔按钮。 + text: 若要对此文档做评论,您必须%{sign_in} 或者%{sign_up}。然后选择您希望评论的文本,按下铅笔按钮。 + text_sign_in: 登录 + text_sign_up: 注册 + title: 我可以如何评论此文档? notifications: + index: + empty_notifications: 您没有新的通知。 + mark_all_as_read: 将所有标记为已读 + read: 读 + title: 通知 + unread: 未读 notification: + action: + comments_on: + other: 有%{count} 个新评论 + proposal_notification: + other: 有%{count} 个新通知 + replies_to: + other: 您的评论有%{count} 个新回复 + mark_as_read: 标记为已读 + mark_as_unread: 标记为未读 notifiable_hidden: 此资源不再可用。 map: title: "地区" @@ -300,6 +322,8 @@ zh-CN: tag_category_label: "类别" tags_instructions: "为此提议加标签。您可以从推荐的类别中选择或者自行添加" tags_label: 标签 + tags_placeholder: "请输入您希望使用的标签,用逗号(',') 分割" + map_location: "地图位置" index: featured_proposals: 特色 filter_topic: From 014a65cdac5b9f6bd41452734ffa458767ceeb3a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 02:52:02 +0200 Subject: [PATCH 126/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index 9be50c9ed..2415f429b 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -324,6 +324,9 @@ zh-CN: tags_label: 标签 tags_placeholder: "请输入您希望使用的标签,用逗号(',') 分割" map_location: "地图位置" + map_location_instructions: "将地图导航到该位置并放置标记。" + map_remove_marker: "删除地图标记" + map_skip_checkbox: "此提议没有具体的位置或者我没有留意到。" index: featured_proposals: 特色 filter_topic: @@ -334,6 +337,7 @@ zh-CN: hot_score: 最活跃 most_commented: 最多评论 relevance: 相关性 + archival_date: 存档的 recommendations: 推荐 recommendations: without_results: 没有跟您兴趣相关的提议 @@ -342,6 +346,33 @@ zh-CN: actions: success: "此账户的提议推荐现已禁用" error: "出现错误。请回到‘您的帐号’页面,手动禁用提议推荐" + retired_proposals: 撤回的提议 + retired_proposals_link: "被作者撤回的提议" + retired_links: + all: 所有 + duplicated: 重复的 + started: 进行中 + unfeasible: 不可行 + done: 完成 + other: 其他 + search_form: + button: 搜索 + placeholder: 搜索提议... + title: 搜索 + search_results_html: + other: " 包含术语 <strong>'%{search_term}'</strong>" + select_order: 排序依据 + select_order_long: '您正在查看的提议是依据:' + start_proposal: 创建提议 + title: 提议 + top: 每周热门 + top_link_proposals: 按类别得到最多支持的提议 + section_header: + icon_alt: 提议图标 + title: 提议 + help: 关于提议的帮助 + section_footer: + title: 关于提议的帮助 new: form: submit_button: 创建提议 From 1ed33d792f1c267f9ae277c04ee1df520937cc50 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 03:00:51 +0200 Subject: [PATCH 127/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index 2415f429b..3d3fcc016 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -373,9 +373,12 @@ zh-CN: help: 关于提议的帮助 section_footer: title: 关于提议的帮助 + description: 在得到足够的支持并提交公民投票后,公民提议是邻居和集体直接决定他们希望自己的城市将如何发展的一个好机会。 new: form: submit_button: 创建提议 + more_info: 公民提议是如何运作的? + recommendation_one: 请不要用大写字母写提议标题或者整个句子。在因特网上,这被认为是在喊叫。没有认喜欢被吆喝。 recommendations_title: 创建提议的推荐 shared: recommended_index: From 64cc419574f93edef822accafe4eb8bd654e65f7 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 03:10:30 +0200 Subject: [PATCH 128/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index 3d3fcc016..3f4622a51 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -379,7 +379,19 @@ zh-CN: submit_button: 创建提议 more_info: 公民提议是如何运作的? recommendation_one: 请不要用大写字母写提议标题或者整个句子。在因特网上,这被认为是在喊叫。没有认喜欢被吆喝。 + recommendation_three: 享受此空间和其中充满的声音。它也属于您。 + recommendation_two: 任何暗示非法行为以及那些有意破坏辩论空间的提议或评论都将被删除。其他一切都是允许的。 recommendations_title: 创建提议的推荐 + start_new: 创建新提议 + notice: + retired: 已撤回的提议 + proposal: + created: "您已经创建一个提议!" + share: + guide: "现在您可以把它分享,让人们可以开始支持。" + edit: "在分享之前,您将可以随意更改文本。" + view_proposal: 不是现在,返回我的提议 + improve_info: "改善您的推广活动以便得到更多支持" shared: recommended_index: title: 推荐 From f993a7b84bb75ba4b984e5ac7b932ac5a611aa63 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 03:20:25 +0200 Subject: [PATCH 129/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index 3f4622a51..2e461e7cc 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -392,6 +392,34 @@ zh-CN: edit: "在分享之前,您将可以随意更改文本。" view_proposal: 不是现在,返回我的提议 improve_info: "改善您的推广活动以便得到更多支持" + improve_info_link: "查看更多信息" + already_supported: 您已经支持此提议。将它分享吧! + comments: + zero: 没有评论 + other: "%{count} 个评论" + support: 支持 + support_title: 支持此提议 + supports: + zero: 没有支持 + other: "%{count} 个支持" + votes: + zero: 没有投票 + other: "%{count} 个投票" + supports_necessary: "需要%{number} 个支持" + total_percent: 100% + archived: "此提议已存档,无法再收集支持。" + successful: "此提议已达到所需要的支持。" + show: + author_deleted: 已删除的用户 + code: '提议编号:' + comments: + zero: 没有评论 + other: "%{count} 个评论" + comments_tab: 评论 + edit_proposal_link: 编辑 + flag: 此提议已被几个用户标记为不恰当。 + login_to_comment: 您必须%{signin} 或者%{signup} 才可以留下评论。 + notifications_tab: 通知 shared: recommended_index: title: 推荐 From 57c793a03f387f880adc4cbb23da9f983cb2c886 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 03:30:32 +0200 Subject: [PATCH 130/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index 2e461e7cc..560881f62 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -420,6 +420,42 @@ zh-CN: flag: 此提议已被几个用户标记为不恰当。 login_to_comment: 您必须%{signin} 或者%{signup} 才可以留下评论。 notifications_tab: 通知 + retired_warning: "作者认为此提议不应再得到支持。" + retired_warning_link_to_explanation: 投票前请先阅读说明。 + retired: 被作者撤回的提议 + share: 共用 + send_notification: 发送通知 + no_notifications: "此提议没有任何通知。" + embed_video_title: "%{proposal} 的视频" + title_external_url: "附加文档" + title_video_url: "外部视频" + author: 作者 + update: + form: + submit_button: 保存更改 + polls: + all: "所有" + no_dates: "没指定日期" + dates: "从%{open_at} 到%{closed_at}" + final_date: "最终重新计票/结果" + index: + filters: + current: "打开" + incoming: "传入" + expired: "过期的" + title: "投票" + poll_questions: + create_question: "创建问题" + show: + vote_answer: "投票%{answer}" + voted: "您已经投票%{answer}" + voted_token: "您可以写下此投票标识符号,以便在最终结果中检查您的投票:" + proposal_notifications: + new: + title: "发送信息" + title_label: "标题" + body_label: "信息" + submit_button: "发送信息" shared: recommended_index: title: 推荐 From a234d594a46a6770931b4a1f331e9ce93a14696a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 03:40:33 +0200 Subject: [PATCH 131/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index 560881f62..a8331f4fc 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -444,6 +444,24 @@ zh-CN: incoming: "传入" expired: "过期的" title: "投票" + participate_button: "参与此投票" + participate_button_incoming: "更多信息" + participate_button_expired: "投票结束" + no_geozone_restricted: "所有城市" + geozone_restricted: "地区" + geozone_info: "参与人口普查的人可以: " + already_answer: "您已经参与此投票" + not_logged_in: "您必须登录或注册才可以参与" + unverified: "您必须验证您的账户才可以参与" + cant_answer: "此投票在您的地理区域里不可用" + section_header: + icon_alt: 投票图标 + title: 投票 + help: 关于投票的帮助 + section_footer: + title: 关于投票的帮助 + description: 公民投票是一种参与机制,有投票权的公民可以直接做出决定 + no_polls: "没有开放的投票。" poll_questions: create_question: "创建问题" show: @@ -456,7 +474,29 @@ zh-CN: title_label: "标题" body_label: "信息" submit_button: "发送信息" + info_about_receivers_html: "此信息将发送给<strong>%{count} 个人</strong> ,它将显示在%{proposal_page} 中。<br>信息不会立即发送,用户将定期收到包含所有提议通知的电子邮件。" + proposal_page: "提议页面" + show: + back: "返回我的活动" shared: + edit: '编辑' + save: '保存' + delete: 删除 + "yes": "是" + "no": "不是" + search_results: "搜索结果" + advanced_search: + author_type: '按作者类别' + author_type_blank: '选择类别' + date: '按日期' + date_placeholder: 'DD/MM/YYYY(日/月/年)' + date_range_blank: '选择日期' + date_1: '过去24 小时' + date_2: '上周' + date_3: '上个月' + date_4: '去年' + date_5: '自定义' + from: '从' recommended_index: title: 推荐 see_more: 查看更多推荐 From 04ebf47b4f92f1af6f2790e2c906ed8ba20d301e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 03:50:32 +0200 Subject: [PATCH 132/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 45 ++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index a8331f4fc..05d814758 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -462,6 +462,43 @@ zh-CN: title: 关于投票的帮助 description: 公民投票是一种参与机制,有投票权的公民可以直接做出决定 no_polls: "没有开放的投票。" + show: + already_voted_in_booth: "您已经在实体投票亭参与了。您不能再次参与。" + already_voted_in_web: "您已经参与此投票。如果您再次投票,之前的票将被覆盖。" + back: 返回投票 + cant_answer_not_logged_in: "您必须%{signin} 或者%{signup} 才可以参与。" + comments_tab: 评论 + login_to_comment: 您必须%{signin} 或者%{signup} 才可以留下评论。 + signin: 登录 + signup: 注册 + cant_answer_verify_html: "您必须%{verify_link} 才能回答。" + verify_link: "验证您的账户" + cant_answer_incoming: "此投票还没有开始。" + cant_answer_expired: "此投票已经结束。" + cant_answer_wrong_geozone: "此问题在您的地理区域里不可用。" + more_info_title: "更多信息" + documents: 文档 + zoom_plus: 展开图像 + read_more: "阅读更多有关%{answer} 的信息" + read_less: "阅读更少有关%{answer} 的信息" + videos: "外部视频" + info_menu: "信息" + stats_menu: "参与统计" + results_menu: "投票结果" + stats: + title: "参与数据" + total_participation: "总参与量" + total_votes: "总投票数" + votes: "投票" + web: "网络" + booth: "投票亭" + total: "总" + valid: "有效" + white: "白票" + null_votes: "无效" + results: + title: "问题" + most_voted_answer: "得到最多投票的回答: " poll_questions: create_question: "创建问题" show: @@ -501,6 +538,14 @@ zh-CN: title: 推荐 see_more: 查看更多推荐 hide: 隐藏推荐 + social: + blog: "%{org} 博客" + facebook: "%{org} Facebook" + twitter: "%{org} Twitter" + youtube: "%{org} YouTube" + whatsapp: WhatsApp + telegram: "%{org} Telegram(电报群)" + instagram: "%{org} Instagram" spending_proposals: new: recommendations_title: 如果创建支出提议 From 7312bad3c90bce6ca78f8026e14f66500026da9b Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 04:00:32 +0200 Subject: [PATCH 133/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index 05d814758..12e0971d9 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -534,6 +534,19 @@ zh-CN: date_4: '去年' date_5: '自定义' from: '从' + search: '过滤器' + followable: + budget_investment: + create: + notice_html: "您现在正在跟随此投资项目!</br>我们会在变更发生时通知您,以便您了解最新动态。" + destroy: + notice_html: "您已经停止跟随此投资项目!</br>您将不再接收到有关此项目的通知。" + proposal: + create: + notice_html: "现在您正在跟随此公民提议!</br>我们会在变更发生时通知您,以便您了解最新动态。" + destroy: + notice_html: "您已经停止跟随此公民提议!</br>您将不再接收到有关此提议的通知。" + hide: 隐藏 recommended_index: title: 推荐 see_more: 查看更多推荐 @@ -547,6 +560,11 @@ zh-CN: telegram: "%{org} Telegram(电报群)" instagram: "%{org} Instagram" spending_proposals: + form: + association_name_label: '如果您以协会或集体的名义提出提议,请在此添加名称' + association_name: '协会名称' + description: 说明 + external_url: 链接到其他文档 new: recommendations_title: 如果创建支出提议 welcome: From c170d44f46fe2e4330858a36cd523dfecd30d604 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 04:10:28 +0200 Subject: [PATCH 134/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index 12e0971d9..7ea044c39 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -547,6 +547,20 @@ zh-CN: destroy: notice_html: "您已经停止跟随此公民提议!</br>您将不再接收到有关此提议的通知。" hide: 隐藏 + suggest: + debate: + found: + other: "有些带有术语'%{query}'的辩论,您可以参与它们而不需要打开一个新的。" + message: "您正在看%{count} 个辩论中包含术语‘%{query}’的%{limit}" + see_all: "查看所有" + budget_investment: + found: + other: "有些带有术语'%{query}'的投资,您可以参与其中而不需要打开一个新的。" + message: "您在看%{count} 个投资里包含术语'%{query}'的%{limit}" + proposal: + found: + other: "有些带有术语 '%{query}'的提议,您可以贡献其中而不需要创建一个新的" + message: "您在看%{count} 个提议中包含术语 '%{query}'的%{limit}" recommended_index: title: 推荐 see_more: 查看更多推荐 @@ -565,6 +579,17 @@ zh-CN: association_name: '协会名称' description: 说明 external_url: 链接到其他文档 + index: + by_geozone: "投资项目范围:%{geozone}" + search_form: + button: 搜索 + placeholder: 投资项目... + title: 搜索 + search_results: + other: " 包含术语'%{search_term}'" + sidebar: + geozones: 经营范围 + feasibility: 可行性 new: recommendations_title: 如果创建支出提议 welcome: From fe75d931842238be1174fe2f912090337415e987 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 09:06:56 +0200 Subject: [PATCH 135/565] New translations i18n.yml (Galician) --- config/locales/gl/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/gl/i18n.yml b/config/locales/gl/i18n.yml index 8ec5fc81c..185304afb 100644 --- a/config/locales/gl/i18n.yml +++ b/config/locales/gl/i18n.yml @@ -1 +1,4 @@ gl: + i18n: + language: + name: "Inglés" From 71e9c4a3f430557545fcc3d25291e903b0a28f0f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 12:20:37 +0200 Subject: [PATCH 136/565] New translations activerecord.yml (German) --- config/locales/de-DE/activerecord.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/de-DE/activerecord.yml b/config/locales/de-DE/activerecord.yml index 85719b169..0b61727e9 100644 --- a/config/locales/de-DE/activerecord.yml +++ b/config/locales/de-DE/activerecord.yml @@ -76,6 +76,9 @@ de: legislation/process: one: "Verfahren" other: "Beteiligungsverfahren" + legislation/proposal: + one: "Vorschlag" + other: "Vorschläge" legislation/draft_versions: one: "Entwurfsfassung" other: "Entwurfsfassungen" From 087e2b69114a639e23503d778a4957dc3e05e9de Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 12:20:41 +0200 Subject: [PATCH 137/565] New translations admin.yml (German) --- config/locales/de-DE/admin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/de-DE/admin.yml b/config/locales/de-DE/admin.yml index 04a9a4aa2..6f5fadef6 100644 --- a/config/locales/de-DE/admin.yml +++ b/config/locales/de-DE/admin.yml @@ -67,7 +67,7 @@ de: on_debates: Diskussionen on_proposals: Vorschläge on_users: Benutzer*innen - on_system_emails: E-mails vom System + on_system_emails: E-Mails vom System title: Aktivität der Moderator*innen type: Typ no_activity: Hier sind keine Moderator*innen aktiv. From dde153caea227bbe076f8b208e34259552af1f90 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 19:20:38 +0200 Subject: [PATCH 138/565] New translations kaminari.yml (French) --- config/locales/fr/kaminari.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/fr/kaminari.yml b/config/locales/fr/kaminari.yml index 4fdcfae13..9c048b434 100644 --- a/config/locales/fr/kaminari.yml +++ b/config/locales/fr/kaminari.yml @@ -9,7 +9,7 @@ fr: display_entries: Affichage des entrées <b>%{first} - %{last}</b> sur <b>%{total}</b> %{entry_name} one_page: display_entries: - zero: "%{entry_name} ne peut être trouvée" + zero: "aucun(e) %{entry_name} ne peut être trouvé(e)" one: Il y a <b>1</b> %{entry_name} other: Il y a <b> %{count}</b> %{entry_name} views: From ddc5a7f8286594bb1b7a056813e5f353b458c6cc Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 20:00:57 +0200 Subject: [PATCH 139/565] New translations i18n.yml (French) --- config/locales/fr/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/fr/i18n.yml b/config/locales/fr/i18n.yml index 1831d4398..334ff98b9 100644 --- a/config/locales/fr/i18n.yml +++ b/config/locales/fr/i18n.yml @@ -1 +1,4 @@ fr: + i18n: + language: + name: "Français" From d2d1b5cda1a40d7f2416a2de59c398cdb9f724cd Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 20:00:59 +0200 Subject: [PATCH 140/565] New translations i18n.yml (Swedish) --- config/locales/sv-SE/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/sv-SE/i18n.yml b/config/locales/sv-SE/i18n.yml index 7e73a972a..cc5e132ed 100644 --- a/config/locales/sv-SE/i18n.yml +++ b/config/locales/sv-SE/i18n.yml @@ -1 +1,4 @@ sv: + i18n: + language: + name: "Svenska" From 616a09fa6e49ae224201a145b50f98b5fb928c13 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 11 Oct 2018 23:20:33 +0200 Subject: [PATCH 141/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index 7ea044c39..850c81311 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -446,7 +446,7 @@ zh-CN: title: "投票" participate_button: "参与此投票" participate_button_incoming: "更多信息" - participate_button_expired: "投票结束" + participate_button_expired: "投票已结束" no_geozone_restricted: "所有城市" geozone_restricted: "地区" geozone_info: "参与人口普查的人可以: " @@ -492,7 +492,7 @@ zh-CN: votes: "投票" web: "网络" booth: "投票亭" - total: "总" + total: "总数/总计" valid: "有效" white: "白票" null_votes: "无效" From d579c0a2576ee66e866213f9b5284dd989ae72ea Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 12 Oct 2018 07:20:28 +0200 Subject: [PATCH 142/565] New translations activerecord.yml (Spanish, Mexico) --- config/locales/es-MX/activerecord.yml | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/config/locales/es-MX/activerecord.yml b/config/locales/es-MX/activerecord.yml index f4a88b5f9..7d0d80da0 100644 --- a/config/locales/es-MX/activerecord.yml +++ b/config/locales/es-MX/activerecord.yml @@ -19,6 +19,9 @@ es-MX: comment: one: "Comentario" other: "Comentarios" + debate: + one: "Debate" + other: "Debates" tag: one: "Tema" other: "Temas" @@ -40,6 +43,9 @@ es-MX: manager: one: "Gestor" other: "Gestores" + newsletter: + one: "Boletín de Noticias" + other: "Boletín de Noticias" vote: one: "Voto" other: "Votos" @@ -67,6 +73,9 @@ es-MX: legislation/process: one: "Proceso" other: "Procesos" + legislation/proposal: + one: "Propuesta" + other: "Propuestas" legislation/draft_versions: one: "Versión borrador" other: "Versiones borrador" @@ -94,6 +103,9 @@ es-MX: poll: one: "Votación" other: "Votaciones" + proposal_notification: + one: "Notificación de propuesta" + other: "Notificaciones de propuestas" attributes: budget: name: "Nombre" @@ -118,7 +130,11 @@ es-MX: image_title: "Título de la imagen" budget/investment/milestone: title: "Título" + description: "Descripción (opcional si cuenta con un estado asignado)" publication_date: "Fecha de publicación" + budget/investment/status: + name: "Nombre" + description: "Descripción (opcional)" budget/heading: name: "Nombre de la partida" price: "Cantidad" @@ -152,6 +168,7 @@ es-MX: name: "Nombre de organización" responsible_name: "Persona responsable del colectivo" spending_proposal: + administrator_id: "Administrador" association_name: "Nombre de la asociación" description: "Descripción" external_url: "Enlace a documentación adicional" @@ -180,6 +197,7 @@ es-MX: status: Estado title: Título updated_at: última actualización + more_info_flag: Mostrar en página de ayuda print_content_flag: Botón de imprimir contenido locale: Idioma site_customization/image: @@ -226,6 +244,19 @@ es-MX: poll/question/answer/video: title: Título url: Vídeo externo + newsletter: + segment_recipient: Destinatarios + subject: Asunto + from: De + body: Contenido + widget/card: + label: Etiqueta (opcional) + title: Título + description: Descripción + link_text: Texto del enlace + link_url: URL del enlace + widget/feed: + limit: Número de elementos errors: models: user: From afe35452fde7ee9f2202a38527e8c5bc6869cb7d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 12 Oct 2018 07:20:30 +0200 Subject: [PATCH 143/565] New translations seeds.yml (Spanish, Mexico) --- config/locales/es-MX/seeds.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/locales/es-MX/seeds.yml b/config/locales/es-MX/seeds.yml index 68daaa78a..879758211 100644 --- a/config/locales/es-MX/seeds.yml +++ b/config/locales/es-MX/seeds.yml @@ -1 +1,7 @@ es-MX: + seeds: + budgets: + currency: '$' + groups: + all_city: Toda la ciudad + districts: Distritos From bf3b2fbf90446bc093a682319616ddda11e17949 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 12 Oct 2018 07:20:31 +0200 Subject: [PATCH 144/565] New translations i18n.yml (Spanish, Mexico) --- config/locales/es-MX/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-MX/i18n.yml b/config/locales/es-MX/i18n.yml index 68daaa78a..7d72c57dd 100644 --- a/config/locales/es-MX/i18n.yml +++ b/config/locales/es-MX/i18n.yml @@ -1 +1,4 @@ es-MX: + i18n: + language: + name: "Inglés" From 699ec8fb4926e6606e7c2ab2b5a3c404a725469f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 12 Oct 2018 07:30:29 +0200 Subject: [PATCH 145/565] New translations pages.yml (Spanish, Mexico) --- config/locales/es-MX/pages.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/config/locales/es-MX/pages.yml b/config/locales/es-MX/pages.yml index 414901527..fd77e4506 100644 --- a/config/locales/es-MX/pages.yml +++ b/config/locales/es-MX/pages.yml @@ -1,6 +1,17 @@ es-MX: pages: + conditions: + title: Términos y Condiciones de uso + subtitle: AVISO LEGAL SOBRE LAS CONDICIONES DE USO, PRIVACIDAD Y PROTECCIÓN DE DATOS DE CARÁCTER PERSONAL DEL PORTAL DE GOBIERNO ABIERTO + description: Página de información sobre las condiciones de uso, privacidad y protección de datos de carácter personal. general_terms: Términos y Condiciones + help: + title: "%{org} es una plataforma de participación ciudadana" + guide: "Esta guía explica para qué sirven y cómo funcionan cada una de las secciones de %{org}." + menu: + debates: "Debates" + proposals: "Propuestas" + processes: "Procesos" titles: accessibility: Accesibilidad conditions: Condiciones de uso From e4371dc600dec4affcb1c772145205b1a79ae0aa Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 12 Oct 2018 07:30:30 +0200 Subject: [PATCH 146/565] New translations seeds.yml (Spanish, Mexico) --- config/locales/es-MX/seeds.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/config/locales/es-MX/seeds.yml b/config/locales/es-MX/seeds.yml index 879758211..5e4c08110 100644 --- a/config/locales/es-MX/seeds.yml +++ b/config/locales/es-MX/seeds.yml @@ -1,7 +1,34 @@ es-MX: seeds: + geozones: + north_district: Distrito Norte + west_district: Distrito Oeste + east_district: Distrito Este + central_district: Distrito Central + organizations: + human_rights: Derechos Humanos + neighborhood_association: Asociación de vecinos + categories: + associations: Asociaciones + culture: Cultura + sports: Deportes + social_rights: Derechos Sociales + economy: Economía + employment: Empleo + equity: Equidad + sustainability: Sustentabilidad + participation: Participación + mobility: Movilidad + media: Medios de Comunicación + health: Salud + transparency: Transparencia + security_emergencies: Seguridad y Emergencias + environment: Medio Ambiente budgets: + budget: Presupuestos participativos currency: '$' groups: all_city: Toda la ciudad districts: Distritos + valuator_groups: + culture_and_sports: Cultura y deportes From 13c25116588c3e6599eb77adfb665e7edbe924e7 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 13 Oct 2018 22:00:35 +0200 Subject: [PATCH 147/565] New translations admin.yml (Spanish, Chile) --- config/locales/es-CL/admin.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/config/locales/es-CL/admin.yml b/config/locales/es-CL/admin.yml index 494002ad2..87d2b166e 100644 --- a/config/locales/es-CL/admin.yml +++ b/config/locales/es-CL/admin.yml @@ -171,6 +171,8 @@ es-CL: min_total_supports: Soportes minimos winners: Ganadoras one_filter_html: "Filtros en uso: <b><em>%{filter}</em></b>" + buttons: + filter: Filtro download_current_selection: "Descargar selección actual" no_budget_investments: "No hay proyectos de inversión." title: Propuestas de inversión @@ -183,6 +185,9 @@ es-CL: undecided: "Sin decidir" selected: "Seleccionada" select: "Seleccionar" + list: + id: ID + title: Título show: assigned_admin: Administrador asignado assigned_valuators: Evaluadores asignados @@ -209,6 +214,8 @@ es-CL: winner: title: Ganadora "true": "Si" + "false": "No" + documents: "Documentos" edit: classification: Clasificación compatibility: Compatibilidad @@ -222,12 +229,15 @@ es-CL: tags: Etiquetas tags_placeholder: "Escribe las etiquetas que desees separadas por comas (,)" undefined: Sin definir + user_groups: "Grupos" search_unfeasible: Buscar inviables milestones: index: + table_id: "ID" table_title: "Título" table_description: "Descripción" table_publication_date: "Fecha de publicación" + table_status: Estado table_actions: "Acciones" delete: "Eliminar hito" no_milestones: "No hay hitos definidos" @@ -237,6 +247,7 @@ es-CL: new: creating: Crear hito date: Fecha + description: Descripción edit: title: Editar hito create: @@ -245,6 +256,11 @@ es-CL: notice: Hito actualizado delete: notice: Hito borrado correctamente + statuses: + index: + table_name: Nombre + delete: Eliminar + edit: Editar comments: index: filter: Filtro From 01254c251b7354558531ebbf0ccedf2f0c2e5ecb Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 13 Oct 2018 22:00:36 +0200 Subject: [PATCH 148/565] New translations seeds.yml (Spanish, Chile) --- config/locales/es-CL/seeds.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/config/locales/es-CL/seeds.yml b/config/locales/es-CL/seeds.yml index d967dec0b..0402f707c 100644 --- a/config/locales/es-CL/seeds.yml +++ b/config/locales/es-CL/seeds.yml @@ -1 +1,22 @@ es-CL: + seeds: + categories: + associations: Asociaciones + culture: Cultura + sports: Deportes + social_rights: Derechos Sociales + economy: Economía + employment: Empleo + equity: Equidad + participation: Participación + mobility: Movilidad + media: Medios + health: Salud + transparency: Transparencia + security_emergencies: Seguridad y Emergencias + environment: Medio Ambiente + budgets: + budget: Presupuesto Participativo + valuator_groups: + culture_and_sports: Cultura y Deportes + gender_and_diversity: Políticas de Género y Diversidad From 6b50e607040ef3046b223652504eabcf7318ed7f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 13 Oct 2018 22:10:26 +0200 Subject: [PATCH 149/565] New translations seeds.yml (Spanish, Chile) --- config/locales/es-CL/seeds.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/locales/es-CL/seeds.yml b/config/locales/es-CL/seeds.yml index 0402f707c..f26caf067 100644 --- a/config/locales/es-CL/seeds.yml +++ b/config/locales/es-CL/seeds.yml @@ -1,5 +1,7 @@ es-CL: seeds: + organizations: + human_rights: Derechos Humanos categories: associations: Asociaciones culture: Cultura @@ -17,6 +19,8 @@ es-CL: environment: Medio Ambiente budgets: budget: Presupuesto Participativo + groups: + all_city: Toda la Ciudad valuator_groups: culture_and_sports: Cultura y Deportes gender_and_diversity: Políticas de Género y Diversidad From f35dff7e49bd6a7bb38cc09dfb8e9f8b4b52f77d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 14 Oct 2018 03:20:25 +0200 Subject: [PATCH 150/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index 29780a6a8..2eb317260 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -1,15 +1,25 @@ de: settings: comments_body_max_length: "Maximale Länge der Kommentare" + comments_body_max_length_description: "In Anzahl der Zeichen" official_level_1_name: "Beamte*r Stufe 1" + official_level_1_name_description: "Tag, das auf Nutzern erscheint, die als Level 1 offizielle Position markiert sind" official_level_2_name: "Beamte*r Stufe 2" + official_level_2_name_description: "Tag, das auf Nutzern erscheint, die als Level 2 offizielle Position markiert sind" official_level_3_name: "Beamte*r Stufe 3" + official_level_3_name_description: "Tag, das auf Nutzern erscheint, die als Level 3 offizielle Position markiert sind" official_level_4_name: "Beamte*r Stufe 4" + official_level_4_name_description: "Tag, das auf Nutzern erscheint, die als Level 4 offizielle Position markiert sind" official_level_5_name: "Beamte*r Stufe 5" + official_level_5_name_description: "Tag, das auf Nutzern erscheint, die als Level 5 offizielle Position markiert sind" max_ratio_anon_votes_on_debates: "Maximale Anzahl von anonymen Stimmen per Diskussion" + max_ratio_anon_votes_on_debates_description: "Anonyme Stimmen sind von registrierten Nutzern mit einem ungeprüften Konto" max_votes_for_proposal_edit: "Anzahl von Stimmen bei der ein Vorschlag nicht länger bearbeitet werden kann" + max_votes_for_proposal_edit_description: "Von dieser Anzahl an Unterstützung kann der Autor einen Vorschlag nicht länger ändern" max_votes_for_debate_edit: "Anzahl von Stimmen bei der eine Diskussion nicht länger bearbeitet werden kann" + max_votes_for_debate_edit_description: "Von dieser Anzahl an Unterstützung kann der Autor einer Debatte diese nicht länger ändern" proposal_code_prefix: "Präfix für Vorschlag-Codes" + proposal_code_prefix_description: "Dieses Präfix wird in den Vorschlägen vor dem Erstellungsdatum und der ID angezeigt" votes_for_proposal_success: "Anzahl der notwendigen Stimmen zur Genehmigung eines Vorschlags" months_to_archive_proposals: "Anzahl der Monate, um Vorschläge zu archivieren" email_domain_for_officials: "E-Mail-Domäne für Beamte" From e74671aca126b83e07baadf92f685403a07807f8 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 14 Oct 2018 03:20:27 +0200 Subject: [PATCH 151/565] New translations seeds.yml (German) --- config/locales/de-DE/seeds.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/locales/de-DE/seeds.yml b/config/locales/de-DE/seeds.yml index e4ba51828..6156948d8 100644 --- a/config/locales/de-DE/seeds.yml +++ b/config/locales/de-DE/seeds.yml @@ -1,5 +1,11 @@ de: seeds: + settings: + official_level_1_name: Offizielle Position 1 + official_level_2_name: Offizielle Position 2 + official_level_3_name: Offizielle Position 3 + official_level_4_name: Offizielle Position 4 + official_level_5_name: Offizielle Position 5 geozones: north_district: Bezirk-Nord west_district: Bezirk-West From b3a73a25117366d080ad89eedfb6571829a9835e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 14 Oct 2018 05:20:25 +0200 Subject: [PATCH 152/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index 2eb317260..6c07fae13 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -21,10 +21,15 @@ de: proposal_code_prefix: "Präfix für Vorschlag-Codes" proposal_code_prefix_description: "Dieses Präfix wird in den Vorschlägen vor dem Erstellungsdatum und der ID angezeigt" votes_for_proposal_success: "Anzahl der notwendigen Stimmen zur Genehmigung eines Vorschlags" + votes_for_proposal_success_description: "Wenn der Vorschlag diese Anzahl an Unterstützung erreicht, wird es nicht mehr in der Lage sein zusätzliche Unterstützung zu sammeln un wird als erfolgreich betrachtet" months_to_archive_proposals: "Anzahl der Monate, um Vorschläge zu archivieren" + months_to_archive_proposals_description: Nach dieser Anzahl von Monaten wird elder Vorschlag archiviert und wird nicht mehr fähig sein Unterstützung zu erhalten" email_domain_for_officials: "E-Mail-Domäne für Beamte" + email_domain_for_officials_description: "Für alle, mit dieser Domain registrierten, Nutzer wird der Account verifiziert" per_page_code_head: "Code, der auf jeder Seite eingefügt wird (<head>)" + per_page_code_head_description: "Dieser Code wird innerhalb des <head>-Labels angezeigt. Nützlich für das Eintragen von benutzerdefinierten skrips, Analytiken..." per_page_code_body: "Code, der auf jeder Seite eingefügt wird (<body>)" + per_page_code_body_description: "Dieser Code wird innerhalb des <body>-Labels angezeigt. Nützlich für das Eintragen von benutzerdefinierten skrips, Analytiken..." twitter_handle: "Twitter Benutzer*name" twitter_hashtag: "Twitter hashtag" facebook_handle: "Facebook Benutzer*name" From 231485a33503f114e2140103a4993c1556efac99 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 14 Oct 2018 05:30:26 +0200 Subject: [PATCH 153/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index 6c07fae13..f6992baf0 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -31,7 +31,9 @@ de: per_page_code_body: "Code, der auf jeder Seite eingefügt wird (<body>)" per_page_code_body_description: "Dieser Code wird innerhalb des <body>-Labels angezeigt. Nützlich für das Eintragen von benutzerdefinierten skrips, Analytiken..." twitter_handle: "Twitter Benutzer*name" + twitter_handle_description: "Falls ausgefüllt, wird es in der Fußzeile erscheinen" twitter_hashtag: "Twitter hashtag" + twitter_hashtag_description: "Hashtag, der erscheint, wenn I halt auf Twitter geteilt wird" facebook_handle: "Facebook Benutzer*name" youtube_handle: "Benutzer*name für Youtube" telegram_handle: "Benutzer*name für Telegram" From ad9e4b45022d8a789e7cee956c06f88d1e9b390f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 14 Oct 2018 20:40:23 +0200 Subject: [PATCH 154/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index f6992baf0..ca188a4c1 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -35,19 +35,37 @@ de: twitter_hashtag: "Twitter hashtag" twitter_hashtag_description: "Hashtag, der erscheint, wenn I halt auf Twitter geteilt wird" facebook_handle: "Facebook Benutzer*name" + facebook_handle_description: "Falls ausgefüllt, wird es in der Fußzeile erscheinen" youtube_handle: "Benutzer*name für Youtube" + youtube_handle_description: "Falls ausgefüllt, wird es in der Fußzeile erscheinen" telegram_handle: "Benutzer*name für Telegram" + telegram_handle_description: "Falls ausgefüllt, wird es in der Fußzeile erscheinen" instagram_handle: "Instagram handle" + instagram_handle_description: "Falls ausgefüllt, wird es in der Fußzeile erscheinen" url: "Haupt-URL" + url_description: "Haupt-URL Ihrer Website" org_name: "Name der Organisation" + org_name_description: "Name Ihrer Organisation" place_name: "Name des Ortes" + place_name_description: "Name Ihrer Stadt" related_content_score_threshold: "Punktzahl-Grenze für verwandte Inhalte" + related_content_score_threshold_description: "Inhalte, die Benutzer als zusammenhangslos markiert haben" map_latitude: "Breitengrad" + map_latitude_description: "Breitangrad, um die Kartenposition anzuzeigen" map_longitude: "Längengrad" + map_longitude_description: "Längengrad, um die Position der Karte zu zeigen" map_zoom: "Zoom" + map_zoom_description: "Zoomen, um die Kartenposition anzuzeigen" + mailer_from_name: "Absender E-Mail-Name" + mailer_from_name_description: "Dieser Name wird in E-Mails angezeigt, die von dieser Anwendung versendet werden" + mailer_from_address: "Absender E-Mail-Adresse" + mailer_from_address_description: "Diese E-Mail-Adresse wird in E-Mails angezeigt, die von dieser Anwendung versendet werden" meta_title: "Seiten-Titel (SEO)" + meta_title_description: "Titel für die Seite <title>, zur Verbesserung der SEO" meta_description: "Seiten-Beschreibung (SEO)" + meta_description_description: 'Website-Beschreibung <meta name="description">, zur Verbesserung der SEO' meta_keywords: "Stichwörter (SEO)" + meta_keywords_description: 'Stichwörter <meta name="keywords">, zur Verbesserung der SEO' min_age_to_participate: erforderliches Mindestalter zur Teilnahme blog_url: "Blog URL" transparency_url: "Transparenz-URL" From accacc675a273bbf48c50d03d2ea53750c577a44 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 14 Oct 2018 20:50:26 +0200 Subject: [PATCH 155/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index ca188a4c1..5c604698f 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -67,6 +67,8 @@ de: meta_keywords: "Stichwörter (SEO)" meta_keywords_description: 'Stichwörter <meta name="keywords">, zur Verbesserung der SEO' min_age_to_participate: erforderliches Mindestalter zur Teilnahme + min_age_to_participate_description: "Nutzer ab diesem Alter können an allen Prozessen teilnehmen" + analytics_url: "Analytik-URL" blog_url: "Blog URL" transparency_url: "Transparenz-URL" opendata_url: "Offene-Daten-URL" @@ -74,6 +76,7 @@ de: proposal_improvement_path: Interner Link zur Antragsverbesserungsinformation feature: budgets: "Bürgerhaushalt" + budgets_description: "Durch den Bürgerhaushalt können BürgerInnen entscheiden an welche der, von Nachbarn presentierten, Projekte einen Teil des kommunalen Budgets erhalten" twitter_login: "Twitter login" twitter_login_description: "Anmeldung mit Twitter-Account erlauben" facebook_login: "Facebook login" From 379141f6f29cd403709b1550dd47331b8410e28d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 14 Oct 2018 21:20:34 +0200 Subject: [PATCH 156/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index 5c604698f..35ae7f523 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -84,6 +84,7 @@ de: google_login: "Google login" google_login_description: "Anmeldung mit Google-Account erlauben" proposals: "Vorschläge" + proposals_description: "Bürgervorschläge bieten die Möglichkeit für Nachbarn und Kollektive direkt zu entscheiden, wie ihre Stadt sein soll, nahdem sie genügend Unterstützung erhalten haben und einen Bürgenvorschlag eingereicht haben" debates: "Diskussionen" polls: "Umfragen" signature_sheets: "Unterschriftenbögen" From d9796865fd7e7883cb682e331b2b5aca937b934d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 03:00:33 +0200 Subject: [PATCH 157/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index 850c81311..928274793 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -534,7 +534,22 @@ zh-CN: date_4: '去年' date_5: '自定义' from: '从' + general: '随着文本' + general_placeholder: '编写文本' search: '过滤器' + title: '高级搜索' + to: '至' + author_info: + author_deleted: 已删除的用户 + back: 返回 + check: 选择 + check_all: 所有 + check_none: 没有 + collective: 集体 + flag: 标记为不恰当 + follow: "跟随" + following: "跟随着" + follow_entity: "跟随%{entity}" followable: budget_investment: create: @@ -547,6 +562,10 @@ zh-CN: destroy: notice_html: "您已经停止跟随此公民提议!</br>您将不再接收到有关此提议的通知。" hide: 隐藏 + print: + print_button: 打印此信息 + search: 搜索 + show: 显示 suggest: debate: found: @@ -557,6 +576,7 @@ zh-CN: found: other: "有些带有术语'%{query}'的投资,您可以参与其中而不需要打开一个新的。" message: "您在看%{count} 个投资里包含术语'%{query}'的%{limit}" + see_all: "查看所有" proposal: found: other: "有些带有术语 '%{query}'的提议,您可以贡献其中而不需要创建一个新的" From d0f4e616af86e3927f78086d73990b52fc4ba9bc Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 03:10:27 +0200 Subject: [PATCH 158/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 33 ++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index 928274793..c3ee6103a 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -581,6 +581,29 @@ zh-CN: found: other: "有些带有术语 '%{query}'的提议,您可以贡献其中而不需要创建一个新的" message: "您在看%{count} 个提议中包含术语 '%{query}'的%{limit}" + see_all: "查看所有" + tags_cloud: + tags: 趋势 + districts: "地区" + districts_list: "地区列表" + categories: "类别" + target_blank_html: " (链接在新窗口打开)" + you_are_in: "您在" + unflag: 取消标记 + unfollow_entity: "取消跟随%{entity}" + outline: + budget: 参与性预算 + searcher: 搜寻者 + go_to_page: "转到页面 " + share: 分享 + orbit: + previous_slide: 上一张幻灯片 + next_slide: 下一张幻灯片 + documentation: 其他文档 + view_mode: + title: 查看模式 + cards: 卡片 + list: 列表 recommended_index: title: 推荐 see_more: 查看更多推荐 @@ -599,7 +622,14 @@ zh-CN: association_name: '协会名称' description: 说明 external_url: 链接到其他文档 + geozone: 经营范围 + submit_buttons: + create: 创建 + new: 创建 + title: 支出提议标题 index: + title: 参与性预算 + unfeasible: 不可行的投资项目 by_geozone: "投资项目范围:%{geozone}" search_form: button: 搜索 @@ -610,7 +640,10 @@ zh-CN: sidebar: geozones: 经营范围 feasibility: 可行性 + unfeasible: 不可行 + start_spending_proposal: 创建一个投资项目 new: + more_info: 参与性预算是如何运作的? recommendations_title: 如果创建支出提议 welcome: feed: From 6b33cf204913783930ae8c5f7baf21046670b2d4 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 03:20:27 +0200 Subject: [PATCH 159/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index c3ee6103a..14830cab6 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -644,6 +644,8 @@ zh-CN: start_spending_proposal: 创建一个投资项目 new: more_info: 参与性预算是如何运作的? + recommendation_one: 提议必须提及可预算的行动。 + recommendation_three: 在描述支出提议的时候请尽可能详细说明,以便审阅小组可以明白您的观点。 recommendations_title: 如果创建支出提议 welcome: feed: From 3e69f4a38f170d2104aef64b333d9895b07ddc3b Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 03:30:26 +0200 Subject: [PATCH 160/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index 14830cab6..04e841003 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -646,7 +646,36 @@ zh-CN: more_info: 参与性预算是如何运作的? recommendation_one: 提议必须提及可预算的行动。 recommendation_three: 在描述支出提议的时候请尽可能详细说明,以便审阅小组可以明白您的观点。 + recommendation_two: 任何暗示非法行动的提议或评论都将被删除。 recommendations_title: 如果创建支出提议 + start_new: 创建支出提议 + users: + show: + send_private_message: "发送私人信息" + delete_alert: "确定要删除您的投资项目吗?此操作将无法被撤销" + proposals: + send_notification: "发送通知" + retire: "撤回" + retired: "撤回提议" + see: "查看提议" + votes: + agree: 我同意 + anonymous: 太多匿名投票而不能承认投票%{verify_account}。 + comment_unauthenticated: 您必须%{signin} 或者%{signup} 才可以进行投票。 + disagree: 我不同意 + organizations: 组织不得投票 + signin: 登录 + signup: 注册 + supports: 支持 + unauthenticated: 您必须%{signin} 或者%{signup} 才能继续。 + verified_only: 只有已验证的用户可以对提议进行投票;%{verify_account}。 + verify_account: 验证您的账户 + spending_proposals: + not_logged_in: 您必须%{signin} 或者%{signup} 才能继续。 + not_verified: 只有已验证的用户可以对提议进行投票;%{verify_account}。 + organization: 组织不得投票 + unfeasible: 不可行的投资项目无法得到支持 + not_voting_allowed: 投票阶段已结束 welcome: feed: most_active: From f9047e3fbbaed20a3b868b51591ae4a945419ffd Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 03:40:46 +0200 Subject: [PATCH 161/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 57 ++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index 04e841003..ef44a97b7 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -649,6 +649,28 @@ zh-CN: recommendation_two: 任何暗示非法行动的提议或评论都将被删除。 recommendations_title: 如果创建支出提议 start_new: 创建支出提议 + show: + author_deleted: 已删除的用户 + code: '提议编码:' + share: 分享 + wrong_price_format: 仅限整数 + spending_proposal: + spending_proposal: 投资项目 + already_supported: 您已支持此项目。请分享它吧! + support: 支持 + support_title: 支持此项目 + supports: + zero: 没有支持 + other: "%{count} 个支持" + stats: + index: + visits: 访问 + debates: 辩论 + proposals: 提议 + comments: 评论 + proposal_votes: 投票提议 + debate_votes: 投票辩论 + comment_votes: 投票评论 users: show: send_private_message: "发送私人信息" @@ -676,14 +698,49 @@ zh-CN: organization: 组织不得投票 unfeasible: 不可行的投资项目无法得到支持 not_voting_allowed: 投票阶段已结束 + budget_investments: + not_logged_in: 您必须%{signin} 或者%{signup} 才能继续。 + not_verified: 只有已验证的用户可以对投资项目进行投票;%{verify_account}。 + organization: 组织不得投票 + unfeasible: 不可行的投资项目无法得到支持 + not_voting_allowed: 投票阶段已结束 + different_heading_assigned: + other: "您只能支持在%{count} 地区的投资项目" welcome: feed: most_active: debates: "最活跃的辩论" proposals: "最活跃的提议" processes: "开放进程" + see_all_debates: 查看所有辩论 + see_all_proposals: 查看所有提议 + see_all_processes: 查看所有提议 + process_label: 进程 + see_process: 查看进程 cards: title: 特色 recommended: title: 您可能感兴趣的推荐 help: "这些推荐是由您跟随的辩论和提议的标签生成。" + debates: + title: 推荐的辩论 + btn_text_link: 所有推荐的辩论 + proposals: + title: 推荐的提议 + btn_text_link: 所有推荐的提议 + budget_investments: + title: 推荐的投资 + slide: "查看%{title}" + verification: + i_dont_have_an_account: 我没有账户 + i_have_an_account: 我已经有一个账户 + question: 您是否已经在%{org_name} 拥有账户? + title: 账户验证 + welcome: + go_to_index: 查看提议和辩论 + title: 参与 + user_permission_debates: 参与辩论 + user_permission_info: 您可以用您的账户来... + user_permission_proposal: 创建新的提议 + user_permission_support_proposal: 支持提议* + user_permission_verify: 要执行所有操作,请验证您的账户。 From 73cafef7b1e35dedf3360481da0a9800cde2ee9e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 03:50:31 +0200 Subject: [PATCH 162/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 55 ++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index ef44a97b7..c51085b2c 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -671,8 +671,52 @@ zh-CN: proposal_votes: 投票提议 debate_votes: 投票辩论 comment_votes: 投票评论 + votes: 总投票数 + verified_users: 已验证的用户 + unverified_users: 未验证的用户 + unauthorized: + default: 您没有权限访问此页面。 + manage: + all: "您没有权限在%{subject} 上执行此操作‘%{action}‘。" users: + direct_messages: + new: + body_label: 信息 + direct_messages_bloqued: "此用户已决定不接收直接信息" + submit_button: 发送信息 + title: 发送私人信息给%{receiver} + title_label: 标题 + verified_only: 要发送私人信息%{verify_account} + verify_account: 验证您的账户 + authenticate: 您必须%{signin} 或者%{signup} 才能继续。 + signin: 登录 + signup: 注册 + show: + receiver: 发给%{receiver} 的信息 show: + deleted: 已删除 + deleted_debate: 此辩论已被删除 + deleted_proposal: 此提议已被删除 + deleted_budget_investment: 此投资项目已被删除 + proposals: 提议 + debates: 辩论 + budget_investments: 预算投资 + comments: 评论 + actions: 行动 + filters: + comments: + other: "%{count} 个评论" + debates: + other: "%{count} 个辩论" + proposals: + other: "%{count} 个提议" + budget_investments: + other: "%{count} 个投资" + follows: + other: "%{count} 个跟随" + no_activity: 用户没有公开活动 + no_private_messages: "此用户不接收私人信息。" + private_activity: 此用户已决定保密活动列表。 send_private_message: "发送私人信息" delete_alert: "确定要删除您的投资项目吗?此操作将无法被撤销" proposals: @@ -744,3 +788,14 @@ zh-CN: user_permission_proposal: 创建新的提议 user_permission_support_proposal: 支持提议* user_permission_verify: 要执行所有操作,请验证您的账户。 + user_permission_verify_info: "*仅适用于人口普查的用户。" + user_permission_verify_my_account: 验证我的账户 + user_permission_votes: 参与最终投票 + invisible_captcha: + sentence_for_humans: "如果您是人类,请忽略此字段" + timestamp_error_message: "很抱歉,那太快了!请重新递交。" + related_content: + title: "相关的内容" + add: "添加相关的内容" + label: "链接到相关的内容" + placeholder: "%{url}" From 3f65dc17a944a66291fb777ef24189e451773213 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 04:00:29 +0200 Subject: [PATCH 163/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index c51085b2c..bbc5b90e3 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -799,3 +799,25 @@ zh-CN: add: "添加相关的内容" label: "链接到相关的内容" placeholder: "%{url}" + help: "您可以添加%{org} 内的%{models} 链接。" + submit: "添加" + error: "链接无效。请记住以%{url} 开头。" + error_itself: "链接无效。您无法把内容关联到它自身。" + success: "您添加了新的相关的内容" + is_related: "¿它是相关的内容吗?" + score_positive: "是" + score_negative: "不是" + content_title: + proposal: "提议" + debate: "辩论" + budget_investment: "预算投资" + admin/widget: + header: + title: 管理 + annotator: + help: + alt: 选择您希望评论的文本,然后按下铅笔按钮。 + text: 若要对此文档进行评论,您必须%{sign_in} 或者%{sign_up}。然后选择您希望评论的文本,按下铅笔按钮。 + text_sign_in: 登录 + text_sign_up: 注册 + title: 我怎样对此文档做评论? From e858ab0cc379d40373e41161435538c3729bcf2b Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:27 +0200 Subject: [PATCH 164/565] New translations rails.yml (Finnish) --- config/locales/fi-FI/rails.yml | 35 ++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 config/locales/fi-FI/rails.yml diff --git a/config/locales/fi-FI/rails.yml b/config/locales/fi-FI/rails.yml new file mode 100644 index 000000000..c8cb60abf --- /dev/null +++ b/config/locales/fi-FI/rails.yml @@ -0,0 +1,35 @@ +fi: + date: + abbr_month_names: + - + - Jan + - Feb + - Mar + - Apr + - May + - Jun + - Jul + - Aug + - Sep + - Oct + - Nov + - Dec + month_names: + - + - January + - February + - March + - April + - May + - June + - July + - August + - September + - October + - November + - December + number: + human: + format: + significant: true + strip_insignificant_zeros: true From 042d37b8940cffa08f788524f0705fcad80a92e9 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:29 +0200 Subject: [PATCH 165/565] New translations legislation.yml (Finnish) --- config/locales/fi-FI/legislation.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/legislation.yml diff --git a/config/locales/fi-FI/legislation.yml b/config/locales/fi-FI/legislation.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/legislation.yml @@ -0,0 +1 @@ +fi: From 7ac0370f7cccc3bc1a0f3c24559f0782931a4a15 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:30 +0200 Subject: [PATCH 166/565] New translations seeds.yml (Finnish) --- config/locales/fi-FI/seeds.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/seeds.yml diff --git a/config/locales/fi-FI/seeds.yml b/config/locales/fi-FI/seeds.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/seeds.yml @@ -0,0 +1 @@ +fi: From aeb42257498569d0757ebfd3dbca2d33091106cb Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:31 +0200 Subject: [PATCH 167/565] New translations guides.yml (Finnish) --- config/locales/fi-FI/guides.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/guides.yml diff --git a/config/locales/fi-FI/guides.yml b/config/locales/fi-FI/guides.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/guides.yml @@ -0,0 +1 @@ +fi: From 38ae51ce8dbf9094a62966d91c78873f7cd4355f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:32 +0200 Subject: [PATCH 168/565] New translations images.yml (Finnish) --- config/locales/fi-FI/images.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/images.yml diff --git a/config/locales/fi-FI/images.yml b/config/locales/fi-FI/images.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/images.yml @@ -0,0 +1 @@ +fi: From 2cf9c741b2354a13ee817a1784ac7c806472a0c1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:33 +0200 Subject: [PATCH 169/565] New translations responders.yml (Finnish) --- config/locales/fi-FI/responders.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/responders.yml diff --git a/config/locales/fi-FI/responders.yml b/config/locales/fi-FI/responders.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/responders.yml @@ -0,0 +1 @@ +fi: From 957e4bd46c24a1f36033b9a0d9f9c47743b5dfdd Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:34 +0200 Subject: [PATCH 170/565] New translations officing.yml (Finnish) --- config/locales/fi-FI/officing.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/officing.yml diff --git a/config/locales/fi-FI/officing.yml b/config/locales/fi-FI/officing.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/officing.yml @@ -0,0 +1 @@ +fi: From 40aa678a87425d500c39194dca603198bde98963 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:36 +0200 Subject: [PATCH 171/565] New translations settings.yml (Finnish) --- config/locales/fi-FI/settings.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/settings.yml diff --git a/config/locales/fi-FI/settings.yml b/config/locales/fi-FI/settings.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/settings.yml @@ -0,0 +1 @@ +fi: From 13699d2623ad5b2a5a6c054c65fc0a242c725ef0 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:38 +0200 Subject: [PATCH 172/565] New translations documents.yml (Finnish) --- config/locales/fi-FI/documents.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/documents.yml diff --git a/config/locales/fi-FI/documents.yml b/config/locales/fi-FI/documents.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/documents.yml @@ -0,0 +1 @@ +fi: From 0392c5a02acb91d5f3ac9ddd9a9e9b6a1d9903c2 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:39 +0200 Subject: [PATCH 173/565] New translations management.yml (Finnish) --- config/locales/fi-FI/management.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/management.yml diff --git a/config/locales/fi-FI/management.yml b/config/locales/fi-FI/management.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/management.yml @@ -0,0 +1 @@ +fi: From 39ba039c7a6ec0a6e9a97554ee583b8a8249656c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:43 +0200 Subject: [PATCH 174/565] New translations admin.yml (Finnish) --- config/locales/fi-FI/admin.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/admin.yml diff --git a/config/locales/fi-FI/admin.yml b/config/locales/fi-FI/admin.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/admin.yml @@ -0,0 +1 @@ +fi: From a6f5d38dbd2b72ab18dd3a082ae7793bf5ce2ff0 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:46 +0200 Subject: [PATCH 175/565] New translations general.yml (Finnish) --- config/locales/fi-FI/general.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/general.yml diff --git a/config/locales/fi-FI/general.yml b/config/locales/fi-FI/general.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/general.yml @@ -0,0 +1 @@ +fi: From f02e4df2908db03fa243e693826b5087822a1026 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:47 +0200 Subject: [PATCH 176/565] New translations kaminari.yml (Finnish) --- config/locales/fi-FI/kaminari.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/kaminari.yml diff --git a/config/locales/fi-FI/kaminari.yml b/config/locales/fi-FI/kaminari.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/kaminari.yml @@ -0,0 +1 @@ +fi: From 6d492e1b1d30a3f4a8d7fc44a187ddfaa0a3b27f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:49 +0200 Subject: [PATCH 177/565] New translations moderation.yml (Finnish) --- config/locales/fi-FI/moderation.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/moderation.yml diff --git a/config/locales/fi-FI/moderation.yml b/config/locales/fi-FI/moderation.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/moderation.yml @@ -0,0 +1 @@ +fi: From fe062846225a726eb07b6bec5dd4d5d725ed81bb Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:50 +0200 Subject: [PATCH 178/565] New translations community.yml (Finnish) --- config/locales/fi-FI/community.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/community.yml diff --git a/config/locales/fi-FI/community.yml b/config/locales/fi-FI/community.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/community.yml @@ -0,0 +1 @@ +fi: From 20695d6884c002c062df827e085d0c001854fb8e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:51 +0200 Subject: [PATCH 179/565] New translations social_share_button.yml (Finnish) --- config/locales/fi-FI/social_share_button.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/social_share_button.yml diff --git a/config/locales/fi-FI/social_share_button.yml b/config/locales/fi-FI/social_share_button.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/social_share_button.yml @@ -0,0 +1 @@ +fi: From b9d61e6b243c2dffe8107308df18ea63a0d67e78 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:52 +0200 Subject: [PATCH 180/565] New translations valuation.yml (Finnish) --- config/locales/fi-FI/valuation.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/valuation.yml diff --git a/config/locales/fi-FI/valuation.yml b/config/locales/fi-FI/valuation.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/valuation.yml @@ -0,0 +1 @@ +fi: From 7dea375480c822adbe637f65b0dfccb5b33095aa Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:54 +0200 Subject: [PATCH 181/565] New translations activerecord.yml (Finnish) --- config/locales/fi-FI/activerecord.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/activerecord.yml diff --git a/config/locales/fi-FI/activerecord.yml b/config/locales/fi-FI/activerecord.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/activerecord.yml @@ -0,0 +1 @@ +fi: From d3d4fdc7605d874954d452c981b7a30dd59df3ca Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:55 +0200 Subject: [PATCH 182/565] New translations verification.yml (Finnish) --- config/locales/fi-FI/verification.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/verification.yml diff --git a/config/locales/fi-FI/verification.yml b/config/locales/fi-FI/verification.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/verification.yml @@ -0,0 +1 @@ +fi: From b64df2567cba7eb9ff24d7ef53828fc17ff99c09 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:57 +0200 Subject: [PATCH 183/565] New translations activemodel.yml (Finnish) --- config/locales/fi-FI/activemodel.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/activemodel.yml diff --git a/config/locales/fi-FI/activemodel.yml b/config/locales/fi-FI/activemodel.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/activemodel.yml @@ -0,0 +1 @@ +fi: From 79eaf8bac50082e61542a24563e950c30b269bb5 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:58 +0200 Subject: [PATCH 184/565] New translations mailers.yml (Finnish) --- config/locales/fi-FI/mailers.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/mailers.yml diff --git a/config/locales/fi-FI/mailers.yml b/config/locales/fi-FI/mailers.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/mailers.yml @@ -0,0 +1 @@ +fi: From 10449fb46a2d9878943b6dd981a6bcfdbcba7ede Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:21:59 +0200 Subject: [PATCH 185/565] New translations devise_views.yml (Finnish) --- config/locales/fi-FI/devise_views.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/devise_views.yml diff --git a/config/locales/fi-FI/devise_views.yml b/config/locales/fi-FI/devise_views.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/devise_views.yml @@ -0,0 +1 @@ +fi: From 5f3c17f27a5ff825479753b8a3ae9a36937825bd Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:22:00 +0200 Subject: [PATCH 186/565] New translations pages.yml (Finnish) --- config/locales/fi-FI/pages.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/pages.yml diff --git a/config/locales/fi-FI/pages.yml b/config/locales/fi-FI/pages.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/pages.yml @@ -0,0 +1 @@ +fi: From 3d665faac557c0715381f8f0c9230fb43f6ae559 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:22:02 +0200 Subject: [PATCH 187/565] New translations devise.yml (Finnish) --- config/locales/fi-FI/devise.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/devise.yml diff --git a/config/locales/fi-FI/devise.yml b/config/locales/fi-FI/devise.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/devise.yml @@ -0,0 +1 @@ +fi: From fa875adbfddc46650c858a8f366072f01b99f4e6 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:22:03 +0200 Subject: [PATCH 188/565] New translations budgets.yml (Finnish) --- config/locales/fi-FI/budgets.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/budgets.yml diff --git a/config/locales/fi-FI/budgets.yml b/config/locales/fi-FI/budgets.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/budgets.yml @@ -0,0 +1 @@ +fi: From c49ac9ce601b52960de3fbb58b19eed33ffe3b4d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 15 Oct 2018 18:22:04 +0200 Subject: [PATCH 189/565] New translations i18n.yml (Finnish) --- config/locales/fi-FI/i18n.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 config/locales/fi-FI/i18n.yml diff --git a/config/locales/fi-FI/i18n.yml b/config/locales/fi-FI/i18n.yml new file mode 100644 index 000000000..23c538b19 --- /dev/null +++ b/config/locales/fi-FI/i18n.yml @@ -0,0 +1 @@ +fi: From 7610af3a7c32fc594a7c714b0468992b495c48cd Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 16 Oct 2018 01:10:25 +0200 Subject: [PATCH 190/565] New translations general.yml (Chinese Simplified) --- config/locales/zh-CN/general.yml | 36 ++++++++++++++++---------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/config/locales/zh-CN/general.yml b/config/locales/zh-CN/general.yml index bbc5b90e3..0071b8a32 100644 --- a/config/locales/zh-CN/general.yml +++ b/config/locales/zh-CN/general.yml @@ -628,7 +628,7 @@ zh-CN: new: 创建 title: 支出提议标题 index: - title: 参与性预算 + title: 参与性预算编制 unfeasible: 不可行的投资项目 by_geozone: "投资项目范围:%{geozone}" search_form: @@ -643,7 +643,7 @@ zh-CN: unfeasible: 不可行 start_spending_proposal: 创建一个投资项目 new: - more_info: 参与性预算是如何运作的? + more_info: 参与性预算编制是如何运作的? recommendation_one: 提议必须提及可预算的行动。 recommendation_three: 在描述支出提议的时候请尽可能详细说明,以便审阅小组可以明白您的观点。 recommendation_two: 任何暗示非法行动的提议或评论都将被删除。 @@ -656,7 +656,7 @@ zh-CN: wrong_price_format: 仅限整数 spending_proposal: spending_proposal: 投资项目 - already_supported: 您已支持此项目。请分享它吧! + already_supported: 您已支持此提议。请分享它吧! support: 支持 support_title: 支持此项目 supports: @@ -668,9 +668,9 @@ zh-CN: debates: 辩论 proposals: 提议 comments: 评论 - proposal_votes: 投票提议 - debate_votes: 投票辩论 - comment_votes: 投票评论 + proposal_votes: 提议的投票数 + debate_votes: 辩论的投票数 + comment_votes: 评论的投票数 votes: 总投票数 verified_users: 已验证的用户 unverified_users: 未验证的用户 @@ -681,18 +681,18 @@ zh-CN: users: direct_messages: new: - body_label: 信息 - direct_messages_bloqued: "此用户已决定不接收直接信息" - submit_button: 发送信息 - title: 发送私人信息给%{receiver} + body_label: 消息 + direct_messages_bloqued: "此用户已决定不接收直接消息" + submit_button: 发送消息 + title: 发送私人消息给%{receiver} title_label: 标题 - verified_only: 要发送私人信息%{verify_account} + verified_only: 要发送私人消息%{verify_account} verify_account: 验证您的账户 authenticate: 您必须%{signin} 或者%{signup} 才能继续。 signin: 登录 signup: 注册 show: - receiver: 发给%{receiver} 的信息 + receiver: 发给%{receiver} 的消息 show: deleted: 已删除 deleted_debate: 此辩论已被删除 @@ -715,14 +715,14 @@ zh-CN: follows: other: "%{count} 个跟随" no_activity: 用户没有公开活动 - no_private_messages: "此用户不接收私人信息。" + no_private_messages: "此用户不接收私人消息。" private_activity: 此用户已决定保密活动列表。 - send_private_message: "发送私人信息" + send_private_message: "发送私人消息" delete_alert: "确定要删除您的投资项目吗?此操作将无法被撤销" proposals: send_notification: "发送通知" retire: "撤回" - retired: "撤回提议" + retired: "已撤回提议" see: "查看提议" votes: agree: 我同意 @@ -749,7 +749,7 @@ zh-CN: unfeasible: 不可行的投资项目无法得到支持 not_voting_allowed: 投票阶段已结束 different_heading_assigned: - other: "您只能支持在%{count} 地区的投资项目" + other: "您只能支持在%{count} 个地区的投资项目" welcome: feed: most_active: @@ -758,7 +758,7 @@ zh-CN: processes: "开放进程" see_all_debates: 查看所有辩论 see_all_proposals: 查看所有提议 - see_all_processes: 查看所有提议 + see_all_processes: 查看所有进程 process_label: 进程 see_process: 查看进程 cards: @@ -804,7 +804,7 @@ zh-CN: error: "链接无效。请记住以%{url} 开头。" error_itself: "链接无效。您无法把内容关联到它自身。" success: "您添加了新的相关的内容" - is_related: "¿它是相关的内容吗?" + is_related: "它是相关的内容吗?" score_positive: "是" score_negative: "不是" content_title: From e4040c3c14d78acd9c9c332a35156694afec099b Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 16 Oct 2018 10:50:41 +0200 Subject: [PATCH 191/565] New translations admin.yml (Swedish) --- config/locales/sv-SE/admin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/sv-SE/admin.yml b/config/locales/sv-SE/admin.yml index 47d9782e2..1451e9f1d 100644 --- a/config/locales/sv-SE/admin.yml +++ b/config/locales/sv-SE/admin.yml @@ -1029,7 +1029,7 @@ sv: no_hidden_proposals: Det finns inga dolda aviseringar. settings: flash: - updated: Uppdaterad kostnadsberäkning + updated: Uppdaterat index: banners: Bannerformat banner_imgs: Banner From 67b7e835027f276ae0613d441ebd8f04966caf93 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 16 Oct 2018 11:01:02 +0200 Subject: [PATCH 192/565] New translations devise_views.yml (Swedish) --- config/locales/sv-SE/devise_views.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/sv-SE/devise_views.yml b/config/locales/sv-SE/devise_views.yml index 70241c948..e7fda7789 100644 --- a/config/locales/sv-SE/devise_views.yml +++ b/config/locales/sv-SE/devise_views.yml @@ -126,4 +126,4 @@ sv: instructions_1_html: <b>Kontrollera din e-postadress</b> - vi har skickat en <b>länk för att bekräfta ditt konto</b>. instructions_2_html: När ditt konto är bekräftat kan du börja delta. thank_you_html: Tack för att du har registrerat dig. Nu behöver du <b>bekräfta din e-postadress</b>. - title: Ändra din e-postadress + title: Bekräfta din e-postadress From 404d3d47f0c53654939a700989bbb7d8627ef0a7 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 16 Oct 2018 11:55:33 +0200 Subject: [PATCH 193/565] New translations legislation.yml (Swedish) --- config/locales/sv-SE/legislation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/sv-SE/legislation.yml b/config/locales/sv-SE/legislation.yml index 36e89892f..9de13656f 100644 --- a/config/locales/sv-SE/legislation.yml +++ b/config/locales/sv-SE/legislation.yml @@ -80,7 +80,7 @@ sv: see_latest_comments_title: Kommentera till den här processen shared: key_dates: Viktiga datum - debate_dates: Diskutera + debate_dates: Diskussion draft_publication_date: Utkastet publiceras result_publication_date: Resultatet publiceras proposals_dates: Förslag From 055a8895ed4af3714b0be55c1ea66262102d4f49 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 16 Oct 2018 13:50:37 +0200 Subject: [PATCH 194/565] New translations legislation.yml (Swedish) --- config/locales/sv-SE/legislation.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/locales/sv-SE/legislation.yml b/config/locales/sv-SE/legislation.yml index 9de13656f..fdf267d2c 100644 --- a/config/locales/sv-SE/legislation.yml +++ b/config/locales/sv-SE/legislation.yml @@ -65,11 +65,11 @@ sv: no_next_processes: Det finns inga planerade processer no_past_processes: Det finns inga avslutade processer section_header: - icon_alt: Ikon för planeringsprocess - title: Planeringsprocesser - help: Hjälp med planeringsprocesser + icon_alt: Ikon för dialoger + title: Dialoger + help: Hjälp med dialoger section_footer: - title: Hjälp med planeringsprocesser + title: Hjälp med dialoger description: Delta i diskussioner och processer inför beslut i staden. Dina åsikter kommer att tas i beaktande av kommunfullmäktige. phase_not_open: not_open: Fasen är inte öppen ännu @@ -102,7 +102,7 @@ sv: next_question: Nästa fråga first_question: Första frågan share: Dela - title: Kollaborativ planeringsprocess + title: Medborgardialoger participation: phase_not_open: Denna fas är inte öppen organizations: Organisationer får inte delta i debatten From 1efc8e10fc30fc7adb6ffbaa13dc0250243e3e7f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 16 Oct 2018 13:50:40 +0200 Subject: [PATCH 195/565] New translations general.yml (Swedish) --- config/locales/sv-SE/general.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/sv-SE/general.yml b/config/locales/sv-SE/general.yml index a207a28f7..298f72e9c 100644 --- a/config/locales/sv-SE/general.yml +++ b/config/locales/sv-SE/general.yml @@ -216,7 +216,7 @@ sv: administration_menu: Admin administration: Administration available_locales: Tillgängliga språk - collaborative_legislation: Planeringsprocesser + collaborative_legislation: Dialoger debates: Debatter external_link_blog: Blogg locale: 'Språk:' From 03c80ab59d273a974f730839aa826382bd6183dd Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 16 Oct 2018 13:50:44 +0200 Subject: [PATCH 196/565] New translations admin.yml (Swedish) --- config/locales/sv-SE/admin.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/sv-SE/admin.yml b/config/locales/sv-SE/admin.yml index 1451e9f1d..ffbd4cfeb 100644 --- a/config/locales/sv-SE/admin.yml +++ b/config/locales/sv-SE/admin.yml @@ -383,7 +383,7 @@ sv: index: create: Ny process delete: Ta bort - title: Planeringsprocesser + title: Dialoger filters: open: Pågående next: Kommande @@ -391,7 +391,7 @@ sv: all: Alla new: back: Tillbaka - title: Skapa en ny kollaborativ planeringsprocess + title: Skapa en ny medborgardialog submit_button: Skapa process process: title: Process @@ -567,7 +567,7 @@ sv: title_settings: Inställningar title_site_customization: Webbplatsens innehåll title_booths: Röststationer - legislation: Planeringsprocesser + legislation: Medborgardialoger users: Användare administrators: index: From 82fb1a2f1f95935709ff6535974e80051d471e65 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 16 Oct 2018 15:32:42 +0200 Subject: [PATCH 197/565] New translations budgets.yml (Swedish) --- config/locales/sv-SE/budgets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/sv-SE/budgets.yml b/config/locales/sv-SE/budgets.yml index d925dcd56..dc75af701 100644 --- a/config/locales/sv-SE/budgets.yml +++ b/config/locales/sv-SE/budgets.yml @@ -56,7 +56,7 @@ sv: see_results: Visa resultat section_footer: title: Hjälp med medborgarbudgetar - description: I medborgarbudgeten bestämmer medborgarna vilka projekt som ska tilldelas en del av budgeten. + description: "Medborgarbudgetar är processer där invånarna beslutar om en del av stadens budget. Alla som är skrivna i staden kan ge förslag på projekt till budgeten.\n\nDe projekt som får flest röster granskas och skickas till en slutomröstning för att utse de vinnande projekten.\n\nBudgetförslag tas emot från januari till och med mars. För att skicka in ett förslag för hela staden eller en del av staden behöver du registrera dig och verifiera ditt konto.\n\nVälj en beskrivande och tydlig rubrik för ditt projekt och förklara hur du vill att det ska genomföras. Komplettera med bilder, dokument och annan viktig information för att göra ditt förslag så bra som möjligt." investments: form: tag_category_label: "Kategorier" From cc61e65d6c5ec015a1872eb452b59591a67ce591 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 16 Oct 2018 15:32:43 +0200 Subject: [PATCH 198/565] New translations legislation.yml (Swedish) --- config/locales/sv-SE/legislation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/sv-SE/legislation.yml b/config/locales/sv-SE/legislation.yml index fdf267d2c..3ea542f4a 100644 --- a/config/locales/sv-SE/legislation.yml +++ b/config/locales/sv-SE/legislation.yml @@ -70,7 +70,7 @@ sv: help: Hjälp med dialoger section_footer: title: Hjälp med dialoger - description: Delta i diskussioner och processer inför beslut i staden. Dina åsikter kommer att tas i beaktande av kommunfullmäktige. + description: "Delta i diskussioner och processer inför beslut i staden. Dina åsikter kommer att tas i beaktande av kommunen.\n\nI dialoger får medborgarna möjlighet att diskutera och ge förslag inför olika typer av kommunala beslut.\n\nAlla som är skrivna i staden kan komma med synpunkter på nya regelverk, beslut och planer för staden. Dina kommentarer analyseras och tas i beaktande i besluten." phase_not_open: not_open: Fasen är inte öppen ännu phase_empty: From 0159ee36f5613fa3784f92024c6178080d3a6487 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 17 Oct 2018 02:00:42 +0200 Subject: [PATCH 199/565] New translations guides.yml (Chinese Simplified) --- config/locales/zh-CN/guides.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/config/locales/zh-CN/guides.yml b/config/locales/zh-CN/guides.yml index f0b698bf3..5cf1b8ce0 100644 --- a/config/locales/zh-CN/guides.yml +++ b/config/locales/zh-CN/guides.yml @@ -1 +1,13 @@ zh-CN: + guides: + title: "您对%{org} 有什么想法吗?" + subtitle: "选择您想要创建的内容" + budget_investment: + title: "一个投资项目" + feature_1_html: "如何使用部分<strong>市政预算</strong>的想法" + feature_2_html: "投资项目在<strong>一月和三月之间</strong>被接受" + feature_3_html: "如果得到支持,而且又是可行和符合市政能力的,它会进入投票阶段" + feature_4_html: "如何公民批准通过这些项目,它们将成为现实" + new_button: 我想创建预算投资 + proposal: + title: "公民提议" From c99bc3cc834ce75e06915d329eb525eee90f3d1e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 17 Oct 2018 02:10:32 +0200 Subject: [PATCH 200/565] New translations images.yml (Chinese Simplified) --- config/locales/zh-CN/images.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/config/locales/zh-CN/images.yml b/config/locales/zh-CN/images.yml index f0b698bf3..04cd3f3fa 100644 --- a/config/locales/zh-CN/images.yml +++ b/config/locales/zh-CN/images.yml @@ -1 +1,12 @@ zh-CN: + images: + remove_image: 删除图像 + form: + title: 描述性图像 + title_placeholder: 为图像添加描述性标题 + attachment_label: 选择图像 + delete_button: 删除图像 + note: "您可上传以下内容类型的一个图像:%{accepted_content_types},最多可以%{max_file_size} MB。" + add_new_image: 添加图像 + admin_title: "图像" + admin_alt_text: "图像的替代文本" From 43f0448a616523824e49ec8382f87946c4a115bf Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 17 Oct 2018 02:10:33 +0200 Subject: [PATCH 201/565] New translations guides.yml (Chinese Simplified) --- config/locales/zh-CN/guides.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/locales/zh-CN/guides.yml b/config/locales/zh-CN/guides.yml index 5cf1b8ce0..69cd143dc 100644 --- a/config/locales/zh-CN/guides.yml +++ b/config/locales/zh-CN/guides.yml @@ -11,3 +11,8 @@ zh-CN: new_button: 我想创建预算投资 proposal: title: "公民提议" + feature_1_html: "任何市政局可以采取一些行动的想法" + feature_2_html: "在%{org} 里需要<strong>%{votes} 个支持</strong>才可以进入投票" + feature_3_html: "您可以在任何时候激活它,您有<strong>一年</strong>的时间可以得到支持" + feature_4_html: "如果在表决中通过,市政局就会接受此提议" + new_button: 我想创建一个提议 From 68ee4d5ed1da690e1c7976664c2ffb41b9a03043 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 17 Oct 2018 02:10:34 +0200 Subject: [PATCH 202/565] New translations i18n.yml (Chinese Simplified) --- config/locales/zh-CN/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/zh-CN/i18n.yml b/config/locales/zh-CN/i18n.yml index f0b698bf3..7dbe88d19 100644 --- a/config/locales/zh-CN/i18n.yml +++ b/config/locales/zh-CN/i18n.yml @@ -1 +1,4 @@ zh-CN: + i18n: + language: + name: "英语" From b4798f61491d851bab4bd3dbf950a84c16d8381e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 17 Oct 2018 02:20:32 +0200 Subject: [PATCH 203/565] New translations kaminari.yml (Chinese Simplified) --- config/locales/zh-CN/kaminari.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/config/locales/zh-CN/kaminari.yml b/config/locales/zh-CN/kaminari.yml index f0b698bf3..71c20e10b 100644 --- a/config/locales/zh-CN/kaminari.yml +++ b/config/locales/zh-CN/kaminari.yml @@ -1 +1,20 @@ zh-CN: + helpers: + page_entries_info: + entry: + zero: 条目 + other: 条目 + more_pages: + display_entries: 显示<strong>%{total} %{entry_name}</strong>的<strong>%{first} - %{last}</strong> + one_page: + display_entries: + zero: "未找到%{entry_name}" + other: 有<strong>%{count} 个 %{entry_name}</strong> + views: + pagination: + current: 您在页面 + first: 最先 + last: 最后 + next: 下一页 + previous: 前一页 + truncate: "…" From 29e86772db280827d5e1cf9f0964ecd3c9ea5136 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 17 Oct 2018 02:20:34 +0200 Subject: [PATCH 204/565] New translations legislation.yml (Chinese Simplified) --- config/locales/zh-CN/legislation.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/config/locales/zh-CN/legislation.yml b/config/locales/zh-CN/legislation.yml index f0b698bf3..c08e24f2b 100644 --- a/config/locales/zh-CN/legislation.yml +++ b/config/locales/zh-CN/legislation.yml @@ -1 +1,23 @@ zh-CN: + legislation: + annotations: + comments: + see_all: 查看所有 + see_complete: 查看完成 + comments_count: + other: "%{count} 个评论" + replies_count: + other: "%{count} 个回复" + cancel: 取消 + publish_comment: 发表评论 + form: + phase_not_open: 此阶段未开放 + login_to_comment: 您必须%{signin} 或者%{signup} 才可以留下评论。 + signin: 登录 + signup: 注册 + index: + title: 评论 + comments_about: 评论关于 + see_in_context: 在上下文中查看 + comments_count: + other: "%{count} 个评论" From 3d35bffc96163bdd7228e8a0c1a884808b4d048c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 17 Oct 2018 02:20:35 +0200 Subject: [PATCH 205/565] New translations images.yml (Chinese Simplified) --- config/locales/zh-CN/images.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/config/locales/zh-CN/images.yml b/config/locales/zh-CN/images.yml index 04cd3f3fa..6c5a8da62 100644 --- a/config/locales/zh-CN/images.yml +++ b/config/locales/zh-CN/images.yml @@ -10,3 +10,12 @@ zh-CN: add_new_image: 添加图像 admin_title: "图像" admin_alt_text: "图像的替代文本" + actions: + destroy: + notice: 图像已成功删除。 + alert: 无法销毁图像 + confirm: 您确定要删除此图像吗?此操作无法被撤销! + errors: + messages: + in_between: 必须在%{min} 和%{max} 之间 + wrong_content_type: 内容类型%{content_type} 与任何已接受的内容类型%{accepted_content_types} 都不匹配 From 0ad14944d50ae6da78efc960604152d3bf491f80 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 17 Oct 2018 02:30:27 +0200 Subject: [PATCH 206/565] New translations legislation.yml (Chinese Simplified) --- config/locales/zh-CN/legislation.yml | 50 ++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/config/locales/zh-CN/legislation.yml b/config/locales/zh-CN/legislation.yml index c08e24f2b..b70037bf4 100644 --- a/config/locales/zh-CN/legislation.yml +++ b/config/locales/zh-CN/legislation.yml @@ -21,3 +21,53 @@ zh-CN: see_in_context: 在上下文中查看 comments_count: other: "%{count} 个评论" + show: + title: 评论 + version_chooser: + seeing_version: 版本的评论 + see_text: 查看文字草稿 + draft_versions: + changes: + title: 更改 + seeing_changelog_version: 修订更改总结 + see_text: 查看文字草稿 + show: + loading_comments: 载入评论 + seeing_version: 您在看草稿版本 + select_draft_version: 选择草稿 + select_version_submit: 查看 + updated_at: 已更新于%{date} + see_changes: 查看更改总结 + see_comments: 查看所有评论 + text_toc: 目录 + text_body: 文本 + text_comments: 评论 + processes: + header: + additional_info: 额外信息 + description: 描述 + more_info: 更多信息和上下文 + proposals: + empty_proposals: 没有提议 + filters: + random: 随机 + winners: 已选择 + debate: + empty_questions: 没有问题 + participate: 参与辩论 + index: + filter: 过滤器 + filters: + open: 开启进程 + next: 下一个 + past: 过去的 + no_open_processes: 没有已开放的进程 + no_next_processes: 没有已计划的进程 + no_past_processes: 没有已去过的进程 + section_header: + icon_alt: 立法进程图标 + title: 立法进程 + help: 关于立法进程的帮助 + section_footer: + title: 关于立法进程的帮助 + description: 在批准法令或市政行动之前,请参与辩论和进程。您的意见会被市政局考虑。 From 84a3beaf7e8c441b6648ae63b703878518d988dd Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 17 Oct 2018 02:50:32 +0200 Subject: [PATCH 207/565] New translations mailers.yml (Chinese Simplified) --- config/locales/zh-CN/mailers.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/config/locales/zh-CN/mailers.yml b/config/locales/zh-CN/mailers.yml index f0b698bf3..a5bb17f5f 100644 --- a/config/locales/zh-CN/mailers.yml +++ b/config/locales/zh-CN/mailers.yml @@ -1 +1,25 @@ zh-CN: + mailers: + no_reply: "此消息是从一个不接受回复的电子邮件地址发送的。" + comment: + hi: 您好 + new_comment_by_html: 来自<b>%{commenter}</b>的新评论 + subject: 有人对您的%{commentable} 做了评论 + title: 新评论 + config: + manage_email_subscriptions: 要停止接收这些电子邮件请更改您的设置于 + email_verification: + click_here_to_verify: 此链接 + instructions_2_html: 此电子邮件将用<b>%{document_type} %{document_number}</b>来验证您的账户。如果这些不属于您,请不要点击上个链接并忽略此电子邮件。 + instructions_html: 要完成您的用户账户验证,您必须点击%{verification_link}。 + subject: 确认您的电子邮件 + thanks: 非常感谢。 + title: 使用以下链接来确认您的账户 + reply: + hi: 您好 + new_reply_by_html: <b>%{commenter}</b> 对您评论有新回复 + subject: 有人回复了您的评论 + title: 对您评论的新回复 + unfeasible_spending_proposal: + hi: "亲爱的用户," + new_html: "谨此,我们邀请您详细说明符合此进程条件的<strong>新提议</strong>。您可以按照这个链接来操作:%{url}。" From 6831967746a14bf6dff4cc38942d77c10a970f09 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 17 Oct 2018 02:50:33 +0200 Subject: [PATCH 208/565] New translations legislation.yml (Chinese Simplified) --- config/locales/zh-CN/legislation.yml | 48 ++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/config/locales/zh-CN/legislation.yml b/config/locales/zh-CN/legislation.yml index b70037bf4..59691784a 100644 --- a/config/locales/zh-CN/legislation.yml +++ b/config/locales/zh-CN/legislation.yml @@ -71,3 +71,51 @@ zh-CN: section_footer: title: 关于立法进程的帮助 description: 在批准法令或市政行动之前,请参与辩论和进程。您的意见会被市政局考虑。 + phase_not_open: + not_open: 此阶段尚未开启 + phase_empty: + empty: 尚未发表任何内容 + process: + see_latest_comments: 查看最新评论 + see_latest_comments_title: 对此进程的评论 + shared: + key_dates: 关键日期 + debate_dates: 辩论 + draft_publication_date: 发表草稿 + allegations_dates: 评论 + result_publication_date: 发表最终结果 + proposals_dates: 提议 + questions: + comments: + comment_button: 发表答案 + comments_title: 开启答案 + comments_closed: 已结束的阶段 + form: + leave_comment: 留下您的评论 + question: + comments: + zero: 没有评论 + other: "%{count} 个评论" + debate: 辩论 + show: + answer_question: 提交答案 + next_question: 下个问题 + first_question: 第一个问题 + share: 分享 + title: 合作立法进程 + participation: + phase_not_open: 此阶段尚未开启 + organizations: 组织不得参与辩论 + signin: 登录 + signup: 注册 + unauthenticated: 您必须%{signin} 或者%{signup} 才可以参与。 + verified_only: 只有已验证的用户可以参与,%{verify_account}。 + verify_account: 验证您的账户 + debate_phase_not_open: 辩论阶段已结束,答案不再被接受 + shared: + share: 分享 + share_comment: 从进程草稿%{process_name} 中对%{version_name} 的评论 + proposals: + form: + tags_label: "类别" + not_verified: "为投票提议%{verify_account}。" From d591f208417c5dcb5efe56c74a40669648e1472d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 17 Oct 2018 02:55:39 +0200 Subject: [PATCH 209/565] New translations mailers.yml (Chinese Simplified) --- config/locales/zh-CN/mailers.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/locales/zh-CN/mailers.yml b/config/locales/zh-CN/mailers.yml index a5bb17f5f..0d829c6c7 100644 --- a/config/locales/zh-CN/mailers.yml +++ b/config/locales/zh-CN/mailers.yml @@ -23,3 +23,7 @@ zh-CN: unfeasible_spending_proposal: hi: "亲爱的用户," new_html: "谨此,我们邀请您详细说明符合此进程条件的<strong>新提议</strong>。您可以按照这个链接来操作:%{url}。" + new_href: "新的投资项目" + sincerely: "真诚的" + sorry: "很抱歉给您造成不便,我们再次感谢您的宝贵参与。" + subject: "您的投资项目 '%{code}' 已被标记为不可行" From f3be8835bcc09ff5c61329494b5cb1ab4bd29c1f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 17 Oct 2018 07:30:26 +0200 Subject: [PATCH 210/565] New translations legislation.yml (Chinese Simplified) --- config/locales/zh-CN/legislation.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/zh-CN/legislation.yml b/config/locales/zh-CN/legislation.yml index 59691784a..a9bb078c0 100644 --- a/config/locales/zh-CN/legislation.yml +++ b/config/locales/zh-CN/legislation.yml @@ -14,7 +14,6 @@ zh-CN: phase_not_open: 此阶段未开放 login_to_comment: 您必须%{signin} 或者%{signup} 才可以留下评论。 signin: 登录 - signup: 注册 index: title: 评论 comments_about: 评论关于 From 3a336c989cc6877eb7f91b12347527d3768f2610 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 02:00:43 +0200 Subject: [PATCH 211/565] New translations mailers.yml (Chinese Simplified) --- config/locales/zh-CN/mailers.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/locales/zh-CN/mailers.yml b/config/locales/zh-CN/mailers.yml index 0d829c6c7..c3f024b8c 100644 --- a/config/locales/zh-CN/mailers.yml +++ b/config/locales/zh-CN/mailers.yml @@ -27,3 +27,5 @@ zh-CN: sincerely: "真诚的" sorry: "很抱歉给您造成不便,我们再次感谢您的宝贵参与。" subject: "您的投资项目 '%{code}' 已被标记为不可行" + proposal_notification_digest: + info: "以下是您在%{org_name} 里支持的提议的作者发布的新通知。" From f0858317019dad5aa2d60ffe501fc0994e36e737 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 02:00:44 +0200 Subject: [PATCH 212/565] New translations legislation.yml (Chinese Simplified) --- config/locales/zh-CN/legislation.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/locales/zh-CN/legislation.yml b/config/locales/zh-CN/legislation.yml index a9bb078c0..3f874d2f6 100644 --- a/config/locales/zh-CN/legislation.yml +++ b/config/locales/zh-CN/legislation.yml @@ -14,6 +14,7 @@ zh-CN: phase_not_open: 此阶段未开放 login_to_comment: 您必须%{signin} 或者%{signup} 才可以留下评论。 signin: 登录 + signup: 注册 index: title: 评论 comments_about: 评论关于 @@ -90,7 +91,7 @@ zh-CN: comments_title: 开启答案 comments_closed: 已结束的阶段 form: - leave_comment: 留下您的评论 + leave_comment: 留下您的答案 question: comments: zero: 没有评论 From d7fa85176d6f17271868717c42dbbf1160ee371a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 02:00:46 +0200 Subject: [PATCH 213/565] New translations guides.yml (Chinese Simplified) --- config/locales/zh-CN/guides.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/zh-CN/guides.yml b/config/locales/zh-CN/guides.yml index 69cd143dc..05b6f42f3 100644 --- a/config/locales/zh-CN/guides.yml +++ b/config/locales/zh-CN/guides.yml @@ -7,11 +7,11 @@ zh-CN: feature_1_html: "如何使用部分<strong>市政预算</strong>的想法" feature_2_html: "投资项目在<strong>一月和三月之间</strong>被接受" feature_3_html: "如果得到支持,而且又是可行和符合市政能力的,它会进入投票阶段" - feature_4_html: "如何公民批准通过这些项目,它们将成为现实" + feature_4_html: "如果公民批准通过这些项目,它们将成为现实" new_button: 我想创建预算投资 proposal: title: "公民提议" - feature_1_html: "任何市政局可以采取一些行动的想法" + feature_1_html: "关于任何市政局可以采取一些行动的想法" feature_2_html: "在%{org} 里需要<strong>%{votes} 个支持</strong>才可以进入投票" feature_3_html: "您可以在任何时候激活它,您有<strong>一年</strong>的时间可以得到支持" feature_4_html: "如果在表决中通过,市政局就会接受此提议" From 0bb3e40d1c4ef5d58bf6ab2a4013a83550b01011 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 02:10:46 +0200 Subject: [PATCH 214/565] New translations mailers.yml (Chinese Simplified) --- config/locales/zh-CN/mailers.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/config/locales/zh-CN/mailers.yml b/config/locales/zh-CN/mailers.yml index c3f024b8c..8bb19ba24 100644 --- a/config/locales/zh-CN/mailers.yml +++ b/config/locales/zh-CN/mailers.yml @@ -29,3 +29,27 @@ zh-CN: subject: "您的投资项目 '%{code}' 已被标记为不可行" proposal_notification_digest: info: "以下是您在%{org_name} 里支持的提议的作者发布的新通知。" + title: "在%{org_name} 中的提议通知" + share: 分享提议 + comment: 评论提议 + unsubscribe: "如果您不希望收到提议通知,请访问%{account} 并取消选中‘接收提议通知的总结’。" + unsubscribe_account: 我的账户 + direct_message_for_receiver: + subject: "您收到新的私人消息" + reply: 回复 %{sender} + unsubscribe: "如果您不希望接收直接消息,请访问%{account} 并取消选中‘接收关于直接消息的电子邮件’。" + unsubscribe_account: 我的账户 + direct_message_for_sender: + subject: "您已发送一条新的私人消息" + title_html: "您已发送如下内容的新的私人消息给 <strong>%{receiver}</strong> :" + user_invite: + ignore: "如果您没有请求此邀请,请不要担心,您可以忽略此电子邮件。" + text: "感谢您申请加入%{org}!在几秒钟后,您就可以开始参与,您只需填写以下表格:" + thanks: "非常感谢。" + title: "欢迎访问%{org}" + button: 完成注册 + subject: "邀请访问%{org_name}" + budget_investment_created: + subject: "感谢您创建了一个投资!" + title: "感谢您创建了一个投资!" + intro_html: "您好<strong>%{author}</strong>," From 74bcc4c08331d053abfc7d0cfa00b1628c2e97e2 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 02:20:32 +0200 Subject: [PATCH 215/565] New translations mailers.yml (Chinese Simplified) --- config/locales/zh-CN/mailers.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/config/locales/zh-CN/mailers.yml b/config/locales/zh-CN/mailers.yml index 8bb19ba24..29398be33 100644 --- a/config/locales/zh-CN/mailers.yml +++ b/config/locales/zh-CN/mailers.yml @@ -53,3 +53,27 @@ zh-CN: subject: "感谢您创建了一个投资!" title: "感谢您创建了一个投资!" intro_html: "您好<strong>%{author}</strong>," + text_html: "感谢您为参与性预算 <strong>%{budget}</strong>创建了您的投资<strong>%{investment}</strong>。" + follow_html: "我们将通知您进程的进展情况,您也可以在<strong>%{link}</strong>上跟随查看。" + follow_link: "参与性预算" + sincerely: "真诚的," + share: "分享您的项目" + budget_investment_unfeasible: + hi: "亲爱的用户," + new_html: "谨此,我们邀请您详细说明符合此进程条件的<strong>新投资</strong>。您可以按照这个链接来操作:%{url}。" + new_href: "新的投资项目" + sincerely: "真诚的" + sorry: "很抱歉给您造成不便,我们再次感谢您的宝贵参与。" + subject: "您的投资项目‘%{code}‘已被标记为不可行" + budget_investment_selected: + subject: "您的投资项目‘%{code}‘已被选中" + hi: "亲爱的用户," + share: "开始获得投票,在社交网络上分享您的投资项目。分享是使它成为现实的关键。" + share_button: "分享您的投资项目" + thanks: "再次感谢您的参与。" + sincerely: "真诚的" + budget_investment_unselected: + subject: "您的投资项目‘%{code}‘未被选中" + hi: "亲爱的用户," + thanks: "再次感谢您的参与。" + sincerely: "真诚的" From 2cd9f1ea13718572c1c5db6d26e12bf9e11e9dce Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 02:30:31 +0200 Subject: [PATCH 216/565] New translations management.yml (Chinese Simplified) --- config/locales/zh-CN/management.yml | 39 +++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/config/locales/zh-CN/management.yml b/config/locales/zh-CN/management.yml index f0b698bf3..f84cb1eb4 100644 --- a/config/locales/zh-CN/management.yml +++ b/config/locales/zh-CN/management.yml @@ -1 +1,40 @@ zh-CN: + management: + account: + menu: + reset_password_email: 通过电子邮件重设密码 + reset_password_manually: 手工重设密码 + alert: + unverified_user: 还没有已验证的用户登录 + show: + title: 用户账户 + edit: + title: '编辑用户账户:重设密码' + back: 返回 + password: + password: 密码 + send_email: 发送重设密码的电子邮件 + reset_email_send: 电子邮件已正确发送。 + reseted: 密码已重设成功 + random: 生成随机密码 + save: 保存密码 + print: 打印密码 + print_help: 您可以打印已经保存的密码。 + account_info: + change_user: 更改用户 + document_number_label: '文档编号:' + document_type_label: '文档类型:' + email_label: '电子邮件:' + identified_label: '确定为:' + username_label: '用户名:' + check: 检查文档 + dashboard: + index: + title: 管理 + info: 您可以在这里通过左边菜单里列出的所有操作来管理用户。 + document_number: 文档编号 + document_type_label: 文档类型 + document_verifications: + already_verified: 此用户账户已验证。 + has_no_account_html: 为了创建账户,请转到%{link},然后点击屏幕左上角的<b>‘注册’</b>。 + link: CONSUL From e8d352b64ba00241caba7a0af6397db4884599b6 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 02:40:33 +0200 Subject: [PATCH 217/565] New translations management.yml (Chinese Simplified) --- config/locales/zh-CN/management.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/config/locales/zh-CN/management.yml b/config/locales/zh-CN/management.yml index f84cb1eb4..a4e7e4b6c 100644 --- a/config/locales/zh-CN/management.yml +++ b/config/locales/zh-CN/management.yml @@ -38,3 +38,19 @@ zh-CN: already_verified: 此用户账户已验证。 has_no_account_html: 为了创建账户,请转到%{link},然后点击屏幕左上角的<b>‘注册’</b>。 link: CONSUL + in_census_has_following_permissions: '此用户可以使用以下权限参与网站:' + not_in_census: 此文档尚未注册。 + not_in_census_info: '未在人口普查中的公民可以使用以下权限参与网站:' + please_check_account_data: 请检查以上账户数据是否正确。 + title: 用户管理 + under_age: "您没到验证账户所要求的年龄。" + verify: 验证 + email_label: 电子邮件 + date_of_birth: 出生日期 + email_verifications: + already_verified: 此用户账户已验证。 + choose_options: '请选择以下选项之一:' + document_found_in_census: 此文档在人口普查中找到,但是没有相关联的用户账户。 + document_mismatch: '此电子邮件属于已有关联id的用户: %{document_number}(%{document_type})' + email_placeholder: 写下此人用于创建他或她的账户的电子邮件 + email_sent_instructions: 为了完全验证此用户,用户必须点击我们发送给以上电子邮件地址的链接。需要这个步骤来确认这个地址是真的属于他的。 From 0c649e49144ca5c335cbe5b90897cc9e8c89f02a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 02:50:30 +0200 Subject: [PATCH 218/565] New translations management.yml (Chinese Simplified) --- config/locales/zh-CN/management.yml | 77 +++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) diff --git a/config/locales/zh-CN/management.yml b/config/locales/zh-CN/management.yml index a4e7e4b6c..15d58fb22 100644 --- a/config/locales/zh-CN/management.yml +++ b/config/locales/zh-CN/management.yml @@ -54,3 +54,80 @@ zh-CN: document_mismatch: '此电子邮件属于已有关联id的用户: %{document_number}(%{document_type})' email_placeholder: 写下此人用于创建他或她的账户的电子邮件 email_sent_instructions: 为了完全验证此用户,用户必须点击我们发送给以上电子邮件地址的链接。需要这个步骤来确认这个地址是真的属于他的。 + if_existing_account: 如果此人已经在网站中创建用户账户, + if_no_existing_account: 如果此人尚未创建账户 + introduce_email: '请介绍账户中使用的电子邮件:' + send_email: 发送验证电子邮件 + menu: + create_proposal: 创建提议 + print_proposals: 打印提议 + support_proposals: 支持提议 + create_spending_proposal: 创建支出提议 + print_spending_proposals: 打印支出提议 + support_spending_proposals: 支持支出提议 + create_budget_investment: 创建预算投资 + print_budget_investments: 打印预算投资 + support_budget_investments: 支持预算投资 + users: 用户管理 + user_invites: 发送邀请 + select_user: 选择用户 + permissions: + create_proposals: 创建提议 + debates: 参与辩论 + support_proposals: 支持提议 + vote_proposals: 投票提议 + print: + proposals_info: 在http://url.consul上创建您的提议 + proposals_title: '提议:' + spending_proposals_info: 在http://url.consul上参与 + budget_investments_info: 在http://url.consul上参与 + print_info: 打印此资讯 + proposals: + alert: + unverified_user: 用户尚未被验证 + create_proposal: 创建提议 + print: + print_button: 打印 + index: + title: 支持提议 + budgets: + create_new_investment: 创建预算投资 + print_investments: 打印预算投资 + support_investments: 支持预算投资 + table_name: 名称 + table_phase: 阶段 + table_actions: 行动 + no_budgets: 没有活跃的参与性预算。 + budget_investments: + alert: + unverified_user: 用户尚未被验证 + create: 创建预算投资 + filters: + heading: 概念 + unfeasible: 不可行投资 + print: + print_button: 打印 + search_results: + other: " 包含术语'%{search_term}'" + spending_proposals: + alert: + unverified_user: 用户尚未被验证 + create: 创建支持提议 + filters: + unfeasible: 不可行的投资项目 + by_geozone: "投资项目范围:%{geozone}" + print: + print_button: 打印 + search_results: + other: " 包含术语'%{search_term}'" + sessions: + signed_out: 成功登出 + signed_out_managed_user: 用户会话已成功登出。 + username_label: 用户名 + users: + create_user: 创建新的账户 + create_user_info: 我们将用以下数据创建账户 + create_user_submit: 创建用户 + user_invites: + create: + title: 发送邀请 From f1ebe469904cb108d4889f0b7adaae95319f2ffa Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 03:00:35 +0200 Subject: [PATCH 219/565] New translations management.yml (Chinese Simplified) --- config/locales/zh-CN/management.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/config/locales/zh-CN/management.yml b/config/locales/zh-CN/management.yml index 15d58fb22..dee66129e 100644 --- a/config/locales/zh-CN/management.yml +++ b/config/locales/zh-CN/management.yml @@ -128,6 +128,13 @@ zh-CN: create_user: 创建新的账户 create_user_info: 我们将用以下数据创建账户 create_user_submit: 创建用户 + create_user_success_html: 我们已经向电子邮件地址<b>%{email}</b>发送一封电子邮件,以确认此电子邮件地址是属于此用户。它包含一个用户必须点击的链接。用户必须先设置访问密码,然后才可以登录网站 + autogenerated_password_html: "自动生成的密码是<b>%{password}</b>, 您可以在网站的‘我的账户’部分对它进行更改" + email_optional_label: 电子邮件(可选) + erased_notice: 用户账户已删除。 + erased_by_manager: "由经理: %{manager} 删除" + erase_account_link: 删除用户 + erase_account_confirm: 您确定要删除此账户吗?此操作将无法被撤销 user_invites: create: title: 发送邀请 From 5293e95d06dd70d40ea43a71d73eccb8989baf72 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 03:10:30 +0200 Subject: [PATCH 220/565] New translations management.yml (Chinese Simplified) --- config/locales/zh-CN/management.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/config/locales/zh-CN/management.yml b/config/locales/zh-CN/management.yml index dee66129e..e2e2ff64a 100644 --- a/config/locales/zh-CN/management.yml +++ b/config/locales/zh-CN/management.yml @@ -135,6 +135,14 @@ zh-CN: erased_by_manager: "由经理: %{manager} 删除" erase_account_link: 删除用户 erase_account_confirm: 您确定要删除此账户吗?此操作将无法被撤销 + erase_warning: 此操作将无法撤销。请确定您要删除此账户。 + erase_submit: 删除账户 user_invites: - create: + new: + label: 电子邮件 + info: "输入电子邮件,用逗号(',') 分割" + submit: 发送邀请 + title: 发送邀请 + create: + success_html: <strong>%{count} 邀请</strong>已发送。 title: 发送邀请 From 83131f46a8994e6488c86b4352cf5636b0d2f2d9 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 07:00:44 +0200 Subject: [PATCH 221/565] New translations management.yml (Chinese Simplified) --- config/locales/zh-CN/management.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/zh-CN/management.yml b/config/locales/zh-CN/management.yml index e2e2ff64a..781c93385 100644 --- a/config/locales/zh-CN/management.yml +++ b/config/locales/zh-CN/management.yml @@ -41,7 +41,7 @@ zh-CN: in_census_has_following_permissions: '此用户可以使用以下权限参与网站:' not_in_census: 此文档尚未注册。 not_in_census_info: '未在人口普查中的公民可以使用以下权限参与网站:' - please_check_account_data: 请检查以上账户数据是否正确。 + please_check_account_data: 请检查以上账户数据是正确的。 title: 用户管理 under_age: "您没到验证账户所要求的年龄。" verify: 验证 From 8c847f6db241bee6ef095acdda723a5c33c425bd Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 07:20:48 +0200 Subject: [PATCH 222/565] New translations management.yml (Chinese Simplified) --- config/locales/zh-CN/management.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/zh-CN/management.yml b/config/locales/zh-CN/management.yml index 781c93385..edfdbe402 100644 --- a/config/locales/zh-CN/management.yml +++ b/config/locales/zh-CN/management.yml @@ -81,7 +81,7 @@ zh-CN: proposals_title: '提议:' spending_proposals_info: 在http://url.consul上参与 budget_investments_info: 在http://url.consul上参与 - print_info: 打印此资讯 + print_info: 打印此信息 proposals: alert: unverified_user: 用户尚未被验证 From abfe588d8ccc174a4df49ac70582a8fd6686c7d5 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 13:24:26 +0200 Subject: [PATCH 223/565] New translations admin.yml (Spanish, Chile) --- config/locales/es-CL/admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/es-CL/admin.yml b/config/locales/es-CL/admin.yml index 87d2b166e..f47074f48 100644 --- a/config/locales/es-CL/admin.yml +++ b/config/locales/es-CL/admin.yml @@ -515,7 +515,6 @@ es-CL: layouts: "Diseños" mailers: "Correos electrónicos" management: "Gestión" - guides: "Guías" welcome: "Bienvenido/a" buttons: save: "Guardar" From 201123a8dd680fcd28d89f1f971f2da231aefe52 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 13:25:18 +0200 Subject: [PATCH 224/565] New translations admin.yml (Portuguese, Brazilian) --- config/locales/pt-BR/admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/pt-BR/admin.yml b/config/locales/pt-BR/admin.yml index 4ea407271..7d9a975b3 100644 --- a/config/locales/pt-BR/admin.yml +++ b/config/locales/pt-BR/admin.yml @@ -558,7 +558,6 @@ pt-BR: layouts: "Layouts" mailers: "E-mails" management: "Gerenciamento" - guides: "Guias" welcome: "Bem-vindo" buttons: save: "Salvar" From b00b2f87fa1311496ea4b1a8ce12f76d9379aa62 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 13:31:22 +0200 Subject: [PATCH 225/565] New translations admin.yml (Chinese Traditional) --- config/locales/zh-TW/admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/zh-TW/admin.yml b/config/locales/zh-TW/admin.yml index 872009c2e..8756ab394 100644 --- a/config/locales/zh-TW/admin.yml +++ b/config/locales/zh-TW/admin.yml @@ -556,7 +556,6 @@ zh-TW: layouts: "佈局" mailers: "電郵" management: "管理" - guides: "指南" welcome: "歡迎" buttons: save: "儲存" From dcf74875b15bf51a32caee6358c266fefac5f4bd Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 13:31:44 +0200 Subject: [PATCH 226/565] New translations admin.yml (Chinese Simplified) --- config/locales/zh-CN/admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/zh-CN/admin.yml b/config/locales/zh-CN/admin.yml index 3e2e7b223..ec24af62e 100644 --- a/config/locales/zh-CN/admin.yml +++ b/config/locales/zh-CN/admin.yml @@ -555,7 +555,6 @@ zh-CN: layouts: "布局" mailers: "电子邮件" management: "管理" - guides: "指南" welcome: "欢迎" buttons: save: "保存" From 886e0a9a94926a4faf2fe4b6aad2adf9250197d1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 13:32:20 +0200 Subject: [PATCH 227/565] New translations admin.yml (Dutch) --- config/locales/nl/admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/nl/admin.yml b/config/locales/nl/admin.yml index 165a44342..e8609b609 100644 --- a/config/locales/nl/admin.yml +++ b/config/locales/nl/admin.yml @@ -557,7 +557,6 @@ nl: layouts: "Lay-outs" mailers: "Emails" management: "Beheer" - guides: "Leiden" welcome: "Welkom" buttons: save: "Opslaan" From 148711e4dd8e82c7a889c6fc21ed2d3165c71a0b Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 13:33:16 +0200 Subject: [PATCH 228/565] New translations admin.yml (Albanian) --- config/locales/sq-AL/admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/sq-AL/admin.yml b/config/locales/sq-AL/admin.yml index f3585f665..6ec432ca8 100644 --- a/config/locales/sq-AL/admin.yml +++ b/config/locales/sq-AL/admin.yml @@ -558,7 +558,6 @@ sq: layouts: "Layouts" mailers: "Emailet" management: "Drejtuesit" - guides: "Guidat" welcome: "Mirësevini" buttons: save: "Ruaj" From 186e768c98c244f0a856017ad5330e1a1dfb1e61 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 13:34:24 +0200 Subject: [PATCH 229/565] New translations admin.yml (Italian) --- config/locales/it/admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/it/admin.yml b/config/locales/it/admin.yml index c27dc16e4..064d2002c 100644 --- a/config/locales/it/admin.yml +++ b/config/locales/it/admin.yml @@ -556,7 +556,6 @@ it: layouts: "Impaginazione" mailers: "Email" management: "Gestione" - guides: "Guide" welcome: "Benvenuto" buttons: save: "Salva" From a6cafeabab3193f7d185e31fcd2e19479128890f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 13:35:17 +0200 Subject: [PATCH 230/565] New translations admin.yml (Polish) --- config/locales/pl-PL/admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/pl-PL/admin.yml b/config/locales/pl-PL/admin.yml index 5213d8df2..b59aae930 100644 --- a/config/locales/pl-PL/admin.yml +++ b/config/locales/pl-PL/admin.yml @@ -562,7 +562,6 @@ pl: layouts: "Układy" mailers: "E-maile" management: "Zarząd" - guides: "Przewodniki" welcome: "Witaj" buttons: save: "Zapisz" From c04fdd0769222488ce1d7847370f98940eb3c3eb Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 13:35:59 +0200 Subject: [PATCH 231/565] New translations admin.yml (French) --- config/locales/fr/admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/fr/admin.yml b/config/locales/fr/admin.yml index 92965fbb2..bdc103d47 100644 --- a/config/locales/fr/admin.yml +++ b/config/locales/fr/admin.yml @@ -555,7 +555,6 @@ fr: layouts: "Mise en page" mailers: "Courriels" management: "Gestion" - guides: "Guides" welcome: "Bienvenue" buttons: save: "Sauvegarder" From 44675f00cb8b1280b8ccae65ddffc9e27918df9d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 13:36:59 +0200 Subject: [PATCH 232/565] New translations admin.yml (Galician) --- config/locales/gl/admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/gl/admin.yml b/config/locales/gl/admin.yml index 3ca2e5d87..2dac2d209 100644 --- a/config/locales/gl/admin.yml +++ b/config/locales/gl/admin.yml @@ -569,7 +569,6 @@ gl: layouts: "Capas" mailers: "Correos electrónicos" management: "Xestión" - guides: "Guías" welcome: "Benvida" buttons: save: "Gardar" From c14dddd6e4778cf68751805e3bd44552b34397de Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 13:37:17 +0200 Subject: [PATCH 233/565] New translations admin.yml (German) --- config/locales/de-DE/admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/de-DE/admin.yml b/config/locales/de-DE/admin.yml index 6f5fadef6..97d982f81 100644 --- a/config/locales/de-DE/admin.yml +++ b/config/locales/de-DE/admin.yml @@ -555,7 +555,6 @@ de: layouts: "Layouts" mailers: "E-Mails" management: "Verwaltung" - guides: "Guides" welcome: "Willkommen" buttons: save: "Speichern" From 75af732373d08392fa237bb38258ac35924f0ae2 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 13:37:39 +0200 Subject: [PATCH 234/565] New translations admin.yml (Swedish) --- config/locales/sv-SE/admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/sv-SE/admin.yml b/config/locales/sv-SE/admin.yml index ffbd4cfeb..2789798a0 100644 --- a/config/locales/sv-SE/admin.yml +++ b/config/locales/sv-SE/admin.yml @@ -556,7 +556,6 @@ sv: layouts: "Layouter" mailers: "E-post" management: "Användarhantering" - guides: "Guider" welcome: "Välkommen" buttons: save: "Spara" From 0a2b0971b86436e91c8257362df4e169979d884d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 13:37:56 +0200 Subject: [PATCH 235/565] New translations admin.yml (Valencian) --- config/locales/val/admin.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/locales/val/admin.yml b/config/locales/val/admin.yml index 1a618b6a0..71fc42fe0 100644 --- a/config/locales/val/admin.yml +++ b/config/locales/val/admin.yml @@ -551,7 +551,6 @@ val: layouts: "Disenys" mailers: "Correus electrònics" management: "Gestió" - guides: "Guies" welcome: "Benvingut/da" buttons: save: "Guardar" From 4021e0bb2abc5e9bc4d5cb91c6e3f93d81adf44c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 18 Oct 2018 23:50:32 +0200 Subject: [PATCH 236/565] New translations management.yml (Chinese Simplified) --- config/locales/zh-CN/management.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/zh-CN/management.yml b/config/locales/zh-CN/management.yml index edfdbe402..6e0257117 100644 --- a/config/locales/zh-CN/management.yml +++ b/config/locales/zh-CN/management.yml @@ -112,7 +112,7 @@ zh-CN: spending_proposals: alert: unverified_user: 用户尚未被验证 - create: 创建支持提议 + create: 创建支出提议 filters: unfeasible: 不可行的投资项目 by_geozone: "投资项目范围:%{geozone}" @@ -121,7 +121,7 @@ zh-CN: search_results: other: " 包含术语'%{search_term}'" sessions: - signed_out: 成功登出 + signed_out: 已成功登出 signed_out_managed_user: 用户会话已成功登出。 username_label: 用户名 users: From f36387263782e702f51ed12a86c2fa194f8dab46 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 19 Oct 2018 17:30:41 +0200 Subject: [PATCH 237/565] New translations seeds.yml (Italian) --- config/locales/it/seeds.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/config/locales/it/seeds.yml b/config/locales/it/seeds.yml index 85830635a..50b9f9a6e 100644 --- a/config/locales/it/seeds.yml +++ b/config/locales/it/seeds.yml @@ -1 +1,27 @@ it: + seeds: + settings: + official_level_1_name: Incarico ufficiale 1 + official_level_2_name: Incarico ufficiale 2 + official_level_3_name: Incarico ufficiale 3 + official_level_4_name: Incarico ufficiale 4 + official_level_5_name: Incarico ufficiale 5 + geozones: + north_district: Distretto Nord + west_district: Distretto Ovest + east_district: Distretto Est + central_district: Distretto Centrale + organizations: + human_rights: Diritti Umani + neighborhood_association: Associazione di Quartiere + categories: + associations: Associazioni + culture: Cultura + sports: Sport + social_rights: Diritti Sociali + economy: Economia + employment: Occupazione + equity: Equità + sustainability: Sostenibilità + participation: Partecipazione + mobility: Mobilità From a1ff7d8a496d94cbc4de0eab60e1165a0f83c241 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 19 Oct 2018 17:40:43 +0200 Subject: [PATCH 238/565] New translations responders.yml (Italian) --- config/locales/it/responders.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/config/locales/it/responders.yml b/config/locales/it/responders.yml index ad75e3ac6..b40957663 100644 --- a/config/locales/it/responders.yml +++ b/config/locales/it/responders.yml @@ -7,11 +7,16 @@ it: direct_message: "Il messaggio è stato inviato correttamente." poll: "Sondaggio creato correttamente." poll_booth: "Seggio creato correttamente." + poll_question_answer: "Risposta creata con successo" + poll_question_answer_video: "Video creato con successo" + poll_question_answer_image: "Immagine caricata con successo" proposal: "Proposta creata correttamente." proposal_notification: "Il tuo messaggio è stato inviato correttamente." spending_proposal: "La proposta è stata creata. È possibile accedervi da %{activity}" budget_investment: "Proposta di investimento creata correttamente." signature_sheet: "Foglio per le firme creato correttamente" + topic: "Argomento creato con successo." + valuator_group: "Gruppo di stimatori creato con successo" save_changes: notice: Modifiche salvate update: @@ -21,7 +26,14 @@ it: poll_booth: "Seggio creato correttamente." proposal: "Proposta aggiornata correttamente." spending_proposal: "Progetto di investimento aggiornato correttamente." + budget_investment: "Progetto di investimento aggiornato con successo." + topic: "Argomento aggiornato con successo." + valuator_group: "Gruppo di stimatori aggiornato con successo" + translation: "Traduzione caricata con successo" destroy: spending_proposal: "Proposta di spesa eliminata." budget_investment: "Progetto di investimento eliminato." error: "Non può essere eliminato" + topic: "Argomento eliminato con successo." + poll_question_answer_video: "Video di risposta eliminato con successo." + valuator_group: "Gruppo di stimatori eliminato con successo" From e0b06380ce7ee6636fefd02a9fd3cb94684da11e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 19 Oct 2018 17:40:45 +0200 Subject: [PATCH 239/565] New translations seeds.yml (Italian) --- config/locales/it/seeds.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/config/locales/it/seeds.yml b/config/locales/it/seeds.yml index 50b9f9a6e..18a898c8e 100644 --- a/config/locales/it/seeds.yml +++ b/config/locales/it/seeds.yml @@ -25,3 +25,31 @@ it: sustainability: Sostenibilità participation: Partecipazione mobility: Mobilità + media: Media + health: Salute + transparency: Trasparenza + security_emergencies: Sicurezza ed Emergenze + environment: Ambiente + budgets: + budget: Bilancio Partecipativo + currency: '€' + groups: + all_city: Tutta la Città + districts: Distretti + valuator_groups: + culture_and_sports: Cultura & Sport + gender_and_diversity: Politiche di Genere & Diversità + urban_development: Sviluppo Urbano Sostenibile + equity_and_employment: Equità & Occupazione + statuses: + studying_project: Lo studio del progetto + bidding: Offerta + executing_project: L'esecuzione del progetto + executed: Eseguito + polls: + current_poll: "Votazione Corrente" + current_poll_geozone_restricted: "Votazione Corrente Geograficamente Ristretta" + incoming_poll: "Votazione Imminente" + recounting_poll: "Votazione a Scrutinio" + expired_poll_without_stats: "Votazione Scaduta senza Statistiche & Risultati" + expired_poll_with_stats: "Votazione Scaduta con Statistiche & Risultati" From 7308ea97a23577b2f6c33f2935b5dd36a545a84d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 19 Oct 2018 17:50:45 +0200 Subject: [PATCH 240/565] New translations responders.yml (Italian) --- config/locales/it/responders.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/it/responders.yml b/config/locales/it/responders.yml index b40957663..85ab44bee 100644 --- a/config/locales/it/responders.yml +++ b/config/locales/it/responders.yml @@ -3,8 +3,8 @@ it: actions: create: notice: "%{resource_name} creato con successo." - debate: "Dibattito creato correttamente." - direct_message: "Il messaggio è stato inviato correttamente." + debate: "Dibattito creato con successo." + direct_message: "Il messaggio è stato inviato con successo." poll: "Sondaggio creato correttamente." poll_booth: "Seggio creato correttamente." poll_question_answer: "Risposta creata con successo" From eb05d77823a6e779a1f02ab5b71b0e1428f12740 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 20 Oct 2018 20:10:33 +0200 Subject: [PATCH 241/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index 35ae7f523..b3df56165 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -86,6 +86,7 @@ de: proposals: "Vorschläge" proposals_description: "Bürgervorschläge bieten die Möglichkeit für Nachbarn und Kollektive direkt zu entscheiden, wie ihre Stadt sein soll, nahdem sie genügend Unterstützung erhalten haben und einen Bürgenvorschlag eingereicht haben" debates: "Diskussionen" + debates_description: "Der Bürger-Debattenraum ist auf diejenigen abgezielt, die Probleme, welche einen beunruhigen, präsentieren und über welche sie ihre Meinung mit anderen teilen möchten" polls: "Umfragen" signature_sheets: "Unterschriftenbögen" legislation: "Gesetzgebung" From 4cdcf426f3b5a2fd58d2d27035aa89cba9300d78 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 20 Oct 2018 20:20:33 +0200 Subject: [PATCH 242/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index b3df56165..e426e9a88 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -88,16 +88,30 @@ de: debates: "Diskussionen" debates_description: "Der Bürger-Debattenraum ist auf diejenigen abgezielt, die Probleme, welche einen beunruhigen, präsentieren und über welche sie ihre Meinung mit anderen teilen möchten" polls: "Umfragen" + polls_description: "Bürgerumfragen sind partizipatorischer Mechanismus, mit dem Bürger mit Wahlrecht direkte Entscheidungen treffen können" signature_sheets: "Unterschriftenbögen" legislation: "Gesetzgebung" + legislation_description: "In Beteiligungsprozessen bietet Bürgern die Möglichkeit, an der Ausarbeitung und Änderungen von Verordnungen mitzuwirken, die Stadt zu beeinflussen und die Möglichkeit ihre Meinung zu spezifischen, in Planung stehenden, Aktionen zu äußern" + spending_proposals: "Ausgabenvorschläge" + spending_proposals_description: "⚠️ Hinweis: Diese Funktionalität wurde durch Bürgerhaushaltung ersetzt und verschwindet in neuen Versionen" + spending_proposal_features: + voting_allowed: Abstimmung über Investitionsprojekte - Vorauswahlphase + voting_allowed_description: "⚠️ Hinweis: Diese Funktionalität wurde durch Bürgerhaushaltung ersetzt und verschwindet in neuen Versionen" user: recommendations: "Empfehlungen" + recommendations_description: "Zeigt Nutzerempfehlungen auf der Startseite auf Grundlage der Tags aus den folgenden Objekten" skip_verification: "Benutzer*überprüfung überspringen" + skip_verification_description: "Dies wird die Nuterüberprüfung deaktivieren und alle registrierten Nutzer werden fähig sein an allen Prozessen teilzunehmen" recommendations_on_debates: "Empfehlungen für Debatten" + recommendations_on_debates_description: "Zeigt Nutzern Empfehlungen für Debattenseiten an, basierend auf den Tags und den Objekten, denen sie folgen" recommendations_on_proposals: "Empfehlungen für Anträge" + recommendations_on_proposals_description: "Zeigt Nutzern Empfehlungen für Vorschlagsseiten an, basierend auf den Tags und den Objekten, denen sie folgen" community: "Community für Anträge und Investitionen" + community_description: "Schaltet den Community-Bereich in den Vorschlägen und Investitionsprojekte der partizipative Budgets frei" map: "Standort des Antrages und der Budgetinvestition" + map_description: "Ermöglicht die Geolokalisierung der Vorschläge und Investitionsprojekte" allow_images: "Upload und Anzeigen von Bildern erlauben" + allow_images_description: "Ermöglicht Nutzern das Hochladen von Bildern, wenn Vorschläge und Investitionsprojekte von oartizipativen Budgets erstellt werden" allow_attached_documents: "Upload und Anzeigen von angehängten Dokumenten erlauben" guides: "Anleitungen zum Erstellen von Anträgen und Investitionsprojekten" public_stats: "Öffentliche Statistiken" From 8360011cac7b26f51f900e688ce079f7a62f38ae Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 20 Oct 2018 20:30:32 +0200 Subject: [PATCH 243/565] New translations legislation.yml (German) --- config/locales/de-DE/legislation.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/locales/de-DE/legislation.yml b/config/locales/de-DE/legislation.yml index c3cc9e9c1..15f849630 100644 --- a/config/locales/de-DE/legislation.yml +++ b/config/locales/de-DE/legislation.yml @@ -52,6 +52,9 @@ de: more_info: Mehr Information proposals: empty_proposals: Es gibt keine Vorschläge + filters: + random: Zufällig + winners: Ausgewählt debate: empty_questions: Es gibt keine Fragen participate: An Diskussion teilnehmen @@ -82,6 +85,7 @@ de: key_dates: Die wichtigsten Termine debate_dates: Diskussion draft_publication_date: Veröffentlichungsentwurf + allegations_dates: Kommentare result_publication_date: Veröffentlichung Endergebnis proposals_dates: Vorschläge questions: From 6b251168657ac348b9290a78e2c957686d2a7728 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 20 Oct 2018 20:30:34 +0200 Subject: [PATCH 244/565] New translations management.yml (German) --- config/locales/de-DE/management.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/de-DE/management.yml b/config/locales/de-DE/management.yml index bba73c663..46680d34e 100644 --- a/config/locales/de-DE/management.yml +++ b/config/locales/de-DE/management.yml @@ -103,6 +103,7 @@ de: unverified_user: Der Benutzer ist nicht verifiziert create: Eine Budgetinvestitionen erstellen filters: + heading: Konzept unfeasible: Undurchführbare Investition print: print_button: Drucken From 36d3407da8e42c9b99caab11514e607565bf95ff Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 20 Oct 2018 20:30:35 +0200 Subject: [PATCH 245/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index e426e9a88..8106ae0be 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -113,5 +113,10 @@ de: allow_images: "Upload und Anzeigen von Bildern erlauben" allow_images_description: "Ermöglicht Nutzern das Hochladen von Bildern, wenn Vorschläge und Investitionsprojekte von oartizipativen Budgets erstellt werden" allow_attached_documents: "Upload und Anzeigen von angehängten Dokumenten erlauben" + allow_attached_documents_description: "Ermöglicht Nutzern das Hochladen von Dokumenten, wenn Vorschläge und Investitionsprojekte von partizipativen Budgets erstellt werden" guides: "Anleitungen zum Erstellen von Anträgen und Investitionsprojekten" + guides_description: "Zeigt eine Anleitung an, um Vorschlägen von Investitionsprojekten zu unterscheiden, falls es ein aktives partipatives Budget gibt" public_stats: "Öffentliche Statistiken" + public_stats_description: "Öffentliche Statistiken im Administrationsbereich anzeigen" + help_page: "Hilfeseite" + help_page_description: "Zeigt ein \"Hilfe\"-Menü an, das eine Seite mit Informationen über die einzelnen aktivierten Funktionen enthält" From 367af8ace491acb44dc2f29cbac15b08a9ee1e69 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 20 Oct 2018 20:30:36 +0200 Subject: [PATCH 246/565] New translations responders.yml (German) --- config/locales/de-DE/responders.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/de-DE/responders.yml b/config/locales/de-DE/responders.yml index 5becdcfe0..a96a91016 100644 --- a/config/locales/de-DE/responders.yml +++ b/config/locales/de-DE/responders.yml @@ -29,6 +29,7 @@ de: budget_investment: "Investitionsprojekt wurde erfolgreich aktualisiert." topic: "Thema erfolgreich aktualisiert." valuator_group: "Gutachtergruppe wurde erfolgreich aktualisiert" + translation: "Übersetzung erfolgreich hochgeladen" destroy: spending_proposal: "Ausgabenvorschlag erfolgreich gelöscht." budget_investment: "Investitionsprojekt erfolgreich gelöscht." From 2ad74dfdb4e08a97fa09a72024aa57105e18f661 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 20 Oct 2018 20:30:37 +0200 Subject: [PATCH 247/565] New translations i18n.yml (German) --- config/locales/de-DE/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/de-DE/i18n.yml b/config/locales/de-DE/i18n.yml index 346523bb6..0d22be768 100644 --- a/config/locales/de-DE/i18n.yml +++ b/config/locales/de-DE/i18n.yml @@ -1 +1,4 @@ de: + i18n: + language: + name: "Englisch" From 18a62d321c1f300df0c8c2a362842e30b475c3d3 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 17:31:03 +0200 Subject: [PATCH 248/565] New translations activemodel.yml (Russian) --- config/locales/ru/activemodel.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/locales/ru/activemodel.yml b/config/locales/ru/activemodel.yml index ddc9d1e32..3847f0a47 100644 --- a/config/locales/ru/activemodel.yml +++ b/config/locales/ru/activemodel.yml @@ -1 +1,6 @@ ru: + activemodel: + models: + verification: + residence: "Резиденция" + sms: "СМС" From dc3abde8828c9e5f2081796bf272cf2ad3c9c9a3 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 17:40:28 +0200 Subject: [PATCH 249/565] New translations activemodel.yml (Russian) --- config/locales/ru/activemodel.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/config/locales/ru/activemodel.yml b/config/locales/ru/activemodel.yml index 3847f0a47..25006f304 100644 --- a/config/locales/ru/activemodel.yml +++ b/config/locales/ru/activemodel.yml @@ -4,3 +4,19 @@ ru: verification: residence: "Резиденция" sms: "СМС" + attributes: + verification: + residence: + document_type: "Тип документа" + document_number: "Номер документа (включая буквы)" + date_of_birth: "Дата рождения" + postal_code: "Почтовый индекс" + sms: + phone: "Телефон" + confirmation_code: "Код подтверждения" + email: + recipient: "Электронный адрес" + officing/residence: + document_type: "Тип документа" + document_number: "Номер документа (включая буквы)" + year_of_birth: "Год рождения" From 1dce57baa160b4848a4cf5edc6f6a1339f21ab6b Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 18:41:12 +0200 Subject: [PATCH 250/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index ddc9d1e32..e8ce18074 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -1 +1,8 @@ ru: + activerecord: + attributes: + budget: + name: "Имя" + description_accepting: "Описание во время этапа приема" + description_reviewing: "Описание во время этапа рассмотрения" + description_selecting: "Описание во время этапа выбора" From 8ff8bdf674c3d7299672b819fb384d8da34fd7d9 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 20:00:34 +0200 Subject: [PATCH 251/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index e8ce18074..5960df596 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -6,3 +6,4 @@ ru: description_accepting: "Описание во время этапа приема" description_reviewing: "Описание во время этапа рассмотрения" description_selecting: "Описание во время этапа выбора" + description_valuating: "Описание во время этапа оценки" From 3242eecb7f9f00ba35a0b395cccd02dde293e0cb Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 20:10:34 +0200 Subject: [PATCH 252/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 5960df596..15b47eda5 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -7,3 +7,15 @@ ru: description_reviewing: "Описание во время этапа рассмотрения" description_selecting: "Описание во время этапа выбора" description_valuating: "Описание во время этапа оценки" + description_balloting: "Описание во время этапа голосования" + description_reviewing_ballots: "Описание во время этапа рассмотрения голосований" + description_finished: "Описание по завершению бюджета" + phase: "Этап" + currency_symbol: "Валюта" + budget/investment: + heading_id: "Заголовок" + title: "Заглавие" + description: "Описание" + external_url: "Ссылка на дополнительную документацию" + administrator_id: "Администратор" + location: "Местоположение (опционально)" From 14da6704ff0dd8abec3efefdd1d363d8f686505e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 20:20:29 +0200 Subject: [PATCH 253/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 15b47eda5..aee52c940 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -19,3 +19,14 @@ ru: external_url: "Ссылка на дополнительную документацию" administrator_id: "Администратор" location: "Местоположение (опционально)" + organization_name: "Если вы делаете предложение от имени коллектива/организации или от имени большего числа людей, напишите его название" + image: "Описательное изображение предложения" + image_title: "Заглавие изображения" + budget/investment/milestone: + status_id: "Текущий инвестиционный статус (опционально)" + title: "Заглавие" + description: "Описание (опционально, если присвоен статус)" + publication_date: "Дата публикации" + budget/investment/status: + name: "Имя" + description: "Описание (опционально)" From e936ab512000a11bd5da895c6a494dc23a2c59d9 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 20:30:47 +0200 Subject: [PATCH 254/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index aee52c940..413f35378 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -30,3 +30,34 @@ ru: budget/investment/status: name: "Имя" description: "Описание (опционально)" + budget/heading: + name: "Название заголовка" + price: "Цена" + population: "Население" + comment: + body: "Отзыв" + user: "Пользователь" + debate: + author: "Автор" + description: "Мнение" + terms_of_service: "Условия предоставления услуг" + title: "Заглавие" + proposal: + author: "Автор" + title: "Заглавие" + question: "Вопрос" + description: "Описание" + terms_of_service: "Условия предоставления услуг" + user: + login: "Электронный адрес или имя пользователя" + email: "Электронный адрес" + username: "Имя пользователя" + password_confirmation: "Подтверждение пароля" + password: "Пароль" + current_password: "Текущий пароль" + phone_number: "Номер телефона" + official_position: "Официальная позиция" + official_level: "Официальный уровень" + redeemable_code: "Код подтверждения полученный по электронной почте" + organization: + name: "Название организации" From 9c99ddfd8cac88a1e7645d5a0875605589d872e1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 20:40:30 +0200 Subject: [PATCH 255/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 413f35378..c6230e774 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -61,3 +61,25 @@ ru: redeemable_code: "Код подтверждения полученный по электронной почте" organization: name: "Название организации" + responsible_name: "Лицо, ответственное за группу" + spending_proposal: + administrator_id: "Администратор" + association_name: "Название ассоциации" + description: "Описание" + external_url: "Ссылка на дополнительную документацию" + geozone_id: "Сфера деятельности" + title: "Заглавие" + poll: + name: "Имя" + starts_at: "Дата начала" + ends_at: "Дата закрытия" + geozone_restricted: "Ограничено геозоном" + summary: "Резюме" + description: "Описание" + poll/question: + title: "Вопрос" + summary: "Резюме" + description: "Описание" + external_url: "Ссылка на дополнительную документацию" + signature_sheet: + signable_type: "Подписываемый тип" From 5f25d251df63bfd0c1dfc260879cce29f00c2961 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 20:50:28 +0200 Subject: [PATCH 256/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index c6230e774..71309b606 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -83,3 +83,30 @@ ru: external_url: "Ссылка на дополнительную документацию" signature_sheet: signable_type: "Подписываемый тип" + signable_id: "Подписываемый ID" + document_numbers: "Номера документов" + site_customization/page: + content: Содержание + created_at: Создано в + subtitle: Субтитр + slug: Слизень + status: Статус + title: Заглавие + updated_at: Обновлено на + more_info_flag: Показать на странице справки + print_content_flag: Кнопка печати содержимого + locale: Язык + site_customization/image: + name: Имя + image: Изображение + site_customization/content_block: + name: Имя + locale: место действия + body: Тело + legislation/process: + title: Заглавие процесса + summary: Резюме + description: Описание + additional_info: Дополнительная информация + start_date: Дата начала + end_date: Дата окончания From 9cbbc6b10123487cd8627acb41f7d28c7b71eb07 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 21:00:35 +0200 Subject: [PATCH 257/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 71309b606..b1cd65b1b 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -110,3 +110,9 @@ ru: additional_info: Дополнительная информация start_date: Дата начала end_date: Дата окончания + debate_start_date: Дата начала дебатов + debate_end_date: Дата окончания дебатов + draft_publication_date: Дата публикации проекта + allegations_start_date: Дата начала заявлений + allegations_end_date: Дата окончания заявлений + result_publication_date: Дата публикации окончательного результата From d5c79890066ec972a6c14114edb039467bf79862 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 21:20:29 +0200 Subject: [PATCH 258/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index b1cd65b1b..4d35c8877 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -116,3 +116,32 @@ ru: allegations_start_date: Дата начала заявлений allegations_end_date: Дата окончания заявлений result_publication_date: Дата публикации окончательного результата + legislation/draft_version: + title: Заглавие версии + body: Текст + changelog: Изменения + status: Статус + final_version: Окончательная версия + legislation/question: + title: Заглавие + question_options: Опции + legislation/question_option: + value: Значение + legislation/annotation: + text: Отзыв + document: + title: Заглавие + attachment: Прикрепление + image: + title: Заглавие + attachment: Прикрепление + poll/question/answer: + title: Ответ + description: Описание + poll/question/answer/video: + title: Заглавие + url: Внешнее видео + newsletter: + segment_recipient: Получатели + subject: Тема + from: От From ed8cb4b6e3033520b9e578be245a0389107a2089 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 21:30:55 +0200 Subject: [PATCH 259/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 4d35c8877..81a437e3c 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -145,3 +145,31 @@ ru: segment_recipient: Получатели subject: Тема from: От + body: Содержание электронной почты + widget/card: + label: Метка (опционально) + title: Заглавие + description: Описание + link_text: Ссылка текста + link_url: Ссылка URL + widget/feed: + limit: Количество предметов + errors: + models: + user: + attributes: + email: + password_already_set: "Этот пользователь уже имеет пароль" + debate: + attributes: + tag_list: + less_than_or_equal_to: "метки должны быть меньше или равны %{count}" + direct_message: + attributes: + max_per_day: + invalid: "Вы достигли максимального количества личных сообщений в день" + image: + attributes: + attachment: + min_image_width: "Ширина изображения должна быть не менее %{required_min_width}px" + min_image_height: "Высота изображения должна быть не менее %{required_min_height}px" From eb03e5be2946eed49a1607618f803d0828f35134 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 22:21:14 +0200 Subject: [PATCH 260/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 81a437e3c..5bcf129af 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -173,3 +173,24 @@ ru: attachment: min_image_width: "Ширина изображения должна быть не менее %{required_min_width}px" min_image_height: "Высота изображения должна быть не менее %{required_min_height}px" + newsletter: + attributes: + segment_recipient: + invalid: "Сегмент получателей пользователя является недействительным" + admin_notification: + attributes: + segment_recipient: + invalid: "Сегмент получателей пользователя является недействительным" + map_location: + attributes: + map: + invalid: Расположение на карте не может быть пустым. Поместите маркер или установите флажок, если геолокация не требуется + poll/voter: + attributes: + document_number: + not_in_census: "Документ не в переписи" + has_voted: "Пользователь уже проголосовал" + legislation/process: + attributes: + end_date: + invalid_date_range: должно быть до или после даты начала From e8f4b1bd8ec541b807c3bf010dcb6ce2bf76d190 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 22:31:05 +0200 Subject: [PATCH 261/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 5bcf129af..75039181c 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -194,3 +194,15 @@ ru: attributes: end_date: invalid_date_range: должно быть до или после даты начала + debate_end_date: + invalid_date_range: должно быть до или после даты начала дебатов + allegations_end_date: + invalid_date_range: должно быть до или после даты начала заявлений + proposal: + attributes: + tag_list: + less_than_or_equal_to: "метки должны быть меньше или равны %{count}" + budget/investment: + attributes: + tag_list: + less_than_or_equal_to: "метки должны быть меньше или равны %{count}" From 6a99613f355d9c6760856a4e5d73573a919a49c9 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 22:50:40 +0200 Subject: [PATCH 262/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 75039181c..43869875b 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -206,3 +206,30 @@ ru: attributes: tag_list: less_than_or_equal_to: "метки должны быть меньше или равны %{count}" + proposal_notification: + attributes: + minimum_interval: + invalid: "Вы должны ждать не менее %{interval} дней между уведомлениями" + signature: + attributes: + document_number: + not_in_census: 'Не проверено переписью' + already_voted: 'Уже проголосовано это предложение' + site_customization/page: + attributes: + slug: + slug_format: "должны быть буквы, цифры, _ и -" + site_customization/image: + attributes: + image: + image_width: "Ширина должна быть %{required_width}px" + image_height: "Высота должна быть %{required_height}px" + comment: + attributes: + valuation: + cannot_comment_valuation: 'Вы не можете комментировать оценку' + messages: + record_invalid: "Ошибка проверки: %{errors}" + restrict_dependent_destroy: + has_one: "Невозможно удалить запись, поскольку существует зависимый %{record}" + has_many: "Невозможно удалить запись, поскольку существует зависимый %{record}" From 2906057979d41203ac1a5bf68a34165adff89351 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 21 Oct 2018 22:50:41 +0200 Subject: [PATCH 263/565] New translations i18n.yml (Russian) --- config/locales/ru/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/ru/i18n.yml b/config/locales/ru/i18n.yml index ddc9d1e32..d2ab53738 100644 --- a/config/locales/ru/i18n.yml +++ b/config/locales/ru/i18n.yml @@ -1 +1,4 @@ ru: + i18n: + language: + name: "Английский" From 047260b6c396cccb2c4b14bce7bdf0c3eabd703a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 22 Oct 2018 03:10:54 +0200 Subject: [PATCH 264/565] New translations moderation.yml (Chinese Simplified) --- config/locales/zh-CN/moderation.yml | 36 +++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/config/locales/zh-CN/moderation.yml b/config/locales/zh-CN/moderation.yml index f0b698bf3..40cf608c1 100644 --- a/config/locales/zh-CN/moderation.yml +++ b/config/locales/zh-CN/moderation.yml @@ -1 +1,37 @@ zh-CN: + moderation: + comments: + index: + block_authors: 封锁作者 + confirm: 您确定吗? + filter: 过滤器 + filters: + all: 所有 + pending_flag_review: 有待 + with_ignored_flag: 标记为已查看 + headers: + comment: 评论 + moderate: 审核 + hide_comments: 隐藏评论 + ignore_flags: 标记为已查看 + order: 排序 + orders: + flags: 最多标记 + newest: 最新 + title: 评论 + dashboard: + index: + title: 审核 + debates: + index: + block_authors: 封锁作者 + confirm: 您确定吗? + filter: 过滤器 + filters: + all: 所有 + pending_flag_review: 有待 + with_ignored_flag: 标记为已查看 + headers: + debate: 辩论 + moderate: 审核 + hide_debates: 隐藏辩论 From 96c2d4c29555dd919ea02f6f7d134c50a7c37314 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 22 Oct 2018 20:50:43 +0200 Subject: [PATCH 265/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index f0b698bf3..f2a727946 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -1 +1,28 @@ zh-CN: + pages: + conditions: + title: 使用条款和条件 + subtitle: 关于开放政府门户网站个人数据的使用条件,隐私和保护的法律声明 + description: 有关个人数据的使用条件,隐私和保护的资讯页面。 + general_terms: 条款和条件 + help: + title: "%{org} 是公民参与的平台" + guide: "此指南解释了每个%{org} 部分的用途以及它们的作业原理。" + menu: + debates: "辩论" + proposals: "提议" + budgets: "参与性预算" + polls: "投票" + other: "其他感兴趣的资讯" + processes: "进程" + debates: + title: "辩论" + description: "在%{link} 部分您可以向他人展示和分享您对与城市相关的问题的意见。它也是一个产生想法的地方,通过%{org} 的其他部分,能让市政局采取具体行动。" + link: "公民辩论" + feature_html: "您可以打开辩论,评论和评估,使用<strong>我同意</strong>或<strong>我不同意</strong>。为此您必须%{link}。" + feature_link: "在%{org} 注册" + image_alt: "为辩论评分的按钮" + figcaption: '为辩论评分的“我同意”和“我不同意”按钮' + proposals: + title: "提议" + description: "在此%{link} 部分,您可以向市政局提出希望可以被他们实行的提议。这些提议需要得到支持,如果它们得到足够的支持,将可以得到公众投票。在公民投票中被确认的提议将被市政局接受并实行。" From e3d377939525df44539c8d69ac090c2de4a2bcde Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 22 Oct 2018 20:50:44 +0200 Subject: [PATCH 266/565] New translations officing.yml (Chinese Simplified) --- config/locales/zh-CN/officing.yml | 67 +++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) diff --git a/config/locales/zh-CN/officing.yml b/config/locales/zh-CN/officing.yml index f0b698bf3..bfcc9e832 100644 --- a/config/locales/zh-CN/officing.yml +++ b/config/locales/zh-CN/officing.yml @@ -1 +1,68 @@ zh-CN: + officing: + header: + title: 投票 + dashboard: + index: + title: 投票办公室当值 + info: 您可以在此验证用户文档和存储投票结果 + no_shifts: 您今天没有当值轮班。 + menu: + voters: 验证文档 + total_recounts: 总重新计票数和结果 + polls: + final: + title: 投票已备好以进行最终的重新计票 + no_polls: 您不要在任何活跃投票的最终重新计票中当值 + select_poll: 选择投票项 + add_results: 添加结果 + results: + flash: + create: "结果已保存" + error_create: "结果未保存。数据出错。" + error_wrong_booth: "投票亭错误。结果未保存。" + new: + title: "%{poll}- 添加结果" + not_allowed: "您被允许为此投票添加结果" + booth: "投票亭" + date: "日期" + select_booth: "选择投票亭" + ballots_white: "完全空白的选票" + ballots_null: "无效选票" + ballots_total: "总选票数" + submit: "保存" + results_list: "您的结果" + see_results: "查看结果" + index: + no_results: "没有结果" + results: 结果 + table_answer: 回答 + table_votes: 投票 + table_whites: "完全空白的选票" + table_nulls: "无效选票" + table_total: "总选票数" + residence: + flash: + create: "通过人口普查核实的文档" + not_allowed: "您今天没有当值轮班" + new: + title: 验证文档 + document_number: "文档编码(包含字母)" + submit: 验证文档 + error_verifying_census: "人口普查无法核实此文档。" + form_errors: 阻止了此文档的核实 + no_assignments: "您今天没有当值轮班" + voters: + new: + title: 投票 + table_poll: 投票 + table_status: 投票状态 + table_actions: 行动 + not_to_vote: 此人已经决定此时不投票。 + show: + can_vote: 可以投票 + error_already_voted: 已经参与此次投票 + submit: 确认投票 + success: "投票介绍!" + can_vote: + submit_disable_with: "等等,投票确认中..." From d268f9747d8823c464095125560c4a1da9fe0ae5 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 23 Oct 2018 01:25:04 +0200 Subject: [PATCH 267/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index f2a727946..2747d3026 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -26,3 +26,16 @@ zh-CN: proposals: title: "提议" description: "在此%{link} 部分,您可以向市政局提出希望可以被他们实行的提议。这些提议需要得到支持,如果它们得到足够的支持,将可以得到公众投票。在公民投票中被确认的提议将被市政局接受并实行。" + link: "公民提议" + image_alt: "支持提议的按钮" + figcaption_html: '用于“支持”提议的按钮' + budgets: + title: "参与性预算编制" + description: "%{link} 部分帮助人们直接决定如何使用市政预算的部分支出。" + link: "参与性预算" + image_alt: "参与性预算的不同阶段" + figcaption_html: '参与性预算的“支持”和“投票”阶段。' + polls: + title: "投票" + description: "每当提议取得1%的支持并进入投票,或者市政局提议问题给人们决定的时候,%{link} 部分就会被激活。" + link: "投票" From 72392f6104913cb8b293a47e3bc254934c81241c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 23 Oct 2018 01:30:29 +0200 Subject: [PATCH 268/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index 2747d3026..aee039b2b 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -39,3 +39,11 @@ zh-CN: title: "投票" description: "每当提议取得1%的支持并进入投票,或者市政局提议问题给人们决定的时候,%{link} 部分就会被激活。" link: "投票" + feature_1: "要参与投票,您必须%{link} 并核实您的账户。" + feature_1_link: "在%{org_name} 里注册" + processes: + title: "进程" + description: "在%{link} 部分,公民参与起草和修改影响城市的法规,并可以对之前辩论中的市政政策发表意见。" + link: "进程" + faq: + title: "技术问题?" From 60b9be142b59ae5b357d3c2f5c712e37cd147612 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 23 Oct 2018 01:40:35 +0200 Subject: [PATCH 269/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index aee039b2b..993220738 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -47,3 +47,13 @@ zh-CN: link: "进程" faq: title: "技术问题?" + description: "请阅读常见问题解答来解决您的问题。" + button: "查看常见问题解答" + page: + title: "常见问题解答" + description: "网站用户可以使用此页面来解决一般常见问题。" + faq_1_title: "问题1" + faq_1_description: "这个例子是描述问题一的。" + other: + title: "其他感兴趣的资讯" + how_to_use: "在您的城市中使用%{org_name}" From 78e3e3f541a9aed082111bb25483c89586e17f1c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 23 Oct 2018 01:51:01 +0200 Subject: [PATCH 270/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 35 ++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index 993220738..378f1d5ae 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -57,3 +57,38 @@ zh-CN: other: title: "其他感兴趣的资讯" how_to_use: "在您的城市中使用%{org_name}" + how_to_use: + text: |- + 在您本地政府中使用它或者帮助我们改善它,它是免费的软件。 + + 此开放政府门户网站使用[CONSUL app](https://github.com/consul/consul 'consul github'),这是免费的软件,使用[licence AGPLv3](http://www.gnu.org/licenses/agpl-3.0.html 'AGPLv3 gnu' )。简单来说,就是任何人都可以自由使用此原代码,复制它,查看其细节,修改它,以及把他想要的修改重新发布到全球(允许其他人也可以这么做)。因为我们认为文化在发布后会更好,更丰富。 + + 如果您是程序员,您可以在[CONSUL app](https://github.com/consul/consul 'consul github')查看原代码并帮助我们改善它。 + titles: + how_to_use: 在您本地政府中使用它 + privacy: + title: 隐私政策 + subtitle: 有关数据隐私的资讯 + accessibility: + textsize: + browser_settings_table: + browser_header: 浏览器 + action_header: 要采取的行动 + rows: + - + browser_column: 浏览器 + action_column: 查看> 字体大小 + - + browser_column: Firefox + action_column: 查看 > 大小 + - + browser_column: Chrome + action_column: 设置(图标)>选项>高级>网页内容>字体大小 + - + browser_column: Safari + action_column: 查看>放大/缩小 + - + browser_column: Opera + action_column: 查看>比例 + browser_shortcuts_table: + description: '另一种修改字体大小的方法是使用浏览器中定义的键盘快捷键,尤其是组合键:' From 8293dcf0ad8768c5b3a91c2941d3f10f13963983 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 23 Oct 2018 02:00:38 +0200 Subject: [PATCH 271/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index 378f1d5ae..c8192d74d 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -92,3 +92,22 @@ zh-CN: action_column: 查看>比例 browser_shortcuts_table: description: '另一种修改字体大小的方法是使用浏览器中定义的键盘快捷键,尤其是组合键:' + rows: + - + shortcut_column: CTRL 和 + (在MAC上用CMD 和 +) + description_column: 增加字体大小 + - + shortcut_column: CTRL 和 - (在MAC上用CMD 和 -) + description_column: 减少字体大小 + compatibility: + title: 与标准和视觉设计兼容 + description_html: '本网站的所有页面均符合<strong>辅助功能指南</strong>或者由属于W3C的<abbr title = "Web Accessibility Initiative" lang = "en">WAI </ abbr>工作组建立的无障碍设计的一般原则。' + titles: + accessibility: 无障碍功能 + conditions: 使用条款 + help: "什么是%{org}?- 公民参与" + privacy: 隐私政策 + verify: + code: 您在信中收到的代码 + email: 电子邮件 + info: '要核实您的账户,请输入您的访问数据:' From f2c7fe787aeb290675b8d0fb722aef276034f8ac Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 23 Oct 2018 02:10:32 +0200 Subject: [PATCH 272/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index c8192d74d..a8a556417 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -111,3 +111,7 @@ zh-CN: code: 您在信中收到的代码 email: 电子邮件 info: '要核实您的账户,请输入您的访问数据:' + info_code: '现在请输入您在信里收到的代码:' + password: 密码 + submit: 核实我的账户 + title: 核实您的账户 From 5fb40f929f3449bc6e2ccd5f92566cf0a687a6c0 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Tue, 23 Oct 2018 17:50:56 +0200 Subject: [PATCH 273/565] New translations moderation.yml (Chinese Simplified) --- config/locales/zh-CN/moderation.yml | 80 +++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/config/locales/zh-CN/moderation.yml b/config/locales/zh-CN/moderation.yml index 40cf608c1..dd17de3b7 100644 --- a/config/locales/zh-CN/moderation.yml +++ b/config/locales/zh-CN/moderation.yml @@ -35,3 +35,83 @@ zh-CN: debate: 辩论 moderate: 审核 hide_debates: 隐藏辩论 + ignore_flags: 标记为已查看 + order: 排序 + orders: + created_at: 最新 + flags: 最多标记 + title: 辩论 + header: + title: 审核 + menu: + flagged_comments: 评论 + flagged_debates: 辩论 + flagged_investments: 预算投资 + proposals: 提议 + proposal_notifications: 提议通知 + users: 封锁用户 + proposals: + index: + block_authors: 封锁作者 + confirm: 您确定吗? + filter: 过滤器 + filters: + all: 所有 + pending_flag_review: 有待审阅 + with_ignored_flag: 标记为已查看 + headers: + moderate: 审核 + proposal: 提议 + hide_proposals: 隐藏提议 + ignore_flags: 标记为已查看 + order: 排序依据 + orders: + created_at: 最近 + flags: 最多标记 + title: 提议 + budget_investments: + index: + block_authors: 封锁作者 + confirm: 您确定吗? + filter: 过滤器 + filters: + all: 所有 + pending_flag_review: 有待 + with_ignored_flag: 标记为已查看 + headers: + moderate: 审核 + budget_investment: 预算投资 + hide_budget_investments: 隐藏预算投资 + ignore_flags: 标记为已查看 + order: 排序依据 + orders: + created_at: 最近 + flags: 最多标记 + title: 预算投资 + proposal_notifications: + index: + block_authors: 封锁作者 + confirm: 您确定吗? + filter: 过滤器 + filters: + all: 所有 + pending_review: 有待审阅 + ignored: 标记为已查看 + headers: + moderate: 审核 + proposal_notification: 提议通知 + hide_proposal_notifications: 隐藏提议 + ignore_flags: 标记为已查看 + order: 排序依据 + orders: + created_at: 最近 + moderated: 已审核 + title: 提议通知 + users: + index: + hidden: 已封锁 + hide: 封锁 + search: 搜索 + search_placeholder: 电子邮件或用户名 + title: 封锁用户 + notice_hide: 用户已被封锁。所有这个用户的辩论和评论都已被隐藏。 From 252991de3785c2c16e312f899a505a1a7987fa3a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 24 Oct 2018 00:40:40 +0200 Subject: [PATCH 274/565] New translations moderation.yml (Chinese Simplified) --- config/locales/zh-CN/moderation.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/zh-CN/moderation.yml b/config/locales/zh-CN/moderation.yml index dd17de3b7..d6090b83c 100644 --- a/config/locales/zh-CN/moderation.yml +++ b/config/locales/zh-CN/moderation.yml @@ -114,4 +114,4 @@ zh-CN: search: 搜索 search_placeholder: 电子邮件或用户名 title: 封锁用户 - notice_hide: 用户已被封锁。所有这个用户的辩论和评论都已被隐藏。 + notice_hide: 用户已被封锁。这个用户的所有辩论和评论都已被隐藏。 From 2f8d705ee2fcadfac35bf374f8d9cabad18633f4 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 24 Oct 2018 00:40:42 +0200 Subject: [PATCH 275/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index a8a556417..e8ed5d1b6 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -76,7 +76,7 @@ zh-CN: action_header: 要采取的行动 rows: - - browser_column: 浏览器 + browser_column: Explorer action_column: 查看> 字体大小 - browser_column: Firefox From f49773ba45ab0cb38a0478bfee91297c5d4a8493 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 02:20:57 +0200 Subject: [PATCH 276/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index e8ed5d1b6..1d0389b8c 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -69,6 +69,14 @@ zh-CN: privacy: title: 隐私政策 subtitle: 有关数据隐私的资讯 + info_items: + - + text: 通过开放政府门户网站提供的资讯进行导航是匿名的。 + - + - + - + - + - accessibility: textsize: browser_settings_table: From 6791ffd72323c1662f8ba9c94b6b0286061eeed1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 02:28:28 +0200 Subject: [PATCH 277/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index 1d0389b8c..d227a5063 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -73,8 +73,17 @@ zh-CN: - text: 通过开放政府门户网站提供的资讯进行导航是匿名的。 - + text: 要使用开放政府门户网站中包含的服务,用户必须根据每种注册类型中的特定资讯来注册并预先提供个人数据。 - + text: '所提供的数据将由市政局依据以下文件中的描述进行整合和处理:' - + subitems: + - + field: '文件名:' + description: 文件的名称 + - + field: '文件的用途:' + - - - accessibility: From f52810219afb4386fc40ffe7b7c96a4e7c8c0098 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 02:35:08 +0200 Subject: [PATCH 278/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index d227a5063..f56d0e1f3 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -80,10 +80,13 @@ zh-CN: subitems: - field: '文件名:' - description: 文件的名称 + description: 此文件的名称 - - field: '文件的用途:' + field: '此文件的用途:' + description: 管理参与进程是为了控制参与其中的人员的资格,并对公民参与进程产生的结果只进行数据和统计重新计票。 - + field: '负责此文件的机构:' + description: 负责此文件的机构 - - accessibility: From 8b9a462b7afcf349081c7327da808da3c7d7e9f4 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 02:50:29 +0200 Subject: [PATCH 279/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index f56d0e1f3..d9ccd6edb 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -88,8 +88,11 @@ zh-CN: field: '负责此文件的机构:' description: 负责此文件的机构 - + text: 有关方可以在负责机构指示前行使获取,纠正,取消和反对的权利。所有这些权利都是根据12月13日第15/1999号组织法第5条关于个人数据保护的条款。 - + text: 作为一般原则,本网站不会分享或者披露所获得的资讯,除非是得到用户的授权,或者被司法机关,检察办公室,或者司法警察要求提供资讯,或者受12月13日第15/1999 组织法第11 条关于个人数据保护的管制。 accessibility: + title: 无障碍功能 textsize: browser_settings_table: browser_header: 浏览器 From 5246839ca5e6357b09f9fd9a1650933c14b07578 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 02:59:55 +0200 Subject: [PATCH 280/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index d9ccd6edb..2916e5dc1 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -93,6 +93,15 @@ zh-CN: text: 作为一般原则,本网站不会分享或者披露所获得的资讯,除非是得到用户的授权,或者被司法机关,检察办公室,或者司法警察要求提供资讯,或者受12月13日第15/1999 组织法第11 条关于个人数据保护的管制。 accessibility: title: 无障碍功能 + description: |- + 网络无障碍功能指所有人都可以访问网络及其内容,以克服可能出现的残疾障碍(身体,智力或技术)或者是来自使用环境(技术或者环境)的障碍。 + + 当网站在设计时已考虑到无障碍功能,所有用户都可以在同等条件下访问内容,例如: + examples: + - Proporcionando un texto alternativo a las imágenes, los usuarios invidentes o con problemas de visión pueden utilizar lectores especiales para acceder a la información。为图像提供替代文本,盲人或者视觉有障碍的用户可以使用特殊的阅读器来取得资讯。 + - When videos have subtitles, users with hearing difficulties can fully understand them. + - If the contents are written in a simple and illustrated language, users with learning problems are better able to understand them. + - If the user has mobility problems and it is difficult to use the mouse, the alternatives with the keyboard help in navigation. textsize: browser_settings_table: browser_header: 浏览器 From 487ec20f49d81494f97921c885eea008a09c813b Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 03:10:25 +0200 Subject: [PATCH 281/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index 2916e5dc1..4c48b3d7f 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -99,9 +99,11 @@ zh-CN: 当网站在设计时已考虑到无障碍功能,所有用户都可以在同等条件下访问内容,例如: examples: - Proporcionando un texto alternativo a las imágenes, los usuarios invidentes o con problemas de visión pueden utilizar lectores especiales para acceder a la información。为图像提供替代文本,盲人或者视觉有障碍的用户可以使用特殊的阅读器来取得资讯。 - - When videos have subtitles, users with hearing difficulties can fully understand them. - - If the contents are written in a simple and illustrated language, users with learning problems are better able to understand them. - - If the user has mobility problems and it is difficult to use the mouse, the alternatives with the keyboard help in navigation. + - 当视频有字幕时,有听力障碍的用户可以完全理解它们。 + - 如果内容是用简单的插图语言编写时,有学习障碍的用户也可以更好地理解它们。 + - 如果用户有行动障碍并难以使用鼠标,使用键盘的替代方法会有助于导航。 + keyboard_shortcuts: + title: 键盘快捷键 textsize: browser_settings_table: browser_header: 浏览器 From cc44ecc364ccc9a4b283faa89d7ed23966841721 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 03:20:26 +0200 Subject: [PATCH 282/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index 4c48b3d7f..afe334dda 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -104,6 +104,30 @@ zh-CN: - 如果用户有行动障碍并难以使用鼠标,使用键盘的替代方法会有助于导航。 keyboard_shortcuts: title: 键盘快捷键 + navigation_table: + description: 为了能够无障碍浏览此网站,已经编写了一组快捷访问键,来进入网站组织的一般感兴趣的主要部分。 + caption: 导航菜单的键盘快捷键 + key_header: 键 + page_header: 页 + rows: + - + key_column: 0 + page_column: 主页 + - + key_column: 1 + page_column: 辩论 + - + key_column: 2 + page_column: 提议 + - + key_column: 3 + page_column: 投票 + - + key_column: 4 + page_column: 参与性预算 + - + key_column: 5 + page_column: 立法进程 textsize: browser_settings_table: browser_header: 浏览器 From 2d8794d2c3ad9ad46975a6e152333afd092bb310 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 03:30:29 +0200 Subject: [PATCH 283/565] New translations rails.yml (Chinese Simplified) --- config/locales/zh-CN/rails.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/locales/zh-CN/rails.yml b/config/locales/zh-CN/rails.yml index f421f1e99..3db52babe 100644 --- a/config/locales/zh-CN/rails.yml +++ b/config/locales/zh-CN/rails.yml @@ -1,5 +1,13 @@ zh-CN: date: + abbr_day_names: + - 星期天 + - 周一 + - Tue + - Wed + - Thu + - Fri + - Sat abbr_month_names: - - Jan From 8e3b87638c2068960f1c906cb339a5244e759f89 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 03:30:31 +0200 Subject: [PATCH 284/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index afe334dda..81ce386a4 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -128,8 +128,31 @@ zh-CN: - key_column: 5 page_column: 立法进程 + browser_table: + description: '根据操作系统和使用的浏览器,组合键将如下所示:' + caption: 组合键根据所使用的操作系统和浏览器 + browser_header: 浏览器 + key_header: 组合键 + rows: + - + browser_column: Explorer + key_column: ALT + 快捷键,然后输入键 + - + browser_column: Firefox + key_column: ALT + CAPS + 快捷键 + - + browser_column: Chrome + key_column: ALT + 快捷键 (MAC使用CTRL + ALT + 快捷键) + - + browser_column: Safari + key_column: ALT +快捷键 (MAC使用CMD + 快捷键) + - + browser_column: Opera + key_column: CAPS + ESC + 快捷键 textsize: + title: 字体大小 browser_settings_table: + description: 本网站的可访问性设计允许用户选择适合自己的字体大小。根据使用的浏览器可以用不同的方式来执行此操作。 browser_header: 浏览器 action_header: 要采取的行动 rows: From 9cd3c6e6d1522649d06e19c71438bd68d146bb69 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 03:50:36 +0200 Subject: [PATCH 285/565] New translations rails.yml (Chinese Simplified) --- config/locales/zh-CN/rails.yml | 203 ++++++++++++++++++++++++++++----- 1 file changed, 172 insertions(+), 31 deletions(-) diff --git a/config/locales/zh-CN/rails.yml b/config/locales/zh-CN/rails.yml index 3db52babe..3ea38d055 100644 --- a/config/locales/zh-CN/rails.yml +++ b/config/locales/zh-CN/rails.yml @@ -2,42 +2,183 @@ zh-CN: date: abbr_day_names: - 星期天 - - 周一 - - Tue - - Wed - - Thu - - Fri - - Sat + - 星期一 + - 星期二 + - 星期三 + - 星期四 + - 星期五 + - 星期六 abbr_month_names: - - - Jan - - Feb - - Mar - - Apr - - May - - Jun - - Jul - - Aug - - Sep - - Oct - - Nov - - Dec + - 一月 + - 二月 + - 三月 + - 四月 + - 五月 + - 六月 + - 七月 + - 八月 + - 九月 + - 十月 + - 十一月 + - 十二月 + day_names: + - 星期天 + - 星期一 + - 星期二 + - 星期三 + - 星期四 + - 星期五 + - 星期六 + formats: + default: "%Y-%m-%d" + long: "%B %d, %Y" + short: "%b %d" month_names: - - - January - - February - - March - - April - - May - - June - - July - - August - - September - - October - - November - - December + - 一月 + - 二月 + - 三月 + - 四月 + - 五月 + - 六月 + - 七月 + - 八月 + - 九月 + - 十月 + - 十一月 + - 十二月 + order: + - ':年' + - ':月' + - ':日' + datetime: + distance_in_words: + about_x_hours: + other: 大约%{count} 个小时 + about_x_months: + other: 大约%{count} 个月 + about_x_years: + other: 大约%{count} 年 + almost_x_years: + other: 几乎%{count} 年 + half_a_minute: 半分钟 + less_than_x_minutes: + other: 少于%{count} 分钟 + less_than_x_seconds: + other: 少于%{count} 秒 + over_x_years: + other: 多于%{count} 年 + x_days: + other: "%{count} 天" + x_minutes: + other: "%{count} 分钟" + x_months: + other: "%{count} 个月" + x_years: + other: "%{count} 年" + x_seconds: + other: "%{count} 秒" + prompts: + day: 天 + hour: 小时 + minute: 分钟 + month: 月 + second: 秒 + year: 年 + errors: + format: "%{attribute} %{message}" + messages: + accepted: 必须被接受 + blank: 不能为空白 + present: 必须放空白 + confirmation: 与%{attribute} 不匹配 + empty: 不能空白 + equal_to: 必须等于%{count} + even: 必须是偶数 + exclusion: 被保留了 + greater_than: 必须大于%{count} + greater_than_or_equal_to: 必须大于或者等于%{count} + inclusion: 不包括在列表中 + invalid: 无效的 + less_than: 必须小于%{count} + less_than_or_equal_to: 必须小于或者等于%{count} + model_invalid: "验证失败:%{errors}" + not_a_number: 不是一个数字 + not_an_integer: 必须是整数 + odd: 必须是奇数 + required: 必须存在 + taken: 已经被用了 + too_long: + other: 太长(最多是%{count} 个字符) + too_short: + other: 太短了(最少是%{count} 个字符) + wrong_length: + other: 是错误长度(应该是%{count} 个字符) + other_than: 必须不是%{count} + template: + body: '以下字段有问题:' + header: + other: "%{count} 个错误阻止%{model} 被保存" + helpers: + select: + prompt: 请选择 + submit: + create: 创建%{model} + submit: 保存%{model} + update: 更新%{model} number: - human: + currency: format: + delimiter: "," + format: "%u%n" + precision: 2 + separator: "." + significant: false + strip_insignificant_zeros: false + unit: "$" + format: + delimiter: "," + precision: 3 + separator: "." + significant: false + strip_insignificant_zeros: false + human: + decimal_units: + format: "%n %u" + units: + billion: 十亿 + million: 百万 + quadrillion: 万亿 + thousand: 千 + trillion: 兆 + format: + precision: 3 significant: true strip_insignificant_zeros: true + storage_units: + format: "%n %u" + units: + byte: + other: 位元组 + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + format: "%n%" + support: + array: + last_word_connector: ", 和 " + two_words_connector: " 和 " + words_connector: ", " + time: + am: 上午 + formats: + datetime: "%Y-%m-%d %H:%M:%S" + default: "%a, %d %b %Y %H:%M:%S %z" + long: "%B %d, %Y %H:%M" + short: "%d %b %H:%M" + api: "%Y-%m-%d %H" + pm: 下午 From 2557852830af402cb21fc27f565320cb5b350ed9 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 03:56:51 +0200 Subject: [PATCH 286/565] New translations responders.yml (Chinese Simplified) --- config/locales/zh-CN/responders.yml | 33 +++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/config/locales/zh-CN/responders.yml b/config/locales/zh-CN/responders.yml index f0b698bf3..b9f2bf0a7 100644 --- a/config/locales/zh-CN/responders.yml +++ b/config/locales/zh-CN/responders.yml @@ -1 +1,34 @@ zh-CN: + flash: + actions: + create: + notice: "%{resource_name} 已成功创建。" + debate: "辩论已成功创建。" + direct_message: "您的消息已经成功发送。" + poll: "投票已成功创建。" + poll_booth: "投票亭已成功创建。" + poll_question_answer: "回答已成功创建" + poll_question_answer_video: "视频已成功创建" + poll_question_answer_image: "图像已成功上传" + proposal: "提议已成功创建。" + proposal_notification: "您的消息已正确发送。" + spending_proposal: "支出提议已成功创建。您可以从%{activity} 访问它" + budget_investment: "预算投资已成功创建。" + signature_sheet: "签名表已成功创建" + topic: "主题已成功创建。" + valuator_group: "评估组已成功创建" + save_changes: + notice: 更改已保存 + update: + notice: "%{resource_name} 已成功更新。" + debate: "辩论已成功更新。" + poll: "投票已成功更新。" + poll_booth: "投票亭已成功更新。" + proposal: "提议已成功更新。" + spending_proposal: "投资项目已成功更新。" + budget_investment: "投资项目已成功更新。" + topic: "主题已成功更新。" + valuator_group: "评估组已成功更新" + translation: "翻译已成功更新" + destroy: + spending_proposal: "支出提议已成功删除。" From 4ae0f37d41198eb0eefff2d35ee8c29453d8c620 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 04:00:26 +0200 Subject: [PATCH 287/565] New translations responders.yml (Chinese Simplified) --- config/locales/zh-CN/responders.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/locales/zh-CN/responders.yml b/config/locales/zh-CN/responders.yml index b9f2bf0a7..ca5b6041c 100644 --- a/config/locales/zh-CN/responders.yml +++ b/config/locales/zh-CN/responders.yml @@ -32,3 +32,8 @@ zh-CN: translation: "翻译已成功更新" destroy: spending_proposal: "支出提议已成功删除。" + budget_investment: "投资项目已成功删除。" + error: "无法删除" + topic: "主题已成功删除。" + poll_question_answer_video: "回答视频已成功删除。" + valuator_group: "评估组已成功删除" From a77b930af1675c883fe338a61dd3322a5c63c426 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 04:00:27 +0200 Subject: [PATCH 288/565] New translations seeds.yml (Chinese Simplified) --- config/locales/zh-CN/seeds.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/config/locales/zh-CN/seeds.yml b/config/locales/zh-CN/seeds.yml index f0b698bf3..16a73077f 100644 --- a/config/locales/zh-CN/seeds.yml +++ b/config/locales/zh-CN/seeds.yml @@ -1 +1,21 @@ zh-CN: + seeds: + settings: + official_level_1_name: 正式职位 1 + official_level_2_name: 正式职位 2 + official_level_3_name: 正式职位 3 + official_level_4_name: 正式职位 4 + official_level_5_name: 正式职位 5 + geozones: + north_district: 北区 + west_district: 西区 + east_district: 东区 + central_district: 中区 + organizations: + human_rights: 人权 + neighborhood_association: 邻里协会 + categories: + associations: 协会 + culture: 文化 + sports: 体育 + social_rights: 社会权利 From dea96894f699c6e3e79cb22d65d0fc54d2e8e455 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 04:10:23 +0200 Subject: [PATCH 289/565] New translations settings.yml (Chinese Simplified) --- config/locales/zh-CN/settings.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/zh-CN/settings.yml b/config/locales/zh-CN/settings.yml index f0b698bf3..ee1aec29d 100644 --- a/config/locales/zh-CN/settings.yml +++ b/config/locales/zh-CN/settings.yml @@ -1 +1,4 @@ zh-CN: + settings: + comments_body_max_length: "评论内容最大长度" + comments_body_max_length_description: "以字符数记" From cb45c7d9074c766c186e746ffb90b56c1132cdab Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 04:10:25 +0200 Subject: [PATCH 290/565] New translations seeds.yml (Chinese Simplified) --- config/locales/zh-CN/seeds.yml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/config/locales/zh-CN/seeds.yml b/config/locales/zh-CN/seeds.yml index 16a73077f..38056d78b 100644 --- a/config/locales/zh-CN/seeds.yml +++ b/config/locales/zh-CN/seeds.yml @@ -19,3 +19,37 @@ zh-CN: culture: 文化 sports: 体育 social_rights: 社会权利 + economy: 经济 + employment: 就业 + equity: 平等 + sustainability: 可持续发展 + participation: 参与 + mobility: 流动性 + media: 媒体 + health: 健康 + transparency: 透明度 + security_emergencies: 安全和紧急情况 + environment: 环境 + budgets: + budget: 参与性预算 + currency: '€' + groups: + all_city: 所有城市 + districts: 地区 + valuator_groups: + culture_and_sports: 文化&体育 + gender_and_diversity: 性别 & 多元化政策 + urban_development: 可持续城市发展 + equity_and_employment: 平等&就业 + statuses: + studying_project: 研究此项目 + bidding: 投票 + executing_project: 执行此项目 + executed: 已执行 + polls: + current_poll: "当前的投票" + current_poll_geozone_restricted: "当前投票地理区域的限制" + incoming_poll: "进来的投票" + recounting_poll: "重新计票" + expired_poll_without_stats: "已过期的投票,没有统计数据&结果" + expired_poll_with_stats: "已过期的投票,有统计数据&结果" From ad0dfad5e0fa12a7dd3a437c1ba6f3531b99994d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 04:20:27 +0200 Subject: [PATCH 291/565] New translations settings.yml (Chinese Simplified) --- config/locales/zh-CN/settings.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/config/locales/zh-CN/settings.yml b/config/locales/zh-CN/settings.yml index ee1aec29d..583c86e82 100644 --- a/config/locales/zh-CN/settings.yml +++ b/config/locales/zh-CN/settings.yml @@ -2,3 +2,18 @@ zh-CN: settings: comments_body_max_length: "评论内容最大长度" comments_body_max_length_description: "以字符数记" + official_level_1_name: "1级公众职员" + official_level_1_name_description: "标记为1级职员职位的用户的标签" + official_level_2_name: "2级公众职员" + official_level_2_name_description: "标记为2级职员职位的用户的标签" + official_level_3_name: "3 级公众职员" + official_level_3_name_description: "标记为3级职员职位的用户的标签" + official_level_4_name: "4级公众职员" + official_level_4_name_description: "标记为4级职员职位的用户的标签" + official_level_5_name: "5级公众职员" + official_level_5_name_description: "标记为5级职员职位的用户的标签" + max_ratio_anon_votes_on_debates: "每次辩论匿名投票的最大比率" + max_ratio_anon_votes_on_debates_description: "匿名投票来自未经过账户核实的注册用户" + max_votes_for_proposal_edit: "对无法再编辑提议的投票数" + max_votes_for_proposal_edit_description: "得到这个数量的支持,提议的作者无法再编辑它" + max_votes_for_debate_edit: "对无法再编辑辩论的投票数" From 3d0dbcdf3eca88895af9803702197f934ba6a7cb Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 04:30:36 +0200 Subject: [PATCH 292/565] New translations settings.yml (Chinese Simplified) --- config/locales/zh-CN/settings.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/locales/zh-CN/settings.yml b/config/locales/zh-CN/settings.yml index 583c86e82..8e335baae 100644 --- a/config/locales/zh-CN/settings.yml +++ b/config/locales/zh-CN/settings.yml @@ -15,5 +15,6 @@ zh-CN: max_ratio_anon_votes_on_debates: "每次辩论匿名投票的最大比率" max_ratio_anon_votes_on_debates_description: "匿名投票来自未经过账户核实的注册用户" max_votes_for_proposal_edit: "对无法再编辑提议的投票数" - max_votes_for_proposal_edit_description: "得到这个数量的支持,提议的作者无法再编辑它" + max_votes_for_proposal_edit_description: "得到这个数量的支持,提议的作者不能再编辑它" max_votes_for_debate_edit: "对无法再编辑辩论的投票数" + max_votes_for_debate_edit_description: "得到这个数量的投票,辩论的作者不能再编辑它" From 64d181cac38085da291a18357458ebbe57988a28 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 09:27:19 +0200 Subject: [PATCH 293/565] New translations activerecord.yml (Valencian) --- config/locales/val/activerecord.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/val/activerecord.yml b/config/locales/val/activerecord.yml index f57cf071f..7231bd73f 100644 --- a/config/locales/val/activerecord.yml +++ b/config/locales/val/activerecord.yml @@ -76,6 +76,9 @@ val: legislation/process: one: "Proces" other: "Processos" + legislation/proposal: + one: "Proposta" + other: "Propostes" legislation/draft_versions: one: "Versió esborrany" other: "Versions esborrany" From fddc6325190344115c387f9807f0b3871b176f19 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 10:10:53 +0200 Subject: [PATCH 294/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index ddc9d1e32..4b5ca0088 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -1 +1,8 @@ ru: + budgets: + ballots: + show: + title: Ваше голосование + amount_spent: Потраченная сумма + remaining: "У вас еще есть <span>%{amount}</span> чтобы инвестировать." + no_balloted_group_yet: "Вы еще не голосовали в этой группе, проголосуйте!" From 89bf1aeefc171285bba2154e942b9e655ad9ed42 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 10:20:50 +0200 Subject: [PATCH 295/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 4b5ca0088..ea61faece 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -6,3 +6,11 @@ ru: amount_spent: Потраченная сумма remaining: "У вас еще есть <span>%{amount}</span> чтобы инвестировать." no_balloted_group_yet: "Вы еще не голосовали в этой группе, проголосуйте!" + remove: Удалить голос + voted_info_html: "Вы можете изменить свой голос в любое время до конца этого этапа.<br> Нет необходимости тратить все имеющиеся деньги." + zero: Вы не проголосовали за какой-либо инвестиционный проект. + reasons_for_not_balloting: + not_logged_in: Вы должны %{signin} или %{signup} чтобы продолжить. + not_verified: Только верифицированные пользователи могут голосовать за инвестиции; %{verify_account}. + organization: Организациям не разрешается голосовать + not_selected: Невыбранные инвестиционные проекты не поддерживаются From 4b9ed6c041cb3146774a2f08477dedb8824fe85d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 10:31:06 +0200 Subject: [PATCH 296/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index ea61faece..a9f7033d8 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -14,3 +14,14 @@ ru: not_verified: Только верифицированные пользователи могут голосовать за инвестиции; %{verify_account}. organization: Организациям не разрешается голосовать not_selected: Невыбранные инвестиционные проекты не поддерживаются + not_enough_money_html: "Вы уже присвоили доступный бюджет.<br><small>Помните, что вы можете %{change_ballot} в любое время</small>" + no_ballots_allowed: Выбор этапа закрыт + different_heading_assigned_html: "Вы уже проголосовали за другой заголовок: %{heading_link}" + change_ballot: измените ваши голоса + groups: + show: + title: Выберите вариант + unfeasible_title: Неосуществимые инвестиции + unfeasible: Ознакомление с неосуществимыми инвестициями + unselected_title: Инвестиции не отобранные для этапа голосования + unselected: Ознакомление с инвестициями не отобранные на этапе голосования From 5888e6d6d335d090eb74c722d521efc8bb829f0f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 10:40:55 +0200 Subject: [PATCH 297/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index a9f7033d8..0f1231297 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -25,3 +25,11 @@ ru: unfeasible: Ознакомление с неосуществимыми инвестициями unselected_title: Инвестиции не отобранные для этапа голосования unselected: Ознакомление с инвестициями не отобранные на этапе голосования + phase: + drafting: Эскиз (Невидим для публики) + informing: Информация + accepting: Принятие проектов + reviewing: Рассмотрение проектов + selecting: Выборочные проекты + valuating: Оцениваемые проекты + publishing_prices: Цены публикации проектов From d93719da46ede1bba4a7ea76c20f4e5875f01903 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 10:50:47 +0200 Subject: [PATCH 298/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 0f1231297..87b8efc4d 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -33,3 +33,12 @@ ru: selecting: Выборочные проекты valuating: Оцениваемые проекты publishing_prices: Цены публикации проектов + balloting: Проекты голосования + reviewing_ballots: Рассмотрение голосования + finished: Готовый бюджет + index: + title: Бюджеты для участия + empty_budgets: Нет бюджетов. + section_header: + icon_alt: Значок участия бюджетов + title: Бюджеты для участия From 2ad456fb191e8b7affb995260f84e14a738d8e94 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 11:06:34 +0200 Subject: [PATCH 299/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 87b8efc4d..c5bfc767a 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -42,3 +42,19 @@ ru: section_header: icon_alt: Значок участия бюджетов title: Бюджеты для участия + help: Помощь с бюджетами для участия + all_phases: Просмотреть все этапы + all_phases: Этапы бюджетной инвестиций + map: Предложения бюджетных инвестиций расположенные географически + investment_proyects: Список всех инвистиционных проектов + unfeasible_investment_proyects: Список всех неосуществимых инвестиционных проектов + not_selected_investment_proyects: Список всех инвестиционных проектов, не отобранных для голосования + finished_budgets: Готовые бюджеты с участием + see_results: Посмотреть результаты + section_footer: + title: Помощь с бюджетами для участия + description: Граждане с участием бюджетов определяют, какие проекты являются частью бюджета. + investments: + form: + tag_category_label: "Категории" + tags_instructions: "Отметьте это предложение. Вы можете выбрать из предлагаемых категорий или добавить свои собственные" From 51068dfd8edc7a1359cae22b58bac2e0e9c8172f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 11:20:46 +0200 Subject: [PATCH 300/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index c5bfc767a..85466252b 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -58,3 +58,13 @@ ru: form: tag_category_label: "Категории" tags_instructions: "Отметьте это предложение. Вы можете выбрать из предлагаемых категорий или добавить свои собственные" + tags_label: Метки + tags_placeholder: "Введите метки которые вы хотели бы использовать, разделенные запятыми (',')" + map_location: "Местоположение на карте" + map_location_instructions: "Перейдите на карте к местоположению и поместите маркер." + map_remove_marker: "Удалить маркер карты" + location: "Дополнительная информация о местоположении" + map_skip_checkbox: "У этой инвестиции нет конкретного местоположения или я не знаю об этом." + index: + title: Участие бюджетирование + unfeasible: Неосуществимые инвестиционные проекты From b8404f027d595b4c7f5e0815bcc144e08d737643 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 11:42:34 +0200 Subject: [PATCH 301/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 85466252b..074224573 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -68,3 +68,17 @@ ru: index: title: Участие бюджетирование unfeasible: Неосуществимые инвестиционные проекты + unfeasible_text: "Инвестиции должны соответствовать ряду критериев (законность, конкретность, быть ответственностью города, не превышать лимит бюджета), быть признаны жизнеспособными и выйти на стадию окончательного голосования. Все инвестиции, не соответствующие этим критериям, помечаются как неосуществимые и публикуются в следующем списке вместе с отчетом о неосуществимости." + by_heading: "Инвестиционные проекты с объемом: %{heading}" + search_form: + button: Поиск + placeholder: Поиск инвестиционных проектов... + title: Поиск + sidebar: + my_ballot: Мой голос + voted_info: Вы можете %{link} в любое время до конца этого этапа. Нет необходимости тратить все имеющиеся деньги. + voted_info_link: изменить ваш голос + different_heading_assigned_html: "У вас есть активные голоса в другом заголовке: %{heading_link}" + change_ballot: "Если вы передумаете, вы можете удалить свои голоса в %{check_ballot} и начать заново." + check_ballot_link: "проверить мое голосование" + zero: Вы не голосовали ни за один инвестиционный проект в этой группе. From 1cdfb50632a7c0072371fcedb51ccce2b47e9089 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 11:48:36 +0200 Subject: [PATCH 302/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 074224573..593821663 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -82,3 +82,14 @@ ru: change_ballot: "Если вы передумаете, вы можете удалить свои голоса в %{check_ballot} и начать заново." check_ballot_link: "проверить мое голосование" zero: Вы не голосовали ни за один инвестиционный проект в этой группе. + verified_only: "Чтобы создать новую бюджетную инвестицию %{verify}." + verify_account: "подтвердите ваш аккаунт" + create: "Создание бюджетных инвестиций" + not_logged_in: "Для создания новой бюджетной инвестиции необходимо %{sign_in} или %{sign_up}." + sign_in: "войти" + sign_up: "регистрация" + by_feasibility: По возможности + feasible: Возможные проекты + unfeasible: Невозможные проекты + orders: + random: случайный From da27bd417a9e906ad7f7663191dfbda1c7a01691 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 11:50:35 +0200 Subject: [PATCH 303/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 593821663..e46d13be2 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -93,3 +93,9 @@ ru: unfeasible: Невозможные проекты orders: random: случайный + confidence_score: наивысший рейтинг + price: по цене + show: + author_deleted: Пользователь удален + price_explanation: Описание цены + unfeasibility_explanation: Объяснение невозможности From 62f84cf43a87db4251baaa83fdf1ec744f943cef Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 12:01:32 +0200 Subject: [PATCH 304/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index e46d13be2..de46ac33b 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -99,3 +99,17 @@ ru: author_deleted: Пользователь удален price_explanation: Описание цены unfeasibility_explanation: Объяснение невозможности + code_html: 'Код инвестиционного проекта: <strong>%{code}</strong>' + location_html: 'Местоположение: <strong>%{location}</strong>' + organization_name_html: 'Предлагается от имени: <strong>%{name}</strong>' + share: Доля + title: Инвестиционный проект + supports: Поддержки + votes: Голоса + price: Цена + comments_tab: Комментарии + milestones_tab: Основные этапы + no_milestones: Не имеет определенных основных этапов + milestone_publication_date: "Опубликованные %{publication_date}" + milestone_status_changed: Инвестиционный статус изменен на + author: Автор From a0fde70fb9617e3f197017f51b97315f684408e8 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 12:22:02 +0200 Subject: [PATCH 305/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index de46ac33b..eaea07eb4 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -113,3 +113,18 @@ ru: milestone_publication_date: "Опубликованные %{publication_date}" milestone_status_changed: Инвестиционный статус изменен на author: Автор + project_unfeasible_html: 'Этот инвестиционный проект <strong>был отмечен как неосуществимый</strong> и не перейдет к этапу голосования.' + project_selected_html: 'Этот инвестиционный проект <strong>был выбран</strong> для этапа голосования.' + project_winner: 'Победный инвестиционный проект' + project_not_selected_html: 'Этот инвестиционный проект <strong>не был выбран</strong> для этапа голосования.' + wrong_price_format: Только целые числа + investment: + add: Голос + already_added: Вы уже добавили этот инвестиционный проект + already_supported: Вы уже поддержали этот инвестиционный проект. Поделитесь! + support_title: Поддержать этот проект + supports: + zero: Нет поддержки + give_support: Поддержка + header: + check_ballot: Проверить вое голосование From c4cb02b275ff9fe98165f6140c0b1efcedf64b65 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 12:31:19 +0200 Subject: [PATCH 306/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index eaea07eb4..3422b65ca 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -128,3 +128,21 @@ ru: give_support: Поддержка header: check_ballot: Проверить вое голосование + different_heading_assigned_html: "У вас есть активные голоса в другом заголовке: %{heading_link}" + change_ballot: "Если вы передумаете, вы можете удалить свои голоса в %{check_ballot} и начать заново." + check_ballot_link: "проверить мое голосование" + price: "Этот заголовок имеет бюджет" + progress_bar: + assigned: "Вы назначили: " + available: "Доступный бюджет: " + show: + group: Группа + phase: Фактический этап + unfeasible_title: Неосуществимые инвестиции + unfeasible: Просмотр неосуществимых инвестиций + unselected_title: Инвестиции не отобранные для этапа голосования + unselected: Просмотр инвестиций не отобранные на этапе голосования + see_results: Просмотр результатов + results: + link: Результаты + page_title: "%{budget} - Результаты" From c7907f13a5064ba464891646fe197eff7c218caf Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 12:50:59 +0200 Subject: [PATCH 307/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 3422b65ca..3578f0546 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -146,3 +146,22 @@ ru: results: link: Результаты page_title: "%{budget} - Результаты" + heading: "Результаты участников бюджета" + heading_selection_title: "По районам" + spending_proposal: Заголовок предложения + ballot_lines_count: Раз выбран + hide_discarded_link: Скрыть отброшенные + show_all_link: Показать все + price: Цена + amount_available: Доступный бюджет + accepted: "Принятое предложение о расходах: " + discarded: "Отклоненное предложение по расходам: " + incompatibles: Несовместимые + investment_proyects: Список всех инвестиционных проектов + unfeasible_investment_proyects: Список всех неосуществимых инвестиционных проектов + not_selected_investment_proyects: Список всех инвестиционных проектов не отобранных для голосования + phases: + errors: + dates_range_invalid: "Дата начала не может быть равной или более поздней Даты окончания" + prev_phase_dates_invalid: "Дата начала должна быть позднее даты начала предыдущего включенного этапа (%{phase_name})" + next_phase_dates_invalid: "Дата окончания должна быть раньше чем дата окончания следующего включенного этапа (%{phase_name})" From 20f603eb5951d615fa51c9af69c7e9ac86d9c2d1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 23:38:26 +0200 Subject: [PATCH 308/565] New translations rails.yml (Chinese Simplified) --- config/locales/zh-CN/rails.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/locales/zh-CN/rails.yml b/config/locales/zh-CN/rails.yml index 3ea38d055..e817b2fca 100644 --- a/config/locales/zh-CN/rails.yml +++ b/config/locales/zh-CN/rails.yml @@ -49,9 +49,9 @@ zh-CN: - 十一月 - 十二月 order: - - ':年' - - ':月' - - ':日' + - :year + - :month + - :day datetime: distance_in_words: about_x_hours: @@ -160,7 +160,7 @@ zh-CN: format: "%n %u" units: byte: - other: 位元组 + other: 字节 gb: GB kb: KB mb: MB From 768367d3dff465d3ad1b6f443c1d55c3c2f0d3f5 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 23:38:28 +0200 Subject: [PATCH 309/565] New translations pages.yml (Chinese Simplified) --- config/locales/zh-CN/pages.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/locales/zh-CN/pages.yml b/config/locales/zh-CN/pages.yml index 81ce386a4..077d790c9 100644 --- a/config/locales/zh-CN/pages.yml +++ b/config/locales/zh-CN/pages.yml @@ -83,7 +83,7 @@ zh-CN: description: 此文件的名称 - field: '此文件的用途:' - description: 管理参与进程是为了控制参与其中的人员的资格,并对公民参与进程产生的结果只进行数据和统计重新计票。 + description: 管理参与进程是为了控制参与其中的人员的资格,并对公民参与进程产生的结果只进行数字和统计重新计票。 - field: '负责此文件的机构:' description: 负责此文件的机构 @@ -98,7 +98,7 @@ zh-CN: 当网站在设计时已考虑到无障碍功能,所有用户都可以在同等条件下访问内容,例如: examples: - - Proporcionando un texto alternativo a las imágenes, los usuarios invidentes o con problemas de visión pueden utilizar lectores especiales para acceder a la información。为图像提供替代文本,盲人或者视觉有障碍的用户可以使用特殊的阅读器来取得资讯。 + - 为图像提供替代文本,盲人或者视觉有障碍的用户可以使用特殊的阅读器来取得资讯。 - 当视频有字幕时,有听力障碍的用户可以完全理解它们。 - 如果内容是用简单的插图语言编写时,有学习障碍的用户也可以更好地理解它们。 - 如果用户有行动障碍并难以使用鼠标,使用键盘的替代方法会有助于导航。 @@ -129,14 +129,14 @@ zh-CN: key_column: 5 page_column: 立法进程 browser_table: - description: '根据操作系统和使用的浏览器,组合键将如下所示:' - caption: 组合键根据所使用的操作系统和浏览器 + description: '根据操作系统和使用的浏览器,组合键如下所示:' + caption: 组合键根据所使用的操作系统和浏览器而不同 browser_header: 浏览器 key_header: 组合键 rows: - browser_column: Explorer - key_column: ALT + 快捷键,然后输入键 + key_column: ALT + 快捷键,然后回车键 - browser_column: Firefox key_column: ALT + CAPS + 快捷键 From 10dd385c7d812685e13e645f01f599514afa851a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 25 Oct 2018 23:38:29 +0200 Subject: [PATCH 310/565] New translations settings.yml (Chinese Simplified) --- config/locales/zh-CN/settings.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/zh-CN/settings.yml b/config/locales/zh-CN/settings.yml index 8e335baae..75fb4c969 100644 --- a/config/locales/zh-CN/settings.yml +++ b/config/locales/zh-CN/settings.yml @@ -13,7 +13,7 @@ zh-CN: official_level_5_name: "5级公众职员" official_level_5_name_description: "标记为5级职员职位的用户的标签" max_ratio_anon_votes_on_debates: "每次辩论匿名投票的最大比率" - max_ratio_anon_votes_on_debates_description: "匿名投票来自未经过账户核实的注册用户" + max_ratio_anon_votes_on_debates_description: "匿名投票来自未经过核实账户的注册用户" max_votes_for_proposal_edit: "对无法再编辑提议的投票数" max_votes_for_proposal_edit_description: "得到这个数量的支持,提议的作者不能再编辑它" max_votes_for_debate_edit: "对无法再编辑辩论的投票数" From 16b842a80db6660ff89cfba7a60d0a25079b08c8 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 08:40:47 +0200 Subject: [PATCH 311/565] New translations activemodel.yml (Russian) --- config/locales/ru/activemodel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/activemodel.yml b/config/locales/ru/activemodel.yml index 25006f304..91b0672fa 100644 --- a/config/locales/ru/activemodel.yml +++ b/config/locales/ru/activemodel.yml @@ -2,7 +2,7 @@ ru: activemodel: models: verification: - residence: "Резиденция" + residence: "Место жительства" sms: "СМС" attributes: verification: From de0186927fff84b1db89e84fab61c7ffafdb0129 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 08:50:35 +0200 Subject: [PATCH 312/565] New translations activemodel.yml (Russian) --- config/locales/ru/activemodel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/activemodel.yml b/config/locales/ru/activemodel.yml index 91b0672fa..c84d53fcd 100644 --- a/config/locales/ru/activemodel.yml +++ b/config/locales/ru/activemodel.yml @@ -12,7 +12,7 @@ ru: date_of_birth: "Дата рождения" postal_code: "Почтовый индекс" sms: - phone: "Телефон" + phone: "Номер телефона" confirmation_code: "Код подтверждения" email: recipient: "Электронный адрес" From dc08ba4aa381dd94aaf65f83bac24fe8487ef457 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 09:40:38 +0200 Subject: [PATCH 313/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 43869875b..1b801d3c1 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -13,7 +13,7 @@ ru: phase: "Этап" currency_symbol: "Валюта" budget/investment: - heading_id: "Заголовок" + heading_id: "Раздел" title: "Заглавие" description: "Описание" external_url: "Ссылка на дополнительную документацию" From f778ee7fe0ada11a16cd6470155865646fc9a1b1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 09:50:59 +0200 Subject: [PATCH 314/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 1b801d3c1..086e3ebc2 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -14,7 +14,7 @@ ru: currency_symbol: "Валюта" budget/investment: heading_id: "Раздел" - title: "Заглавие" + title: "Название" description: "Описание" external_url: "Ссылка на дополнительную документацию" administrator_id: "Администратор" From 229cf784a748d1767344464121338789b4882d1e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 10:30:43 +0200 Subject: [PATCH 315/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 3578f0546..0d8cc6b20 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -8,9 +8,9 @@ ru: no_balloted_group_yet: "Вы еще не голосовали в этой группе, проголосуйте!" remove: Удалить голос voted_info_html: "Вы можете изменить свой голос в любое время до конца этого этапа.<br> Нет необходимости тратить все имеющиеся деньги." - zero: Вы не проголосовали за какой-либо инвестиционный проект. + zero: Вы не проголосовали ни за один инвестиционный проект. reasons_for_not_balloting: - not_logged_in: Вы должны %{signin} или %{signup} чтобы продолжить. + not_logged_in: Чтобы продолжить, %{signin} или %{signup}. not_verified: Только верифицированные пользователи могут голосовать за инвестиции; %{verify_account}. organization: Организациям не разрешается голосовать not_selected: Невыбранные инвестиционные проекты не поддерживаются From dc002b80a836abdb1f6511bf34b8f7ad540f4f09 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 10:42:03 +0200 Subject: [PATCH 316/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 0d8cc6b20..96397f3c7 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -15,15 +15,15 @@ ru: organization: Организациям не разрешается голосовать not_selected: Невыбранные инвестиционные проекты не поддерживаются not_enough_money_html: "Вы уже присвоили доступный бюджет.<br><small>Помните, что вы можете %{change_ballot} в любое время</small>" - no_ballots_allowed: Выбор этапа закрыт + no_ballots_allowed: Этап выбора закрыт different_heading_assigned_html: "Вы уже проголосовали за другой заголовок: %{heading_link}" - change_ballot: измените ваши голоса + change_ballot: изменить голоса groups: show: title: Выберите вариант unfeasible_title: Неосуществимые инвестиции unfeasible: Ознакомление с неосуществимыми инвестициями - unselected_title: Инвестиции не отобранные для этапа голосования + unselected_title: Инвестиции, не отобранные для голосования unselected: Ознакомление с инвестициями не отобранные на этапе голосования phase: drafting: Эскиз (Невидим для публики) From c0f8195875c02de8c4c93b71f05d4c25bc27eefd Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 10:51:22 +0200 Subject: [PATCH 317/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 96397f3c7..64c23886e 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -23,10 +23,10 @@ ru: title: Выберите вариант unfeasible_title: Неосуществимые инвестиции unfeasible: Ознакомление с неосуществимыми инвестициями - unselected_title: Инвестиции, не отобранные для голосования - unselected: Ознакомление с инвестициями не отобранные на этапе голосования + unselected_title: Инвестиции не отобраны для голосования + unselected: Ознакомление с инвестициями, не отобранными на голосование phase: - drafting: Эскиз (Невидим для публики) + drafting: Черновик (Невидим для остальных пользователей) informing: Информация accepting: Принятие проектов reviewing: Рассмотрение проектов From 96b6697e288a894ca5eddfbff8b85339da0461c5 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 11:01:17 +0200 Subject: [PATCH 318/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 64c23886e..b09c9777e 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -30,8 +30,8 @@ ru: informing: Информация accepting: Принятие проектов reviewing: Рассмотрение проектов - selecting: Выборочные проекты - valuating: Оцениваемые проекты + selecting: Выбор проектов + valuating: Оценивание проектов publishing_prices: Цены публикации проектов balloting: Проекты голосования reviewing_ballots: Рассмотрение голосования From c82adf77ad13ad823461db4cef2e38553cd6a667 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 11:11:32 +0200 Subject: [PATCH 319/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index b09c9777e..51098ace4 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -32,8 +32,8 @@ ru: reviewing: Рассмотрение проектов selecting: Выбор проектов valuating: Оценивание проектов - publishing_prices: Цены публикации проектов - balloting: Проекты голосования + publishing_prices: Публикация стоимости проектов + balloting: Голосование за проекты reviewing_ballots: Рассмотрение голосования finished: Готовый бюджет index: From f14a873d3e7c28aa37979dbdb0c21b2b0ad69401 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 11:21:20 +0200 Subject: [PATCH 320/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 51098ace4..5ef2213ee 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -37,14 +37,14 @@ ru: reviewing_ballots: Рассмотрение голосования finished: Готовый бюджет index: - title: Бюджеты для участия + title: Партисипаторные бюджеты empty_budgets: Нет бюджетов. section_header: - icon_alt: Значок участия бюджетов - title: Бюджеты для участия - help: Помощь с бюджетами для участия + icon_alt: Иконка партисипаторных бюджетов + title: Партисипаторные бюджеты + help: Помощь с партисипаторными бюджетами all_phases: Просмотреть все этапы - all_phases: Этапы бюджетной инвестиций + all_phases: Этапы инвестиций бюджета map: Предложения бюджетных инвестиций расположенные географически investment_proyects: Список всех инвистиционных проектов unfeasible_investment_proyects: Список всех неосуществимых инвестиционных проектов From a75c369a526898799f3609a8f486d6d0e34bdc23 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 12:34:50 +0200 Subject: [PATCH 321/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 5ef2213ee..98f2ff4d8 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -45,14 +45,14 @@ ru: help: Помощь с партисипаторными бюджетами all_phases: Просмотреть все этапы all_phases: Этапы инвестиций бюджета - map: Предложения бюджетных инвестиций расположенные географически + map: Предложения бюджетных инвестиций, расположенные географически investment_proyects: Список всех инвистиционных проектов unfeasible_investment_proyects: Список всех неосуществимых инвестиционных проектов not_selected_investment_proyects: Список всех инвестиционных проектов, не отобранных для голосования - finished_budgets: Готовые бюджеты с участием + finished_budgets: Выполненные партисипаторные бюджеты see_results: Посмотреть результаты section_footer: - title: Помощь с бюджетами для участия + title: Помощь с партисипаторными бюджетами description: Граждане с участием бюджетов определяют, какие проекты являются частью бюджета. investments: form: From 540c2a7c203a9fb1ced6556965aa32c55aa1f583 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 12:50:53 +0200 Subject: [PATCH 322/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 98f2ff4d8..eeb1240ba 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -53,7 +53,7 @@ ru: see_results: Посмотреть результаты section_footer: title: Помощь с партисипаторными бюджетами - description: Граждане с участием бюджетов определяют, какие проекты являются частью бюджета. + description: По условиям партисипного бюджетирования, граждане решают, на какие проекты будет направлена часть бюджета. investments: form: tag_category_label: "Категории" From 6271adf716a3790e7f42666753f5e05d5fa8545c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 13:01:10 +0200 Subject: [PATCH 323/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index eeb1240ba..816203fa4 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -59,14 +59,14 @@ ru: tag_category_label: "Категории" tags_instructions: "Отметьте это предложение. Вы можете выбрать из предлагаемых категорий или добавить свои собственные" tags_label: Метки - tags_placeholder: "Введите метки которые вы хотели бы использовать, разделенные запятыми (',')" + tags_placeholder: "Введите метки, которые вы бы хотели использовать, разделенные запятыми (',')" map_location: "Местоположение на карте" map_location_instructions: "Перейдите на карте к местоположению и поместите маркер." map_remove_marker: "Удалить маркер карты" location: "Дополнительная информация о местоположении" map_skip_checkbox: "У этой инвестиции нет конкретного местоположения или я не знаю об этом." index: - title: Участие бюджетирование + title: Партисипаторное бюджетирование unfeasible: Неосуществимые инвестиционные проекты unfeasible_text: "Инвестиции должны соответствовать ряду критериев (законность, конкретность, быть ответственностью города, не превышать лимит бюджета), быть признаны жизнеспособными и выйти на стадию окончательного голосования. Все инвестиции, не соответствующие этим критериям, помечаются как неосуществимые и публикуются в следующем списке вместе с отчетом о неосуществимости." by_heading: "Инвестиционные проекты с объемом: %{heading}" From 32abeaf99956f4f9cf4e7eccc5d9c83164190daa Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 13:20:55 +0200 Subject: [PATCH 324/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 816203fa4..4496caaca 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -84,7 +84,7 @@ ru: zero: Вы не голосовали ни за один инвестиционный проект в этой группе. verified_only: "Чтобы создать новую бюджетную инвестицию %{verify}." verify_account: "подтвердите ваш аккаунт" - create: "Создание бюджетных инвестиций" + create: "Создать бюджетную инвестицию" not_logged_in: "Для создания новой бюджетной инвестиции необходимо %{sign_in} или %{sign_up}." sign_in: "войти" sign_up: "регистрация" From da018bfa0bab2546938bd4180e25cc5974b0e2a7 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 20:21:28 +0200 Subject: [PATCH 325/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 086e3ebc2..8ae2be3a0 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -20,7 +20,7 @@ ru: administrator_id: "Администратор" location: "Местоположение (опционально)" organization_name: "Если вы делаете предложение от имени коллектива/организации или от имени большего числа людей, напишите его название" - image: "Описательное изображение предложения" + image: "Иллюстративное изображение предложения" image_title: "Заглавие изображения" budget/investment/milestone: status_id: "Текущий инвестиционный статус (опционально)" From 48f5e0443904c5ea184b364b0bae91ab9fcdadb6 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 20:31:04 +0200 Subject: [PATCH 326/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 8ae2be3a0..aef3c6e58 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -21,17 +21,17 @@ ru: location: "Местоположение (опционально)" organization_name: "Если вы делаете предложение от имени коллектива/организации или от имени большего числа людей, напишите его название" image: "Иллюстративное изображение предложения" - image_title: "Заглавие изображения" + image_title: "Название изображения" budget/investment/milestone: status_id: "Текущий инвестиционный статус (опционально)" - title: "Заглавие" + title: "Название" description: "Описание (опционально, если присвоен статус)" publication_date: "Дата публикации" budget/investment/status: name: "Имя" description: "Описание (опционально)" budget/heading: - name: "Название заголовка" + name: "Название раздела" price: "Цена" population: "Население" comment: @@ -41,10 +41,10 @@ ru: author: "Автор" description: "Мнение" terms_of_service: "Условия предоставления услуг" - title: "Заглавие" + title: "Название" proposal: author: "Автор" - title: "Заглавие" + title: "Название" question: "Вопрос" description: "Описание" terms_of_service: "Условия предоставления услуг" From f2c36082a944ee1741bbd82ac520b9de9909e603 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 20:40:27 +0200 Subject: [PATCH 327/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index aef3c6e58..d4a589774 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -58,7 +58,7 @@ ru: phone_number: "Номер телефона" official_position: "Официальная позиция" official_level: "Официальный уровень" - redeemable_code: "Код подтверждения полученный по электронной почте" + redeemable_code: "Код подтверждения получен по электронному адресу" organization: name: "Название организации" responsible_name: "Лицо, ответственное за группу" @@ -68,7 +68,7 @@ ru: description: "Описание" external_url: "Ссылка на дополнительную документацию" geozone_id: "Сфера деятельности" - title: "Заглавие" + title: "Название" poll: name: "Имя" starts_at: "Дата начала" @@ -76,14 +76,20 @@ ru: geozone_restricted: "Ограничено геозоном" summary: "Резюме" description: "Описание" + poll/translation: + name: "Имя" + summary: "Резюме" + description: "Описание" poll/question: title: "Вопрос" summary: "Резюме" description: "Описание" external_url: "Ссылка на дополнительную документацию" + poll/question/translation: + title: "Вопрос" signature_sheet: signable_type: "Подписываемый тип" - signable_id: "Подписываемый ID" + signable_id: "Подписываемое ID" document_numbers: "Номера документов" site_customization/page: content: Содержание @@ -91,11 +97,15 @@ ru: subtitle: Субтитр slug: Слизень status: Статус - title: Заглавие - updated_at: Обновлено на + title: Название + updated_at: Обновлено в more_info_flag: Показать на странице справки print_content_flag: Кнопка печати содержимого locale: Язык + site_customization/page/translation: + title: Название + subtitle: Субтитр + content: Содержание site_customization/image: name: Имя image: Изображение From c24afe21294a0e61d43fc4c7b6f84a1354a35aed Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 20:50:57 +0200 Subject: [PATCH 328/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 36 +++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index d4a589774..f73b7afc8 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -114,48 +114,68 @@ ru: locale: место действия body: Тело legislation/process: - title: Заглавие процесса + title: Название процесса summary: Резюме description: Описание additional_info: Дополнительная информация start_date: Дата начала end_date: Дата окончания - debate_start_date: Дата начала дебатов - debate_end_date: Дата окончания дебатов + debate_start_date: Дата начала обсуждения + debate_end_date: Дата окончания обсуждения draft_publication_date: Дата публикации проекта allegations_start_date: Дата начала заявлений allegations_end_date: Дата окончания заявлений result_publication_date: Дата публикации окончательного результата + legislation/process/translation: + title: Название процесса + summary: Резюме + description: Описание + additional_info: Дополнительная информация legislation/draft_version: - title: Заглавие версии + title: Название версии body: Текст changelog: Изменения status: Статус final_version: Окончательная версия + legislation/draft_version/translation: + title: Название версии + body: Текст + changelog: Изменения legislation/question: - title: Заглавие + title: Название question_options: Опции legislation/question_option: value: Значение legislation/annotation: text: Отзыв document: - title: Заглавие + title: Название attachment: Прикрепление image: - title: Заглавие + title: Название attachment: Прикрепление poll/question/answer: title: Ответ description: Описание + poll/question/answer/translation: + title: Ответ + description: Описание poll/question/answer/video: - title: Заглавие + title: Название url: Внешнее видео newsletter: segment_recipient: Получатели subject: Тема from: От body: Содержание электронной почты + admin_notification: + segment_recipient: Получатели + title: Название + link: Ссылка + body: Текст + admin_notification/translation: + title: Название + body: Текст widget/card: label: Метка (опционально) title: Заглавие From 2a65e3393a164161fcec5845914b1b097ea993a9 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 26 Oct 2018 21:00:50 +0200 Subject: [PATCH 329/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index f73b7afc8..1eec1da9f 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -178,10 +178,15 @@ ru: body: Текст widget/card: label: Метка (опционально) - title: Заглавие + title: Название description: Описание link_text: Ссылка текста link_url: Ссылка URL + widget/card/translation: + label: Метка (опционально) + title: Название + description: Описание + link_text: Ссылка текста widget/feed: limit: Количество предметов errors: From 889d660b80922f15fa2b6bcb66d6ba976c95a89a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 03:11:08 +0200 Subject: [PATCH 330/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 4496caaca..7b8f8e77a 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -89,8 +89,8 @@ ru: sign_in: "войти" sign_up: "регистрация" by_feasibility: По возможности - feasible: Возможные проекты - unfeasible: Невозможные проекты + feasible: Осуществимые проекты + unfeasible: Неосуществимые проекты orders: random: случайный confidence_score: наивысший рейтинг From 29c6367deab2a26f8ade81888f45c789447d8f08 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 03:20:26 +0200 Subject: [PATCH 331/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 7b8f8e77a..7cf130bd6 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -127,7 +127,7 @@ ru: zero: Нет поддержки give_support: Поддержка header: - check_ballot: Проверить вое голосование + check_ballot: Проверить мое голосование different_heading_assigned_html: "У вас есть активные голоса в другом заголовке: %{heading_link}" change_ballot: "Если вы передумаете, вы можете удалить свои голоса в %{check_ballot} и начать заново." check_ballot_link: "проверить мое голосование" @@ -140,8 +140,8 @@ ru: phase: Фактический этап unfeasible_title: Неосуществимые инвестиции unfeasible: Просмотр неосуществимых инвестиций - unselected_title: Инвестиции не отобранные для этапа голосования - unselected: Просмотр инвестиций не отобранные на этапе голосования + unselected_title: Инвестиции не отобранны для этапа голосования + unselected: Просмотр инвестиций, не отобранных на голосование see_results: Просмотр результатов results: link: Результаты From 54915173929ad7d15b9198bc36439e2725ca346f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 03:30:26 +0200 Subject: [PATCH 332/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 7cf130bd6..8c574277e 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -146,8 +146,8 @@ ru: results: link: Результаты page_title: "%{budget} - Результаты" - heading: "Результаты участников бюджета" - heading_selection_title: "По районам" + heading: "Результаты партисипаторного бюджета" + heading_selection_title: "По участкам" spending_proposal: Заголовок предложения ballot_lines_count: Раз выбран hide_discarded_link: Скрыть отброшенные From 023b189966344b80458d64ec7b03fff5c85ade5a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 03:40:27 +0200 Subject: [PATCH 333/565] New translations budgets.yml (Russian) --- config/locales/ru/budgets.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/ru/budgets.yml b/config/locales/ru/budgets.yml index 8c574277e..7e47bd865 100644 --- a/config/locales/ru/budgets.yml +++ b/config/locales/ru/budgets.yml @@ -149,7 +149,7 @@ ru: heading: "Результаты партисипаторного бюджета" heading_selection_title: "По участкам" spending_proposal: Заголовок предложения - ballot_lines_count: Раз выбран + ballot_lines_count: Время выбрано hide_discarded_link: Скрыть отброшенные show_all_link: Показать все price: Цена @@ -159,9 +159,9 @@ ru: incompatibles: Несовместимые investment_proyects: Список всех инвестиционных проектов unfeasible_investment_proyects: Список всех неосуществимых инвестиционных проектов - not_selected_investment_proyects: Список всех инвестиционных проектов не отобранных для голосования + not_selected_investment_proyects: Список всех инвестиционных проектов, не отобранных для голосования phases: errors: dates_range_invalid: "Дата начала не может быть равной или более поздней Даты окончания" prev_phase_dates_invalid: "Дата начала должна быть позднее даты начала предыдущего включенного этапа (%{phase_name})" - next_phase_dates_invalid: "Дата окончания должна быть раньше чем дата окончания следующего включенного этапа (%{phase_name})" + next_phase_dates_invalid: "Дата окончания должна быть раньше, чем дата окончания следующего включенного этапа (%{phase_name})" From 5ad09b623ffbb7c178680fef2d338a71aed0613c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 03:50:28 +0200 Subject: [PATCH 334/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 1eec1da9f..feb951610 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -73,7 +73,7 @@ ru: name: "Имя" starts_at: "Дата начала" ends_at: "Дата закрытия" - geozone_restricted: "Ограничено геозоном" + geozone_restricted: "Ограничено геозоной" summary: "Резюме" description: "Описание" poll/translation: @@ -88,7 +88,7 @@ ru: poll/question/translation: title: "Вопрос" signature_sheet: - signable_type: "Подписываемый тип" + signable_type: "Тип подписания" signable_id: "Подписываемое ID" document_numbers: "Номера документов" site_customization/page: From 3d3614e985c55f7ecefe4e8c0d0b2ff0afdada16 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 04:10:27 +0200 Subject: [PATCH 335/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index feb951610..e1a31ef35 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -95,7 +95,7 @@ ru: content: Содержание created_at: Создано в subtitle: Субтитр - slug: Слизень + slug: Slug URL status: Статус title: Название updated_at: Обновлено в @@ -111,7 +111,7 @@ ru: image: Изображение site_customization/content_block: name: Имя - locale: место действия + locale: региональный язык body: Тело legislation/process: title: Название процесса From c6cee0d027f6786de485bf81fc61bd29a4ec6a75 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 04:21:08 +0200 Subject: [PATCH 336/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index e1a31ef35..4c01c001d 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -180,13 +180,13 @@ ru: label: Метка (опционально) title: Название description: Описание - link_text: Ссылка текста + link_text: Текст ссылки link_url: Ссылка URL widget/card/translation: label: Метка (опционально) title: Название description: Описание - link_text: Ссылка текста + link_text: Текст ссылки widget/feed: limit: Количество предметов errors: @@ -202,7 +202,7 @@ ru: direct_message: attributes: max_per_day: - invalid: "Вы достигли максимального количества личных сообщений в день" + invalid: "Вы достигли лимита максимального количества личных сообщений в день" image: attributes: attachment: From 89a549ab37afae4fd566fb637b511a36e869a5b3 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 04:31:03 +0200 Subject: [PATCH 337/565] New translations activerecord.yml (Russian) --- config/locales/ru/activerecord.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/locales/ru/activerecord.yml b/config/locales/ru/activerecord.yml index 4c01c001d..efecc08c2 100644 --- a/config/locales/ru/activerecord.yml +++ b/config/locales/ru/activerecord.yml @@ -228,11 +228,11 @@ ru: legislation/process: attributes: end_date: - invalid_date_range: должно быть до или после даты начала + invalid_date_range: должно быть не раньше даты начала debate_end_date: - invalid_date_range: должно быть до или после даты начала дебатов + invalid_date_range: должно быть не раньше даты начала дебатов allegations_end_date: - invalid_date_range: должно быть до или после даты начала заявлений + invalid_date_range: должно быть не раньше даты начала заявлений proposal: attributes: tag_list: @@ -249,7 +249,7 @@ ru: attributes: document_number: not_in_census: 'Не проверено переписью' - already_voted: 'Уже проголосовано это предложение' + already_voted: 'Уже проголосовано за это предложение' site_customization/page: attributes: slug: From 3099f20bb4490479c2072a4badb477916a919b3c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 23:50:29 +0200 Subject: [PATCH 338/565] New translations rails.yml (Spanish, Chile) --- config/locales/es-CL/rails.yml | 47 ++++++++++++++++++++++------------ 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/config/locales/es-CL/rails.yml b/config/locales/es-CL/rails.yml index af6cb1348..4994bb370 100644 --- a/config/locales/es-CL/rails.yml +++ b/config/locales/es-CL/rails.yml @@ -10,18 +10,18 @@ es-CL: - sáb abbr_month_names: - - - Jan + - Ene - Feb - Mar - - Apr + - Abr - May - Jun - Jul - - Aug + - Ago - Sep - Oct - Nov - - Dec + - Dic day_names: - domingo - lunes @@ -36,21 +36,21 @@ es-CL: short: "%d de %b" month_names: - - - January - - February - - March - - April - - May - - June - - July - - August - - September - - October - - November - - December + - Enero + - Febrero + - Marzo + - Abril + - Mayo + - Junio + - Julio + - Agosto + - Septiembre + - Octubre + - Noviembre + - Diciembre order: - :day - - :month + - :mes - :year datetime: distance_in_words: @@ -147,12 +147,14 @@ es-CL: format: delimiter: "." format: "%n %u" + precision: 2 separator: "," significant: false strip_insignificant_zeros: false unit: "€" format: delimiter: "." + precision: 3 separator: "," significant: false strip_insignificant_zeros: false @@ -167,14 +169,25 @@ es-CL: format: significant: true strip_insignificant_zeros: true + storage_units: + units: + gb: GB + kb: KB + mb: MB + tb: TB + percentage: + format: + format: "%n%" support: array: last_word_connector: " y " two_words_connector: " y " time: + am: am formats: datetime: "%d/%m/%Y %H:%M:%S" default: "%A, %d de %B de %Y %H:%M:%S %z" long: "%d de %B de %Y %H:%M" short: "%d de %b %H:%M" api: "%d/%m/%Y %H" + pm: pm From afdea00d17cff53f8b3501068facc18f191786a0 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 23:50:31 +0200 Subject: [PATCH 339/565] New translations moderation.yml (Spanish, Chile) --- config/locales/es-CL/moderation.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/config/locales/es-CL/moderation.yml b/config/locales/es-CL/moderation.yml index d08c809ab..08c3e0a50 100644 --- a/config/locales/es-CL/moderation.yml +++ b/config/locales/es-CL/moderation.yml @@ -43,7 +43,9 @@ es-CL: title: Moderación menu: flagged_comments: Comentarios + flagged_investments: Inversiones de presupuesto proposals: Propuestas + proposal_notifications: Notificaciones de propuestas users: Bloquear usuarios proposals: index: @@ -64,6 +66,15 @@ es-CL: created_at: Más recientes flags: Más denunciadas title: Propuestas + budget_investments: + index: + block_authors: Bloquear autores + confirm: '¿Estás seguro?' + filter: Filtro + filters: + all: Todas + pending_flag_review: Pendiente + with_ignored_flag: Marcados como revisados users: index: hidden: Bloqueado From 52988ea08c8e673f580b0472dfef5869c2180054 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 23:50:33 +0200 Subject: [PATCH 340/565] New translations devise.yml (Spanish, Chile) --- config/locales/es-CL/devise.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/es-CL/devise.yml b/config/locales/es-CL/devise.yml index d52a6ba79..a58bdf68c 100644 --- a/config/locales/es-CL/devise.yml +++ b/config/locales/es-CL/devise.yml @@ -37,6 +37,7 @@ es-CL: updated: "Tu contraseña ha cambiado correctamente. Has sido identificado correctamente." updated_not_active: "Tu contraseña se ha cambiado correctamente." registrations: + destroyed: "¡Adiós! Tu cuenta ha sido cancelada. Esperamos verte pronto otra vez." signed_up: "¡Bienvenido! Has sido identificado." signed_up_but_inactive: "Te has registrado correctamente, pero no has podido iniciar sesión porque tu cuenta no ha sido activada." signed_up_but_locked: "Te has registrado correctamente, pero no has podido iniciar sesión porque tu cuenta está bloqueada." From 638dc1f5d9da5ccf9b36b0239ce96ba51f56f19e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 23:50:34 +0200 Subject: [PATCH 341/565] New translations pages.yml (Spanish, Chile) --- config/locales/es-CL/pages.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/locales/es-CL/pages.yml b/config/locales/es-CL/pages.yml index 8841e33c0..e3c948748 100644 --- a/config/locales/es-CL/pages.yml +++ b/config/locales/es-CL/pages.yml @@ -1,6 +1,14 @@ es-CL: pages: + conditions: + title: Términos y condiciones de uso + subtitle: AVISO LEGAL SOBRE LAS CONDICIONES DE USO, PRIVACIDAD Y PROTECCIÓN DE DATOS DE CARÁCTER PERSONAL DEL PORTAL DE GOBIERNO ABIERTO general_terms: Términos y Condiciones + help: + menu: + budgets: "Presupuestos participativos" + polls: "Votaciones" + other: "Otra información de interés" titles: accessibility: Accesibilidad conditions: Condiciones de uso From 594111678bacd39b652a21286e27718bfc0e9fb6 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 23:50:36 +0200 Subject: [PATCH 342/565] New translations activerecord.yml (Spanish, Chile) --- config/locales/es-CL/activerecord.yml | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/config/locales/es-CL/activerecord.yml b/config/locales/es-CL/activerecord.yml index 076f3f1c1..826b5101f 100644 --- a/config/locales/es-CL/activerecord.yml +++ b/config/locales/es-CL/activerecord.yml @@ -182,11 +182,17 @@ es-CL: geozone_restricted: "Restringida por zonas" summary: "Resumen" description: "Descripción" + poll/translation: + name: "Nombre" + summary: "Resumen" + description: "Descripción" poll/question: title: "Pregunta" summary: "Resumen" description: "Descripción" external_url: "Enlace a documentación adicional" + poll/question/translation: + title: "Pregunta" signature_sheet: signable_type: "Tipo de hoja de firmas" signable_id: "ID Propuesta ciudadana/Propuesta inversión" @@ -202,6 +208,10 @@ es-CL: more_info_flag: Mostrar en la página de ayuda print_content_flag: Botón de imprimir contenido locale: Idioma + site_customization/page/translation: + title: Título + subtitle: Subtítulo + content: Contenido site_customization/image: name: Nombre image: Imagen @@ -222,12 +232,19 @@ es-CL: allegations_start_date: Fecha de inicio de alegaciones allegations_end_date: Fecha de fin de alegaciones result_publication_date: Fecha de publicación del resultado final + legislation/process/translation: + summary: Resumen + description: Descripción + additional_info: Información adicional legislation/draft_version: title: Título de la version body: Texto changelog: Cambios status: Estado final_version: Versión final + legislation/draft_version/translation: + body: Texto + changelog: Cambios legislation/question: title: Título question_options: Respuestas @@ -244,6 +261,9 @@ es-CL: poll/question/answer: title: Respuesta description: Descripción + poll/question/answer/translation: + title: Respuesta + description: Descripción poll/question/answer/video: title: Título url: Vídeo externo @@ -252,12 +272,25 @@ es-CL: subject: Asunto from: Enviado por body: Contenido del email + admin_notification: + segment_recipient: Destinatarios + title: Título + link: Enlace + body: Texto + admin_notification/translation: + title: Título + body: Texto widget/card: label: Etiqueta (opcional) title: Título description: Descripción link_text: Texto del enlace link_url: URL del enlace + widget/card/translation: + label: Etiqueta (opcional) + title: Título + description: Descripción + link_text: Texto del enlace widget/feed: limit: Número de items errors: From fdd77ce1d3e1a1c17846223dd48b1a01b54ca1fe Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 27 Oct 2018 23:50:37 +0200 Subject: [PATCH 343/565] New translations i18n.yml (Spanish, Chile) --- config/locales/es-CL/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-CL/i18n.yml b/config/locales/es-CL/i18n.yml index d967dec0b..8c94c995b 100644 --- a/config/locales/es-CL/i18n.yml +++ b/config/locales/es-CL/i18n.yml @@ -1 +1,4 @@ es-CL: + i18n: + language: + name: "Inglés" From fd0e2ab78dd77ae8a4ec520913f370aa1d26dd67 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sun, 28 Oct 2018 00:00:28 +0200 Subject: [PATCH 344/565] New translations pages.yml (Spanish, Chile) --- config/locales/es-CL/pages.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/config/locales/es-CL/pages.yml b/config/locales/es-CL/pages.yml index e3c948748..fc14f5d0e 100644 --- a/config/locales/es-CL/pages.yml +++ b/config/locales/es-CL/pages.yml @@ -9,12 +9,41 @@ es-CL: budgets: "Presupuestos participativos" polls: "Votaciones" other: "Otra información de interés" + proposals: + title: "Propuestas" + link: "propuestas ciudadanas" + budgets: + link: "presupuestos participativos" + polls: + title: "Votaciones" + faq: + title: "¿Problemas técnicos?" + page: + title: "Preguntas Frecuentes" + faq_1_title: "Pregunta 1" + other: + title: "Otra información de interés" + privacy: + title: Política de Privacidad + accessibility: + keyboard_shortcuts: + navigation_table: + rows: + - + - + - + - + - + page_column: Presupuestos participativos + - + page_column: Procesos legislativos titles: accessibility: Accesibilidad conditions: Condiciones de uso privacy: Política de Privacidad verify: code: Código que has recibido en tu carta + email: Correo electrónico info_code: 'Ahora introduce el código que has recibido en tu carta:' password: Contraseña submit: Verificar mi cuenta From 02139c8206304a0eedf670752ff037a6d9ecec89 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 29 Oct 2018 08:10:28 +0100 Subject: [PATCH 345/565] New translations activerecord.yml (Galician) --- config/locales/gl/activerecord.yml | 35 ++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/config/locales/gl/activerecord.yml b/config/locales/gl/activerecord.yml index 1dcf54523..45b962c57 100644 --- a/config/locales/gl/activerecord.yml +++ b/config/locales/gl/activerecord.yml @@ -185,11 +185,17 @@ gl: geozone_restricted: "Restrinxida por zonas" summary: "Resumo" description: "Descrición" + poll/translation: + name: "Nome" + summary: "Resumo" + description: "Descrición" poll/question: title: "Pregunta" summary: "Resumo" description: "Descrición" external_url: "Ligazón á documentación adicional" + poll/question/translation: + title: "Pregunta" signature_sheet: signable_type: "Tipo de sinaturas" signable_id: "ID de proposta cidadá/proposta de investimento" @@ -205,6 +211,10 @@ gl: more_info_flag: Amosar na páxina de axuda print_content_flag: Botón de imprimir o contido locale: Idioma + site_customization/page/translation: + title: Título + subtitle: Subtítulo + content: Contido site_customization/image: name: Nome image: Imaxe @@ -225,12 +235,21 @@ gl: allegations_start_date: Data en que comezan as alegacións allegations_end_date: Data en que rematan as alegacións result_publication_date: Data de publicación do resultado final + legislation/process/translation: + title: Título do proceso + summary: Resumo + description: Descrición + additional_info: Información adicional legislation/draft_version: title: Título da versión body: Texto changelog: Cambios status: Estado final_version: Versión final + legislation/draft_version/translation: + title: Título da versión + body: Texto + changelog: Cambios legislation/question: title: Título question_options: Opcións @@ -247,6 +266,9 @@ gl: poll/question/answer: title: Resposta description: Descrición + poll/question/answer/translation: + title: Resposta + description: Descrición poll/question/answer/video: title: Título url: Vídeo externo @@ -255,12 +277,25 @@ gl: subject: Asunto from: De body: Contido da mensaxe + admin_notification: + segment_recipient: Destinatarios + title: Título + link: Ligazón + body: Texto + admin_notification/translation: + title: Título + body: Texto widget/card: label: Etiqueta (opcional) title: Título description: Descrición link_text: Texto da ligazón link_url: URL da ligazón + widget/card/translation: + label: Etiqueta (opcional) + title: Título + description: Descrición + link_text: Texto da ligazón widget/feed: limit: Número de elementos errors: From b90c2993b4ff605f4d693346f6e2c66fad3ec768 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 29 Oct 2018 13:19:13 +0100 Subject: [PATCH 346/565] New translations rails.yml (Arabic) --- config/locales/ar/rails.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/config/locales/ar/rails.yml b/config/locales/ar/rails.yml index ca109b1b4..52a057c5e 100644 --- a/config/locales/ar/rails.yml +++ b/config/locales/ar/rails.yml @@ -2,14 +2,14 @@ ar: date: abbr_month_names: - - - Jan - - Feb - - Mar - - Apr - - May - - Jun - - Jul - - Aug + - يناير + - فبراير + - مارس + - أبريل + - مايو + - يونيو + - يوليو + - أغسطس - Sep - Oct - Nov From ea63b2768a49c8e1530b895f4caf21acca2fde6c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 29 Oct 2018 13:21:09 +0100 Subject: [PATCH 347/565] New translations rails.yml (Arabic) --- config/locales/ar/rails.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/config/locales/ar/rails.yml b/config/locales/ar/rails.yml index 52a057c5e..946ec948b 100644 --- a/config/locales/ar/rails.yml +++ b/config/locales/ar/rails.yml @@ -10,10 +10,18 @@ ar: - يونيو - يوليو - أغسطس - - Sep - - Oct - - Nov - - Dec + - سبتمبر + - أكتوبر + - نوفمبر + - ديسمبر + day_names: + - الأحد + - الاثنين + - الثلاثاء + - الأربعاء + - الخميس + - الجمعة + - السبت month_names: - - January From 6b8e4edf14826516211bef742c473f72c4825280 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 29 Oct 2018 13:41:17 +0100 Subject: [PATCH 348/565] New translations rails.yml (Arabic) --- config/locales/ar/rails.yml | 43 ++++++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 12 deletions(-) diff --git a/config/locales/ar/rails.yml b/config/locales/ar/rails.yml index 946ec948b..051e73879 100644 --- a/config/locales/ar/rails.yml +++ b/config/locales/ar/rails.yml @@ -1,5 +1,13 @@ ar: date: + abbr_day_names: + - الأحد + - الاثنين + - الثلاثاء + - الأربعاء + - الخميس + - الجمعة + - السبت abbr_month_names: - - يناير @@ -24,18 +32,29 @@ ar: - السبت month_names: - - - January - - February - - March - - April - - May - - June - - July - - August - - September - - October - - November - - December + - يناير + - فبراير + - مارس + - أبريل + - مايو + - يونيو + - يوليو + - أغسطس + - سبتمبر + - أكتوبر + - نوفمبر + - ديسمبر + order: + - ':السنة' + - ':الشهر' + - ':اليوم' + datetime: + prompts: + year: السنة + errors: + messages: + present: يجب أن تكون فارغة + confirmation: لا يتطابق مع %{attribute} number: human: format: From 6c1a3b0b6ab5d0d076513fa2cc5ebdb575e2dc4c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 29 Oct 2018 14:41:56 +0100 Subject: [PATCH 349/565] New translations rails.yml (Arabic) --- config/locales/ar/rails.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/locales/ar/rails.yml b/config/locales/ar/rails.yml index 051e73879..311fcae60 100644 --- a/config/locales/ar/rails.yml +++ b/config/locales/ar/rails.yml @@ -53,8 +53,9 @@ ar: year: السنة errors: messages: - present: يجب أن تكون فارغة + present: يجب أن يكون فارغا confirmation: لا يتطابق مع %{attribute} + empty: لا يمكن أن يكون فارغا number: human: format: From d00c905af523ee548b37cb0cc4a504022d4cc5c6 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 29 Oct 2018 15:12:51 +0100 Subject: [PATCH 350/565] New translations rails.yml (Arabic) --- config/locales/ar/rails.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/locales/ar/rails.yml b/config/locales/ar/rails.yml index 311fcae60..e2133b5f0 100644 --- a/config/locales/ar/rails.yml +++ b/config/locales/ar/rails.yml @@ -58,6 +58,12 @@ ar: empty: لا يمكن أن يكون فارغا number: human: + decimal_units: + units: + billion: مليار + million: مليون + quadrillion: كوادريليون + thousand: ألف format: significant: true strip_insignificant_zeros: true From 41c035f0bdd287469c94b102efc2b4e5a293447e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 29 Oct 2018 15:51:47 +0100 Subject: [PATCH 351/565] New translations rails.yml (Arabic) --- config/locales/ar/rails.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/locales/ar/rails.yml b/config/locales/ar/rails.yml index e2133b5f0..db0668c96 100644 --- a/config/locales/ar/rails.yml +++ b/config/locales/ar/rails.yml @@ -64,6 +64,12 @@ ar: million: مليون quadrillion: كوادريليون thousand: ألف + trillion: تريليون format: significant: true strip_insignificant_zeros: true + storage_units: + units: + gb: غيغا بايت + kb: كيلو بايت + tb: تيرابايت From 88990d2e859761c8196e7137eb4b22e197a522e9 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 31 Oct 2018 17:40:51 +0100 Subject: [PATCH 352/565] New translations activerecord.yml (Spanish) --- config/locales/es/activerecord.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/config/locales/es/activerecord.yml b/config/locales/es/activerecord.yml index 0f81f3a97..9fcf3e454 100644 --- a/config/locales/es/activerecord.yml +++ b/config/locales/es/activerecord.yml @@ -182,11 +182,17 @@ es: geozone_restricted: "Restringida por zonas" summary: "Resumen" description: "Descripción" + poll/translation: + name: "Nombre" + summary: "Resumen" + description: "Descripción" poll/question: title: "Pregunta" summary: "Resumen" description: "Descripción" external_url: "Enlace a documentación adicional" + poll/question/translation: + title: "Pregunta" signature_sheet: signable_type: "Tipo de hoja de firmas" signable_id: "ID Propuesta ciudadana/Proyecto de gasto" @@ -202,6 +208,10 @@ es: more_info_flag: Mostrar en la página de ayuda print_content_flag: Botón de imprimir contenido locale: Idioma + site_customization/page/translation: + title: Título + subtitle: Subtítulo + content: Contenido site_customization/image: name: Nombre image: Imagen @@ -222,6 +232,11 @@ es: allegations_start_date: Fecha de inicio de alegaciones allegations_end_date: Fecha de fin de alegaciones result_publication_date: Fecha de publicación del resultado final + legislation/process/translation: + title: Título del proceso + summary: Resumen + description: En qué consiste + additional_info: Información adicional legislation/draft_version: title: Título de la version body: Texto From 10ec521318c186333b8d5128c3d07f6db078b5d1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 31 Oct 2018 18:00:46 +0100 Subject: [PATCH 353/565] New translations activerecord.yml (Spanish) --- config/locales/es/activerecord.yml | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/config/locales/es/activerecord.yml b/config/locales/es/activerecord.yml index 9fcf3e454..ac197335e 100644 --- a/config/locales/es/activerecord.yml +++ b/config/locales/es/activerecord.yml @@ -76,6 +76,9 @@ es: legislation/process: one: "Proceso" other: "Procesos" + legislation/proposal: + one: "Propuesta" + other: "Propuestas" legislation/draft_versions: one: "Versión borrador" other: "Versiones borrador" @@ -243,6 +246,10 @@ es: changelog: Cambios status: Estado final_version: Versión final + legislation/draft_version/translation: + title: Título de la versión + body: Texto + changelog: Cambios legislation/question: title: Título question_options: Respuestas @@ -259,6 +266,9 @@ es: poll/question/answer: title: Respuesta description: Descripción + poll/question/answer/translation: + title: Título + description: Descripción poll/question/answer/video: title: Título url: Vídeo externo @@ -267,12 +277,25 @@ es: subject: Asunto from: Enviado por body: Contenido del email + admin_notification: + segment_recipient: Destinatarios + title: Título + link: Enlace + body: Texto + admin_notification/translation: + title: Título + body: Texto widget/card: label: Etiqueta (opcional) title: Título description: Descripción link_text: Texto del enlace link_url: URL del enlace + widget/card/translation: + label: Etiqueta (opcional) + title: Título + description: Descripción + link_text: Texto del enlace widget/feed: limit: Número de elementos errors: @@ -297,7 +320,7 @@ es: newsletter: attributes: segment_recipient: - invalid: "El segmento de usuarios es inválido" + invalid: "El usuario del destinatario es inválido" admin_notification: attributes: segment_recipient: From de2aa3a5f249e8aed9798b9f0819060349d042fc Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 31 Oct 2018 18:00:47 +0100 Subject: [PATCH 354/565] New translations valuation.yml (Spanish) --- config/locales/es/valuation.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/locales/es/valuation.yml b/config/locales/es/valuation.yml index 48fb68846..f762260b2 100644 --- a/config/locales/es/valuation.yml +++ b/config/locales/es/valuation.yml @@ -35,6 +35,7 @@ es: table_title: Título table_heading_name: Nombre de la partida table_actions: Acciones + no_investments: "No hay proyectos de gasto." show: back: Volver title: Proyecto de gasto @@ -74,7 +75,7 @@ es: notice: valuate: "Dossier actualizado" valuation_comments: Comentarios de evaluación - not_in_valuating_phase: Los proyectos sólo pueden ser evaluados cuando el Presupuesto este en fase de evaluación + not_in_valuating_phase: Los proyectos sólo pueden ser evaluados cuando el Presupuesto esté en fase de evaluación spending_proposals: index: geozone_filter_all: Todos los ámbitos de actuación From f15dfecb6975792c86634f99f7246faadac3e234 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 31 Oct 2018 18:00:49 +0100 Subject: [PATCH 355/565] New translations legislation.yml (Spanish) --- config/locales/es/legislation.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/locales/es/legislation.yml b/config/locales/es/legislation.yml index d5d4b531c..03f4724fd 100644 --- a/config/locales/es/legislation.yml +++ b/config/locales/es/legislation.yml @@ -52,6 +52,9 @@ es: more_info: Más información y contexto proposals: empty_proposals: No hay propuestas + filters: + random: Aleatorias + winners: Seleccionadas debate: empty_questions: No hay preguntas participate: Realiza tus aportaciones al debate previo participando en los siguientes temas. @@ -82,6 +85,7 @@ es: key_dates: Fechas clave debate_dates: Debate previo draft_publication_date: Publicación borrador + allegations_dates: Comentarios result_publication_date: Publicación resultados proposals_dates: Propuestas questions: From c80e2d3b24e5ab801965e13e960e4c203f5c409e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 31 Oct 2018 18:10:40 +0100 Subject: [PATCH 356/565] New translations budgets.yml (Spanish) --- config/locales/es/budgets.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/config/locales/es/budgets.yml b/config/locales/es/budgets.yml index e4714f6e5..d493d6daa 100644 --- a/config/locales/es/budgets.yml +++ b/config/locales/es/budgets.yml @@ -56,6 +56,7 @@ es: see_results: Ver resultados section_footer: title: Ayuda sobre presupuestos participativos + description: Con los presupuestos participativos la ciudadanía decide a qué proyectos va destinada una parte del presupuesto. investments: form: tag_category_label: "Categorías" @@ -70,7 +71,7 @@ es: index: title: Presupuestos participativos unfeasible: Propuestas de inversión no viables - unfeasible_text: "Los proyectos presentados deben cumplir una serie de criterios (legalidad, concreción, ser competencia del Ayuntamiento, no superar el tope del presupuesto) para ser declarados viables y llegar hasta la fase de votación final. Todos las proyectos que no cumplen estos criterios son marcados como inviables y publicados en la siguiente lista, junto con su informe de inviabilidad." + unfeasible_text: "Los proyectos presentados deben cumplir una serie de criterios (legalidad, concreción, ser competencia del Ayuntamiento, no superar el tope del presupuesto) para ser declarados viables y llegar hasta la fase de votación final. Todos los proyectos que no cumplen estos criterios son marcados como inviables y publicados en la siguiente lista, junto con su informe de inviabilidad." by_heading: "Propuestas de inversión con ámbito: %{heading}" search_form: button: Buscar @@ -119,9 +120,12 @@ es: milestones_tab: Seguimiento no_milestones: No hay hitos definidos milestone_publication_date: "Publicado el %{publication_date}" + milestone_status_changed: El proyecto ha cambiado al estado author: Autor - project_unfeasible_html: 'Este proyecto de inversión <strong>ha sido marcado como inviable</strong> y no pasará a la fase de votación.' - project_not_selected_html: 'Este proyecto de inversión <strong>no ha sido seleccionado</strong> para la fase de votación.' + project_unfeasible_html: 'Este proyecto de gasto <strong>ha sido marcado como inviable</strong> y no pasará a la fase de votación.' + project_selected_html: 'Este proyecto de gasto <strong>ha sido seleccionado</strong> para la fase de votación.' + project_winner: 'Proyecto de gasto ganador' + project_not_selected_html: 'Este proyecto de gasto <strong>no ha sido seleccionado</strong> para la fase de votación.' wrong_price_format: Solo puede incluir caracteres numéricos investment: add: Votar @@ -129,7 +133,7 @@ es: already_supported: Ya has apoyado este proyecto de inversión. ¡Compártelo! support_title: Apoyar este proyecto confirm_group: - one: "Sólo puedes apoyar proyectos en %{count} distritos. Si sigues adelante no podrás cambiar la elección de este distrito. ¿Estás seguro?" + one: "Sólo puedes apoyar proyectos en %{count} distrito. Si sigues adelante no podrás cambiar la elección de este distrito. ¿Estás seguro?" other: "Sólo puedes apoyar proyectos en %{count} distritos. Si sigues adelante no podrás cambiar la elección de este distrito. ¿Estás seguro?" supports: zero: Sin apoyos From 1ae9cc8cc1e4394d7dc4e40c0427f22ffbec01bb Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 31 Oct 2018 18:10:42 +0100 Subject: [PATCH 357/565] New translations documents.yml (Spanish) --- config/locales/es/documents.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/es/documents.yml b/config/locales/es/documents.yml index a3c7e30ea..d7fe47fe8 100644 --- a/config/locales/es/documents.yml +++ b/config/locales/es/documents.yml @@ -7,6 +7,7 @@ es: title_placeholder: Añade un título descriptivo para el documento attachment_label: Selecciona un documento delete_button: Eliminar documento + cancel_button: Cancelar note: "Puedes subir hasta un máximo de %{max_documents_allowed} documentos en los formatos: %{accepted_content_types}, y de hasta %{max_file_size} MB por archivo." add_new_document: Añadir nuevo documento actions: From 06f2a479d1e4f40b3ede6692a6d7e0396ea423cc Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 31 Oct 2018 18:30:43 +0100 Subject: [PATCH 358/565] New translations devise.yml (Spanish) --- config/locales/es/devise.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/es/devise.yml b/config/locales/es/devise.yml index 8db935332..9cd10c0a0 100644 --- a/config/locales/es/devise.yml +++ b/config/locales/es/devise.yml @@ -37,6 +37,7 @@ es: updated: "Tu contraseña ha cambiado correctamente. Has sido identificado correctamente." updated_not_active: "Tu contraseña se ha cambiado correctamente." registrations: + destroyed: "¡Adiós! Tu cuenta ha sido cancelada. Esperamos volver a verte pronto." signed_up: "¡Bienvenido! Has sido identificado." signed_up_but_inactive: "Te has registrado correctamente, pero no has podido iniciar sesión porque tu cuenta no ha sido activada." signed_up_but_locked: "Te has registrado correctamente, pero no has podido iniciar sesión porque tu cuenta está bloqueada." From acb92f11b08fc94f625da7e78a7459a0f0fcb9ad Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 31 Oct 2018 18:30:46 +0100 Subject: [PATCH 359/565] New translations devise_views.yml (Spanish) --- config/locales/es/devise_views.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/es/devise_views.yml b/config/locales/es/devise_views.yml index e9381701a..3f45671e5 100644 --- a/config/locales/es/devise_views.yml +++ b/config/locales/es/devise_views.yml @@ -16,6 +16,7 @@ es: confirmation_instructions: confirm_link: Confirmar mi cuenta text: 'Puedes confirmar tu cuenta de correo electrónico en el siguiente enlace:' + title: Bienvenido/a welcome: Bienvenido/a reset_password_instructions: change_link: Cambiar mi contraseña From 5462ca9aaab445fc86d68d022f85a589ad8b2267 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Wed, 31 Oct 2018 18:30:47 +0100 Subject: [PATCH 360/565] New translations responders.yml (Spanish) --- config/locales/es/responders.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/es/responders.yml b/config/locales/es/responders.yml index 3674a0290..1910acd95 100644 --- a/config/locales/es/responders.yml +++ b/config/locales/es/responders.yml @@ -29,6 +29,7 @@ es: budget_investment: "Proyecto de gasto actualizado correctamente" topic: "Tema actualizado correctamente." valuator_group: "Grupo de evaluadores actualizado correctamente" + translation: "Traducción actualizada correctamente" destroy: spending_proposal: "Propuesta de inversión eliminada." budget_investment: "Proyecto de gasto eliminado." From 5d0ccdc1c575d9464ec954735b9768bb5e2dfeaf Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 1 Nov 2018 18:31:58 +0100 Subject: [PATCH 361/565] New translations rails.yml (Arabic) --- config/locales/ar/rails.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/config/locales/ar/rails.yml b/config/locales/ar/rails.yml index db0668c96..82c38059e 100644 --- a/config/locales/ar/rails.yml +++ b/config/locales/ar/rails.yml @@ -50,12 +50,21 @@ ar: - ':اليوم' datetime: prompts: + minute: دقيقة + month: شهر + second: ثواني year: السنة errors: messages: present: يجب أن يكون فارغا confirmation: لا يتطابق مع %{attribute} empty: لا يمكن أن يكون فارغا + helpers: + select: + prompt: الرجاء الإختيار + submit: + create: إنشاء %{model} + submit: حفظ %{model} number: human: decimal_units: From 9f65537d2ba4ebbedfdacd91c65453205f1a9ddf Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 1 Nov 2018 18:40:44 +0100 Subject: [PATCH 362/565] New translations rails.yml (Arabic) --- config/locales/ar/rails.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/locales/ar/rails.yml b/config/locales/ar/rails.yml index 82c38059e..8096c6092 100644 --- a/config/locales/ar/rails.yml +++ b/config/locales/ar/rails.yml @@ -75,6 +75,7 @@ ar: thousand: ألف trillion: تريليون format: + precision: 3 significant: true strip_insignificant_zeros: true storage_units: @@ -82,3 +83,6 @@ ar: gb: غيغا بايت kb: كيلو بايت tb: تيرابايت + support: + array: + two_words_connector: " و " From 2e792389f7cc78e0c9a97f9c01e1c07e862639cb Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 1 Nov 2018 18:40:46 +0100 Subject: [PATCH 363/565] New translations moderation.yml (Arabic) --- config/locales/ar/moderation.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/locales/ar/moderation.yml b/config/locales/ar/moderation.yml index 236f63d76..1ac28d56b 100644 --- a/config/locales/ar/moderation.yml +++ b/config/locales/ar/moderation.yml @@ -8,6 +8,7 @@ ar: all: الكل pending_flag_review: معلق hide_comments: إخفاء التعليقات + order: طلب orders: newest: الأحدث title: التعليقات @@ -31,6 +32,9 @@ ar: filters: all: الكل order: ترتيب حسب + proposal_notifications: + index: + order: الطلب من طرف users: index: hidden: محظور From b1d7e5fac63b98d462a16fa0bf4ea47909d347ae Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 1 Nov 2018 18:40:47 +0100 Subject: [PATCH 364/565] New translations pages.yml (Arabic) --- config/locales/ar/pages.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/locales/ar/pages.yml b/config/locales/ar/pages.yml index c257bc08a..3bd954424 100644 --- a/config/locales/ar/pages.yml +++ b/config/locales/ar/pages.yml @@ -1 +1,5 @@ ar: + pages: + general_terms: شروط و قوانين الإستخدام + help: + guide: "هذا الدليل يوضح ما الهدف من الأقسام %{org} وكيفية عملها." From c5c1a88532af624afbcd140832c341ab04b99bc6 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Thu, 1 Nov 2018 18:50:51 +0100 Subject: [PATCH 365/565] New translations pages.yml (Arabic) --- config/locales/ar/pages.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/locales/ar/pages.yml b/config/locales/ar/pages.yml index 3bd954424..790708114 100644 --- a/config/locales/ar/pages.yml +++ b/config/locales/ar/pages.yml @@ -3,3 +3,5 @@ ar: general_terms: شروط و قوانين الإستخدام help: guide: "هذا الدليل يوضح ما الهدف من الأقسام %{org} وكيفية عملها." + faq: + title: "مشاكل فنية؟" From 14d456d00ec30542402e8154d4e84a0fc3ad6082 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 11:10:49 +0100 Subject: [PATCH 366/565] New translations admin.yml (Spanish) --- config/locales/es/admin.yml | 63 +++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index f7f043421..18e29dde0 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -31,6 +31,15 @@ es: target_url: Enlace post_started_at: Inicio de publicación post_ended_at: Fin de publicación + sections_label: Secciones en las que aparece + sections: + homepage: Homepage + debates: Debates + proposals: Propuestas + budgets: Presupuestos participativos + help_page: Página de ayuda + background_color: Color de fondo + font_color: Color del texto edit: editing: Editar el banner form: @@ -58,6 +67,7 @@ es: on_debates: Debates on_proposals: Propuestas on_users: Usuarios + on_system_emails: Emails del sistema title: Actividad de los Moderadores type: Tipo no_activity: No hay actividad de moderadores. @@ -118,6 +128,8 @@ es: table_amount: Cantidad table_population: Población population_info: "El campo población de las partidas presupuestarias se usa con fines estadísticos únicamente, con el objetivo de mostrar el porcentaje de votos habidos en cada partida que represente un área con población. Es un campo opcional, así que puedes dejarlo en blanco si no aplica." + max_votable_headings: "Máximo número de partidas en que un usuario puede votar" + current_of_max_headings: "%{current} de %{max}" winners: calculate: Calcular proyectos ganadores calculated: Calculando ganadores, puede tardar un minuto. @@ -156,6 +168,7 @@ es: selected: Seleccionados undecided: Sin decidir unfeasible: Inviables + min_total_supports: Apoyos mínimos winners: Ganadores one_filter_html: "Filtros en uso: <b><em>%{filter}</em></b>" two_filters_html: "Filtros en uso: <b><em>%{filter}, %{advanced_filters}</em></b>" @@ -174,6 +187,20 @@ es: undecided: "Sin decidir" selected: "Seleccionada" select: "Seleccionar" + list: + id: ID + title: Título + supports: Apoyos + admin: Administrador + valuator: Evaluador + valuation_group: Grupos evaluadores + geozone: Ámbito de actuación + feasibility: Viabilidad + valuation_finished: Ev. Fin. + selected: Seleccionado + visible_to_valuators: Mostrar a evaluadores + author_username: Usuario autor + incompatible: Incompatible cannot_calculate_winners: El presupuesto debe estar en las fases "Votación final", "Votación finalizada" o "Resultados" para poder calcular las propuestas ganadoras see_results: "Ver resultados" show: @@ -234,12 +261,16 @@ es: table_title: "Título" table_description: "Descripción" table_publication_date: "Fecha de publicación" + table_status: Estado table_actions: "Acciones" delete: "Eliminar hito" no_milestones: "No hay hitos definidos" image: "Imagen" show_image: "Mostrar imagen" documents: "Documentos" + form: + admin_statuses: Gestionar estados de proyectos + no_statuses_defined: No hay estados definidos new: creating: Crear hito date: Fecha @@ -252,6 +283,26 @@ es: notice: Hito actualizado delete: notice: Hito borrado correctamente + statuses: + index: + title: Estados de proyectos + empty_statuses: Aún no se ha creado ningún estado de proyecto + new_status: Crear nuevo estado de proyecto + table_name: Nombre + table_description: Descripción + table_actions: Acciones + delete: Borrar + edit: Editar + edit: + title: Editar estado de proyecto + update: + notice: Estado de proyecto editado correctamente + new: + title: Crear estado de proyecto + create: + notice: Estado de proyecto creado correctamente + delete: + notice: Estado de proyecto eliminado correctamente comments: index: filter: Filtro @@ -292,6 +343,15 @@ es: hidden_at: 'Bloqueado:' registered_at: 'Fecha de alta:' title: Actividad del usuario (%{user}) + hidden_budget_investments: + index: + filter: Filtro + filters: + all: Todos + with_confirmed_hide: Confirmados + without_confirmed_hide: Pendientes + title: Proyectos de gasto ocultos + no_hidden_budget_investments: No hay proyectos de gasto ocultos legislation: processes: create: @@ -312,6 +372,7 @@ es: enabled: Habilitado process: Proceso debate_phase: Fase previa + allegations_phase: Fase de comentarios proposals_phase: Fase de propuestas start: Inicio end: Fin @@ -333,6 +394,8 @@ es: back: Volver title: Crear nuevo proceso de legislación colaborativa submit_button: Crear proceso + proposals: + select_order: Ordenar por process: title: Proceso comments: Comentarios From 350874cfa2794d4edb7930b6dea0999e83a7cb06 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 11:21:33 +0100 Subject: [PATCH 367/565] New translations admin.yml (Spanish) --- config/locales/es/admin.yml | 60 +++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index 18e29dde0..6172453d2 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -396,6 +396,8 @@ es: submit_button: Crear proceso proposals: select_order: Ordenar por + orders: + id: Id process: title: Proceso comments: Comentarios @@ -615,6 +617,31 @@ es: body: Contenido del email body_help_text: Así es como verán el email los usuarios send_alert: '¿Estás seguro/a de que quieres enviar esta newsletter a %{n} usuarios?' + admin_notifications: + show: + send: Enviar notificación + will_get_notified: (%{n} usuarios serán notificados) + got_notified: (%{n} usuarios fueron notificados) + sent_at: Enviado + title: Título + body: Texto + link: Enlace + segment_recipient: Destinatarios + preview_guide: "Así es como los usuarios verán la notificación:" + sent_guide: "Así es como los usuarios ven la notificación:" + send_alert: '¿Estás seguro/a de que quieres enviar esta notificación a %{n} usuarios?' + system_emails: + preview_pending: + action: Previsualizar pendientes + preview_of: Vista previa de %{name} + pending_to_be_sent: Este es todo el contenido pendiente de enviar + moderate_pending: Moderar envío de notificación + send_pending: Enviar pendientes + send_pending_notification: Notificaciones pendientes enviadas correctamente + proposal_notification_digest: + title: Resumen de Notificationes de Propuestas + description: Reune todas las notificaciones de propuestas en un único mensaje, para evitar demasiados emails. + preview_detail: Los usuarios sólo recibirán las notificaciones de aquellas propuestas que siguen. emails_download: index: title: Descarga de emails @@ -652,6 +679,7 @@ es: updated: "Evaluador actualizado correctamente" show: description: "Descripción" + email: "Email" group: "Grupo" no_description: "Sin descripción" no_group: "Sin grupo" @@ -709,6 +737,7 @@ es: search_officer_placeholder: Buscar presidentes de mesa search_officer_text: Busca al presidente de mesa para asignar un turno select_date: "Seleccionar día" + no_voting_days: "Los días de votación han terminado" select_task: "Seleccionar tarea" table_shift: "Turno" table_email: "Email" @@ -950,6 +979,15 @@ es: without_confirmed_hide: Pendientes title: Propuestas ocultas no_hidden_proposals: No hay propuestas ocultas. + proposal_notifications: + index: + filter: Filtro + filters: + all: Todas + with_confirmed_hide: Confirmadas + without_confirmed_hide: Pendientes + title: Notificaciones ocultas + no_hidden_proposals: No hay notificaciones ocultas. settings: flash: updated: Valor actualizado @@ -973,6 +1011,12 @@ es: update: La configuración del mapa se ha guardado correctamente. form: submit: Actualizar + setting: Funcionalidad + setting_actions: Acciones + setting_name: Configuración + setting_status: Estado + setting_value: Valor + no_description: "Sin descripción" shared: booths_search: button: Buscar @@ -1000,6 +1044,11 @@ es: image: Imagen show_image: Mostrar imagen moderated_content: "Revisa el contenido moderado por los moderadores, y confirma si la moderación se ha realizado correctamente." + view: Ver + proposal: Propuesta + author: Autor + content: Contenido + created_at: Fecha de creación spending_proposals: index: geozone_filter_all: Todos los ámbitos de actuación @@ -1212,6 +1261,11 @@ es: content_block: body: Contenido name: Nombre + names: + top_links: Enlaces superiores + footer: Pie de página + subnavigation_left: Navegación principal izquierda + subnavigation_right: Navegación principal derecha images: index: title: Personalizar imágenes @@ -1254,7 +1308,9 @@ es: status_draft: Borrador status_published: Publicada title: Título + slug: Slug homepage: + title: Título description: Los módulos activos aparecerán en la homepage en el mismo orden que aquí. header_title: Encabezado no_header: No hay encabezado. @@ -1269,6 +1325,7 @@ es: link_url: URL del enlace feeds: proposals: Propuestas + debates: Debates processes: Procesos new: header_title: Nuevo encabezado @@ -1280,3 +1337,6 @@ es: submit_header: Guardar encabezado card_title: Editar tarjeta submit_card: Guardar tarjeta + translations: + remove_language: Eliminar idioma + add_language: Añadir idioma From 03bed0399edbd7fdce48b85f0d525f6e64e1f857 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 11:33:24 +0100 Subject: [PATCH 368/565] New translations admin.yml (Spanish) --- config/locales/es/admin.yml | 57 +++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index 6172453d2..5e8a52822 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -398,6 +398,8 @@ es: select_order: Ordenar por orders: id: Id + title: Título + supports: Apoyos process: title: Proceso comments: Comentarios @@ -413,10 +415,16 @@ es: proposals: Propuestas proposals: index: + title: Título back: Volver + id: Id + supports: Apoyos + select: Seleccionar + selected: Seleccionada form: custom_categories: Categorías custom_categories_description: Categorías que el usuario puede seleccionar al crear la propuesta. + custom_categories_placeholder: Escribe las etiquetas que desees separadas por una coma (,) y entrecomilladas ("") draft_versions: create: notice: 'Borrador creado correctamente. <a href="%{link}">Haz click para verlo</a>' @@ -524,10 +532,16 @@ es: hidden_comments: Comentarios ocultos hidden_debates: Debates ocultos hidden_proposals: Propuestas ocultas + hidden_budget_investments: Proyectos de gasto ocultos + hidden_proposal_notifications: Notificationes de propuesta ocultas hidden_users: Usuarios bloqueados administrators: Administradores managers: Gestores moderators: Moderadores + messaging_users: Mensajes a usuarios + newsletters: Newsletters + admin_notifications: Notificaciones + system_emails: Emails del sistema emails_download: Descarga de emails valuators: Evaluadores poll_officers: Presidentes de mesa @@ -542,13 +556,29 @@ es: stats: Estadísticas signature_sheets: Hojas de firmas site_customization: + homepage: Homepage + pages: Personalizar páginas + images: Personalizar imágenes content_blocks: Personalizar bloques + information_texts: Personalizar textos + information_texts_menu: + debates: "Debates" + community: "Comunidad" + proposals: "Propuestas" + polls: "Votaciones" + layouts: "Plantillas" + mailers: "Correos" + management: "Gestión" + welcome: "Bienvenido/a" + buttons: + save: "Guardar cambios" title_moderated_content: Contenido moderado title_budgets: Presupuestos title_polls: Votaciones title_profiles: Perfiles title_settings: Configuración title_site_customization: Contenido del sitio + title_booths: Urnas de votación legislation: Legislación colaborativa users: Usuarios administrators: @@ -610,6 +640,9 @@ es: title: Vista previa de newsletter send: Enviar affected_users: (%{n} usuarios afectados) + sent_emails: + one: 1 correo enviado + other: "%{count} correos enviados" sent_at: Enviado subject: Asunto segment_recipient: Destinatarios @@ -618,7 +651,31 @@ es: body_help_text: Así es como verán el email los usuarios send_alert: '¿Estás seguro/a de que quieres enviar esta newsletter a %{n} usuarios?' admin_notifications: + create_success: Notificación creada correctamente + update_success: Notificación actualizada correctamente + send_success: Notificación enviada correctamente + delete_success: Notificación borrada correctamente + index: + section_title: Envío de notificaciones + new_notification: Crear notificación + title: Título + segment_recipient: Destinatarios + sent: Enviado + actions: Acciones + draft: Borrador + edit: Editar + delete: Borrar + preview: Previsualizar + view: Visualizar + empty_notifications: No hay notificaciones para mostrar + new: + section_title: Nueva notificación + submit_button: Crear notificación + edit: + section_title: Editar notificación + submit_button: Actualizar notificación show: + section_title: Vista previa de notificación send: Enviar notificación will_get_notified: (%{n} usuarios serán notificados) got_notified: (%{n} usuarios fueron notificados) From f9dc3e81ba01f8806e11074a174278007c9d0512 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 11:42:03 +0100 Subject: [PATCH 369/565] New translations admin.yml (Spanish) --- config/locales/es/admin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index 5e8a52822..7218d6a68 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -68,7 +68,7 @@ es: on_proposals: Propuestas on_users: Usuarios on_system_emails: Emails del sistema - title: Actividad de los Moderadores + title: Actividad de Moderadores type: Tipo no_activity: No hay actividad de moderadores. budgets: From 041377a92f93638a48705dbfe200f4ce532026db Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 11:51:06 +0100 Subject: [PATCH 370/565] New translations general.yml (Spanish) --- config/locales/es/general.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/config/locales/es/general.yml b/config/locales/es/general.yml index 1437c2c5a..6c9505fc7 100644 --- a/config/locales/es/general.yml +++ b/config/locales/es/general.yml @@ -20,6 +20,9 @@ es: email_on_direct_message_label: Recibir emails con mensajes privados email_digest_label: Recibir resumen de notificaciones sobre propuestas official_position_badge_label: Mostrar etiqueta de tipo de usuario + recommendations: Recomendaciones + show_debates_recommendations: Mostrar recomendaciones en el listado de debates + show_proposals_recommendations: Mostrar recomendaciones en el listado de propuestas title: Mi cuenta user_permission_debates: Participar en debates user_permission_info: Con tu cuenta ya puedes... @@ -110,6 +113,10 @@ es: recommendations: without_results: No existen debates relacionados con tus intereses without_interests: Sigue propuestas para que podamos darte recomendaciones + disable: "Si ocultas las recomendaciones para debates, no se volverán a mostrar. Puedes volver a activarlas en 'Mi cuenta'" + actions: + success: "Las recomendaciones de debates han sido desactivadas" + error: "Ha ocurrido un error. Por favor dirígete al apartado 'Mi cuenta' para desactivar las recomendaciones manualmente" search_form: button: Buscar placeholder: Buscar debates... @@ -314,6 +321,7 @@ es: geozone: Ámbito de actuación proposal_external_url: Enlace a documentación adicional proposal_question: Pregunta de la propuesta + proposal_question_example_html: "Debe ser resumida en una pregunta cuya respuesta sea Sí o No" proposal_responsible_name: Nombre y apellidos de la persona que hace esta propuesta proposal_responsible_name_note: "(individualmente o como representante de un colectivo; no se mostrará públicamente)" proposal_summary: Resumen de la propuesta @@ -346,6 +354,10 @@ es: recommendations: without_results: No existen propuestas relacionadas con tus intereses without_interests: Sigue propuestas para que podamos darte recomendaciones + disable: "Si ocultas las recomendaciones para propuestas, no se volverán a mostrar. Puedes volver a activarlas en 'Mi cuenta'" + actions: + success: "Las recomendaciones de propuestas han sido desactivadas" + error: "Ha ocurrido un error. Por favor dirígete al apartado 'Mi cuenta' para desactivar las recomendaciones manualmente" retired_proposals: Propuestas retiradas retired_proposals_link: "Propuestas retiradas por sus autores" retired_links: @@ -374,6 +386,7 @@ es: help: Ayuda sobre las propuestas section_footer: title: Ayuda sobre las propuestas + description: Las propuestas ciudadanas son una oportunidad para que los vecinos y colectivos decidan directamente cómo quieren que sea su ciudad, después de conseguir los apoyos suficientes y de someterse a votación ciudadana. new: form: submit_button: Crear propuesta @@ -411,6 +424,7 @@ es: supports_necessary: "%{number} apoyos necesarios" total_percent: 100% archived: "Esta propuesta ha sido archivada y ya no puede recoger apoyos." + successful: "Esta propuesta ha alcanzado los apoyos necesarios." show: author_deleted: Usuario eliminado code: 'Código de la propuesta:' @@ -436,6 +450,9 @@ es: update: form: submit_button: Guardar cambios + share: + message: "He apoyado la propuesta %{summary} en %{org}. Si te interesa, ¡apoya tú también!" + message_mobile: "He apoyado la propuesta %{summary} en %{handle}. Si te interesa, ¡apoya tú también!" polls: all: "Todas" no_dates: "sin fecha asignada" @@ -454,6 +471,8 @@ es: geozone_restricted: "Distritos" geozone_info: "Pueden participar las personas empadronadas en: " already_answer: "Ya has participado en esta votación" + not_logged_in: "Necesitas iniciar sesión o registrarte para participar" + unverified: "Por favor verifica tu cuenta para participar" section_header: icon_alt: Icono de Votaciones title: Votaciones From d210315ecad7bd36c2c777c66216280dd602b3d4 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 12:01:11 +0100 Subject: [PATCH 371/565] New translations mailers.yml (Spanish) --- config/locales/es/mailers.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/locales/es/mailers.yml b/config/locales/es/mailers.yml index 6daaa4df9..2f1281be5 100644 --- a/config/locales/es/mailers.yml +++ b/config/locales/es/mailers.yml @@ -11,6 +11,7 @@ es: email_verification: click_here_to_verify: en este enlace instructions_2_html: Este email es para verificar tu cuenta con <b>%{document_type} %{document_number}</b>. Si esos no son tus datos, por favor no pulses el enlace anterior e ignora este email. + instructions_html: Para terminar de verificar tu cuenta de usuario pulsa %{verification_link}. subject: Verifica tu email thanks: Muchas gracias. title: Verifica tu cuenta con el siguiente enlace @@ -43,6 +44,7 @@ es: title_html: "Has enviado un nuevo mensaje privado a <strong>%{receiver}</strong> con el siguiente contenido:" user_invite: ignore: "Si no has solicitado esta invitación no te preocupes, puedes ignorar este correo." + text: "¡Gracias por solicitar unirte a %{org}! En unos segundos podrás empezar a participar, sólo tienes que rellenar el siguiente formulario:" thanks: "Muchas gracias." title: "Bienvenido a %{org}" button: Completar registro From 32ff16a0b72a1669e9cfad0ae2e185a83e76dbf3 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 12:01:13 +0100 Subject: [PATCH 372/565] New translations general.yml (Spanish) --- config/locales/es/general.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/config/locales/es/general.yml b/config/locales/es/general.yml index 6c9505fc7..8c2212dae 100644 --- a/config/locales/es/general.yml +++ b/config/locales/es/general.yml @@ -473,12 +473,14 @@ es: already_answer: "Ya has participado en esta votación" not_logged_in: "Necesitas iniciar sesión o registrarte para participar" unverified: "Por favor verifica tu cuenta para participar" + cant_answer: "Esta votación no está disponible en tu zona" section_header: icon_alt: Icono de Votaciones title: Votaciones help: Ayuda sobre las votaciones section_footer: title: Ayuda sobre las votaciones + description: Las votaciones ciudadanas son un mecanismo de participación por el que la ciudadanía con derecho a voto puede tomar decisiones de forma directa. no_polls: "No hay votaciones abiertas." show: already_voted_in_booth: "Ya has participado en esta votación en urnas presenciales, no puedes volver a participar." @@ -625,6 +627,10 @@ es: title: Modo de vista cards: Tarjetas list: Lista + recommended_index: + title: Recomendaciones + see_more: Ver más recomendaciones + hide: Ocultar recomendaciones social: blog: "Blog de %{org}" facebook: "Facebook de %{org}" @@ -839,3 +845,10 @@ es: admin/widget: header: title: Administración + annotator: + help: + alt: Selecciona el texto que quieres comentar y pulsa en el botón con el lápiz. + text: Para comentar este documento debes %{sign_in} o %{sign_up}. Después selecciona el texto que quieres comentar y pulsa en el botón con el lápiz. + text_sign_in: iniciar sesión + text_sign_up: registrarte + title: '¿Cómo puedo comentar este documento?' From df0c23f0f0164ba987dc004c04d100a725c7928f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 12:01:15 +0100 Subject: [PATCH 373/565] New translations management.yml (Spanish) --- config/locales/es/management.yml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/config/locales/es/management.yml b/config/locales/es/management.yml index dcd60f3f2..7f043a29f 100644 --- a/config/locales/es/management.yml +++ b/config/locales/es/management.yml @@ -17,6 +17,7 @@ es: reset_email_send: Email enviado correctamente. reseted: Contraseña restablecida correctamente random: Generar contraseña aleatoria + save: Guardar contraseña print: Imprimir contraseña print_help: Podrás imprimir la contraseña cuando se haya guardado. account_info: @@ -26,6 +27,7 @@ es: email_label: 'Email:' identified_label: 'Identificado como:' username_label: 'Usuario:' + check: Comprobar documento dashboard: index: title: Gestión @@ -64,7 +66,11 @@ es: print_spending_proposals: Imprimir propts. de inversión support_spending_proposals: Apoyar propts. de inversión create_budget_investment: Crear proyectos de gasto + print_budget_investments: Imprimir proyectos de gasto + support_budget_investments: Apoyar proyectos de gasto + users: Gestión de usuarios user_invites: Enviar invitaciones + select_user: Seleccionar usuario permissions: create_proposals: Crear nuevas propuestas debates: Participar en debates @@ -82,11 +88,22 @@ es: create_proposal: Crear propuesta print: print_button: Imprimir + index: + title: Apoyar propuestas + budgets: + create_new_investment: Crear proyectos de gasto + print_investments: Imprimir proyectos de gasto + support_investments: Apoyar proyectos de gasto + table_name: Nombre + table_phase: Fase + table_actions: Acciones + no_budgets: No hay presupuestos participativos activos. budget_investments: alert: unverified_user: Usuario no verificado create: Crear nuevo proyecto filters: + heading: Concepto unfeasible: Proyectos no factibles print: print_button: Imprimir @@ -111,6 +128,7 @@ es: username_label: Nombre de usuario users: create_user: Crear nueva cuenta de usuario + create_user_info: Procedemos a crear un usuario con la siguiente información create_user_submit: Crear usuario create_user_success_html: Hemos enviado un correo electrónico a <b>%{email}</b> para verificar que es suya. El correo enviado contiene un link que el usuario deberá pulsar. Entonces podrá seleccionar una clave de acceso, y entrar en la web de participación. autogenerated_password_html: "Se ha asignado la contraseña <b>%{password}</b> a este usuario. Puede modificarla desde el apartado 'Mi cuenta' de la web." From d539c48ec2e78c2d4f77ec31bbd22fc3a64692c5 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 12:01:16 +0100 Subject: [PATCH 374/565] New translations i18n.yml (Spanish) --- config/locales/es/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es/i18n.yml b/config/locales/es/i18n.yml index a07a74d17..753f87696 100644 --- a/config/locales/es/i18n.yml +++ b/config/locales/es/i18n.yml @@ -1 +1,4 @@ es: + i18n: + language: + name: "Español" From fa9b667fe08030c39c48d9eecef959eef56ae7c3 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 12:11:17 +0100 Subject: [PATCH 375/565] New translations moderation.yml (Spanish) --- config/locales/es/moderation.yml | 40 ++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/config/locales/es/moderation.yml b/config/locales/es/moderation.yml index 43fc98790..a1caac77c 100644 --- a/config/locales/es/moderation.yml +++ b/config/locales/es/moderation.yml @@ -46,7 +46,9 @@ es: menu: flagged_comments: Comentarios flagged_debates: Debates + flagged_investments: Proyectos de gasto proposals: Propuestas + proposal_notifications: Notificaciones de propuestas users: Bloquear usuarios proposals: index: @@ -67,6 +69,44 @@ es: created_at: Más recientes flags: Más denunciadas title: Propuestas + budget_investments: + index: + block_authors: Bloquear autores + confirm: '¿Estás seguro?' + filter: Filtro + filters: + all: Todos + pending_flag_review: Pendientes de revisión + with_ignored_flag: Marcadas como revisadas + headers: + moderate: Moderar + budget_investment: Proyecto de gasto + hide_budget_investments: Ocultar proyectos de gasto + ignore_flags: Marcar como revisadas + order: Ordenar por + orders: + created_at: Más recientes + flags: Más denunciadas + title: Proyectos de gasto + proposal_notifications: + index: + block_authors: Bloquear autores + confirm: '¿Estás seguro?' + filter: Filtro + filters: + all: Todas + pending_review: Pendientes de revisión + ignored: Marcadas como revisadas + headers: + moderate: Moderar + proposal_notification: Notificación de propuesta + hide_proposal_notifications: Ocultar notificaciones + ignore_flags: Marcar como revisadas + order: Ordenar por + orders: + created_at: Más recientes + moderated: Moderadas + title: Notificaciones de propuestas users: index: hidden: Bloqueado From b2b1628e2455cb47ca919966bf74fdedc04f020e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 12:11:19 +0100 Subject: [PATCH 376/565] New translations pages.yml (Spanish) --- config/locales/es/pages.yml | 57 +++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/config/locales/es/pages.yml b/config/locales/es/pages.yml index 412a4ee23..2811fbb96 100644 --- a/config/locales/es/pages.yml +++ b/config/locales/es/pages.yml @@ -1,5 +1,9 @@ es: pages: + conditions: + title: Condiciones de uso + subtitle: AVISO LEGAL SOBRE LAS CONDICIONES DE USO, PRIVACIDAD Y PROTECCIÓN DE DATOS PERSONALES DEL PORTAL DE GOBIERNO ABIERTO + description: Página de información sobre las condiciones de uso, privacidad y protección de datos personales. general_terms: Términos y Condiciones help: title: "%{org} es una plataforma de participación ciudadana" @@ -24,6 +28,7 @@ es: description: "En la sección de %{link} puedes plantear propuestas para que el Ayuntamiento las lleve a cabo. Las propuestas recaban apoyos, y si alcanzan los apoyos suficientes se someten a votación ciudadana. Las propuestas aprobadas en estas votaciones ciudadanas son asumidas por el Ayuntamiento y se llevan a cabo." link: "propuestas ciudadanas" image_alt: "Botón para apoyar una propuesta" + figcaption_html: 'Botón para "Apoyar" una propuesta.' budgets: title: "Presupuestos participativos" description: "La sección de %{link} sirve para que la gente decida de manera directa a qué se destina una parte del presupuesto municipal." @@ -61,6 +66,58 @@ es: Si eres programador, puedes ver el código y ayudarnos a mejorarlo en [aplicación CONSUL](https://github.com/consul/consul 'github consul'). titles: how_to_use: Utilízalo en tu municipio + privacy: + title: Política de privacidad + subtitle: AVISO DE PROTECCIÓN DE DATOS + info_items: + - + text: La navegación por la informacion disponible en el Portal de Gobierno Abierto es anónima. + - + text: Para utilizar los servicios contenidos en el Portal de Gobierno Abierto el usuario deberá darse de alta y proporcionar previamente los datos de carácter personal segun la informacion especifica que consta en cada tipo de alta. + - + text: 'Los datos aportados serán incorporados y tratados por el Ayuntamiento de acuerdo con la descripción del fichero siguiente:' + - + subitems: + - + field: 'Nombre del fichero/tratamiento:' + description: NOMBRE DEL FICHERO + - + field: 'Finalidad del fichero/tratamiento:' + description: Gestionar los procesos participativos para el control de la habilitación de las personas que participan en los mismos y recuento meramente numérico y estadístico de los resultados derivados de los procesos de participación ciudadana. + - + field: 'Órgano responsable:' + description: ÓRGANO RESPONSABLE + - + text: El interesado podrá ejercer los derechos de acceso, rectificación, cancelación y oposición, ante el órgano responsable indicado todo lo cual se informa en el cumplimiento del artículo 5 de la Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal. + - + text: Como principio general, este sitio web no comparte ni revela información obtenida, excepto cuando haya sido autorizada por el usuario, o la informacion sea requerida por la autoridad judicial, ministerio fiscal o la policia judicial, o se de alguno de los supuestos regulados en el artículo 11 de la Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal. + accessibility: + title: Accesibilidad + description: |- + La accesibilidad web se refiere a la posibilidad de acceso a la web y a sus contenidos por todas las personas, independientemente de las discapacidades (físicas, intelectuales o técnicas) que puedan presentar o de las que se deriven del contexto de uso (tecnológicas o ambientales). + + Cuando los sitios web están diseñados pensando en la accesibilidad, todos los usuarios pueden acceder en condiciones de igualdad a los contenidos, por ejemplo: + examples: + - Proporcionando un texto alternativo a las imágenes, los usuarios invidentes o con problemas de visión pueden utilizar lectores especiales para acceder a la información. + - Cuando los vídeos disponen de subtítulos, los usuarios con dificultades auditivas pueden entenderlos plenamente. + - Si los contenidos están escritos en un lenguaje sencillo e ilustrados, los usuarios con problemas de aprendizaje están en mejores condiciones de entenderlos. + - Si el usuario tiene problemas de movilidad y le cuesta usar el ratón, las alternativas con el teclado le ayudan en la navegación. + keyboard_shortcuts: + title: '"Atajos" de teclado' + navigation_table: + description: Para poder navegar por este sitio web de forma accesible, se han programado un grupo de teclas de acceso rápido que recogen las principales secciones de interés general en los que está organizado el sitio. + caption: Atajos de teclado para el menú de navegación + key_header: Tecla + page_header: Página + rows: + - + key_column: 0 + page_column: Inicio + - + - + - + - + - titles: accessibility: Accesibilidad conditions: Condiciones de uso From e94897cfc793910b58b3f0319caddfc5a6e341ff Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 12:11:20 +0100 Subject: [PATCH 377/565] New translations officing.yml (Spanish) --- config/locales/es/officing.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/locales/es/officing.yml b/config/locales/es/officing.yml index 6832311a7..c1d1fa837 100644 --- a/config/locales/es/officing.yml +++ b/config/locales/es/officing.yml @@ -6,6 +6,7 @@ es: index: title: Presidir mesa de votaciones info: Aquí puedes validar documentos de ciudadanos y guardar los resultados de las urnas + no_shifts: No tienes turnos de presidente de mesa asignados hoy. menu: voters: Validar documento y votar total_recounts: Recuento total y escrutinio @@ -57,6 +58,7 @@ es: table_poll: Votación table_status: Estado de las votaciones table_actions: Acciones + not_to_vote: La persona ha decidido no votar por el momento show: can_vote: Puede votar error_already_voted: Ya ha participado en esta votación. From af63771ab4740cc4a29e58a6a06da6c3d2e2a809 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 12:11:21 +0100 Subject: [PATCH 378/565] New translations seeds.yml (Spanish) --- config/locales/es/seeds.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/config/locales/es/seeds.yml b/config/locales/es/seeds.yml index bc3812579..567523e2e 100644 --- a/config/locales/es/seeds.yml +++ b/config/locales/es/seeds.yml @@ -1,5 +1,11 @@ es: seeds: + settings: + official_level_1_name: Cargo oficial 1 + official_level_2_name: Cargo oficial 2 + official_level_3_name: Cargo oficial 3 + official_level_4_name: Cargo oficial 4 + official_level_5_name: Cargo oficial 5 geozones: north_district: Distrito Norte west_district: Distrito Oeste @@ -26,9 +32,20 @@ es: environment: Medio Ambiente budgets: budget: Presupuesto Participativo + currency: '€' groups: all_city: Toda la Ciudad districts: Distritos + valuator_groups: + culture_and_sports: Cultura y Deportes + gender_and_diversity: Políticas de Género y Diversidad + urban_development: Desarrollo Urbano Sostenible + equity_and_employment: Equidad y Empleo + statuses: + studying_project: Estudiando el proyecto + bidding: Licitación + executing_project: Ejecutando el proyecto + executed: Ejecutado polls: current_poll: "Votación Abierta" current_poll_geozone_restricted: "Votación Abierta restringida por geozona" From a811b2a443155d7f0064d57b978020c2fed20823 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 12:21:17 +0100 Subject: [PATCH 379/565] New translations pages.yml (Spanish) --- config/locales/es/pages.yml | 65 +++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/config/locales/es/pages.yml b/config/locales/es/pages.yml index 2811fbb96..739c93a26 100644 --- a/config/locales/es/pages.yml +++ b/config/locales/es/pages.yml @@ -114,10 +114,75 @@ es: key_column: 0 page_column: Inicio - + key_column: 1 + page_column: Debates - + key_column: 2 + page_column: Propuestas - + key_column: 3 + page_column: Votaciones - + key_column: 4 + page_column: Presupuestos participativos - + key_column: 5 + page_column: Procesos legislativos + browser_table: + description: 'Dependiendo del sistema operativo y del navegador que se utilice, la combinación de teclas será la siguiente:' + caption: Combinación de teclas dependiendo del sistema operativo y navegador + browser_header: Navegador + key_header: Combinación de teclas + rows: + - + browser_column: Explorer + key_column: ALT + atajo y luego ENTER + - + browser_column: Firefox + key_column: ALT + MAYÚSCULAS + atajo + - + browser_column: Chrome + key_column: ALT + atajo (si es un MAC, CTRL + ALT + atajo) + - + browser_column: Safari + key_column: ALT + atajo (si es un MAC, CMD + atajo) + - + browser_column: Opera + key_column: MAYÚSCULAS + ESC + atajo + textsize: + title: Tamaño del texto + browser_settings_table: + description: El diseño accesible de este sitio web permite que el usuario pueda elegir el tamaño del texto que le convenga. Esta acción puede llevarse a cabo de diferentes maneras según el navegador que se utilice. + browser_header: Navegador + action_header: Acción a realizar + rows: + - + browser_column: Explorer + action_column: Ver > Tamaño del texto + - + browser_column: Firefox + action_column: Ver > Tamaño + - + browser_column: Chrome + action_column: Ajustes (icono) > Opciones > Avanzada > Contenido web > Tamaño fuente + - + browser_column: Safari + action_column: Visualización > ampliar/reducir + - + browser_column: Opera + action_column: Ver > escala + browser_shortcuts_table: + description: 'Otra forma de modificar el tamaño de texto es utilizar los atajos de teclado definidos en los navegadores, en particular la combinación de teclas:' + rows: + - + shortcut_column: CTRL y + (CMD y + en MAC) + description_column: para aumentar el tamaño del texto + - + shortcut_column: CTRL y - (CMD y - en MAC) + description_column: para reducir el tamaño del texto + compatibility: + title: Compatibilidad con estándares y diseño visual + description_html: 'Todas las páginas de este sitio web cumplen con las <strong>Pautas de Accesibilidad</strong> o Principios Generales de Diseño Accesible establecidas por el Grupo de Trabajo <abbr title="Web Accessibility Initiative" lang="en">WAI</abbr> perteneciente al W3C.' titles: accessibility: Accesibilidad conditions: Condiciones de uso From 9e525af6e776dd57f4af306c67b755a22c6195ff Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 13:12:43 +0100 Subject: [PATCH 380/565] New translations settings.yml (Spanish) --- config/locales/es/settings.yml | 42 ++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/config/locales/es/settings.yml b/config/locales/es/settings.yml index a03d98511..ace191a98 100644 --- a/config/locales/es/settings.yml +++ b/config/locales/es/settings.yml @@ -1,37 +1,74 @@ es: settings: comments_body_max_length: "Longitud máxima de los comentarios" + comments_body_max_length_description: "En número de caracteres" official_level_1_name: "Cargos públicos de nivel 1" + official_level_1_name_description: "Etiqueta que aparecerá en los usuarios marcados como Nivel 1 de cargo público" official_level_2_name: "Cargos públicos de nivel 2" + official_level_2_name_description: "Etiqueta que aparecerá en los usuarios marcados como Nivel 2 de cargo público" official_level_3_name: "Cargos públicos de nivel 3" + official_level_3_name_description: "Etiqueta que aparecerá en los usuarios marcados como Nivel 3 de cargo público" official_level_4_name: "Cargos públicos de nivel 4" + official_level_4_name_description: "Etiqueta que aparecerá en los usuarios marcados como Nivel 4 de cargo público" official_level_5_name: "Cargos públicos de nivel 5" + official_level_5_name_description: "Etiqueta que aparecerá en los usuarios marcados como Nivel 5 de cargo público" max_ratio_anon_votes_on_debates: "Porcentaje máximo de votos anónimos por Debate" + max_ratio_anon_votes_on_debates_description: "Se consideran votos anónimos los realizados por usuarios registrados con una cuenta sin verificar" max_votes_for_proposal_edit: "Número de votos en que una Propuesta deja de poderse editar" + max_votes_for_proposal_edit_description: "A partir de este número de apoyos el autor de una Propuesta ya no podrá editarla" max_votes_for_debate_edit: "Número de votos en que un Debate deja de poderse editar" + max_votes_for_debate_edit_description: "A partir de este número de votos el autor de un Debate ya no podrá editarlo" proposal_code_prefix: "Prefijo para los códigos de Propuestas" + proposal_code_prefix_description: "Este prefijo aparecerá en las Propuestas delante de la fecha de creación y su ID" votes_for_proposal_success: "Número de votos necesarios para aprobar una Propuesta" + votes_for_proposal_success_description: "Cuando una propuesta alcance este número de apoyos ya no podrá recibir más y se considera exitosa" months_to_archive_proposals: "Meses para archivar las Propuestas" + months_to_archive_proposals_description: Pasado este número de meses las Propuestas se archivarán y ya no podrán recoger apoyos email_domain_for_officials: "Dominio de email para cargos públicos" + email_domain_for_officials_description: "Todos los usuarios registrados con este dominio tendrán su cuenta verificada al registrarse" per_page_code_head: "Código a incluir en cada página (<head>)" + per_page_code_head_description: "Esté código aparecerá dentro de la etiqueta <head>. Útil para introducir scripts personalizados, analitycs..." per_page_code_body: "Código a incluir en cada página (<body>)" + per_page_code_body_description: "Esté código aparecerá dentro de la etiqueta <body>. Útil para introducir scripts personalizados, analitycs..." twitter_handle: "Usuario de Twitter" + twitter_handle_description: "Si está rellenado aparecerá en el pie de página" twitter_hashtag: "Hashtag para Twitter" + twitter_hashtag_description: "Hashtag que aparecerá al compartir contenido por Twitter" facebook_handle: "Identificador de Facebook" + facebook_handle_description: "Si está rellenado aparecerá en el pie de página" youtube_handle: "Usuario de Youtube" + youtube_handle_description: "Si está rellenado aparecerá en el pie de página" telegram_handle: "Usuario de Telegram" + telegram_handle_description: "Si está rellenado aparecerá en el pie de página" instagram_handle: "Usuario de Instagram" + instagram_handle_description: "Si está rellenado aparecerá en el pie de página" url: "URL general de la web" + url_description: "URL principal de tu web" org_name: "Nombre de la organización" + org_name_description: "Nombre de tu organización" place_name: "Nombre del lugar" + place_name_description: "Nombre de tu ciudad" related_content_score_threshold: "Umbral de puntuación de contenido relacionado" + related_content_score_threshold_description: "Oculta el contenido que los usuarios marquen como no relacionado" map_latitude: "Latitud" + map_latitude_description: "Latitud para mostrar la posición del mapa" map_longitude: "Longitud" + map_longitude_description: "Longitud para mostrar la posición del mapa" map_zoom: "Zoom" + map_zoom_description: "Zoom para mostrar la posición del mapa" + mailer_from_name: "Nombre email remitente" + mailer_from_name_description: "Este nombre aparecerá en los emails enviados desde la aplicación" + mailer_from_address: "Dirección email remitente" + mailer_from_address_description: "Esta dirección de email aparecerá en los emails enviados desde la aplicación" meta_title: "Título del sitio (SEO)" + meta_title_description: "Título para el sitio <title>, utilizado para mejorar el SEO" meta_description: "Descripción del sitio (SEO)" + meta_description_description: 'Descripción del sitio <meta name="description">, utilizada para mejorar el SEO' meta_keywords: "Palabras clave (SEO)" + meta_keywords_description: 'Palabras clave <meta name="keywords">, utilizadas para mejorar el SEO' min_age_to_participate: Edad mínima para participar + min_age_to_participate_description: "Los usuarios mayores de esta edad podrán participar en todos los procesos" + analytics_url: "URL de estadísticas externas" blog_url: "URL del blog" transparency_url: "URL de transparencia" opendata_url: "URL de open data" @@ -39,10 +76,15 @@ es: proposal_improvement_path: Link a información para mejorar propuestas feature: budgets: "Presupuestos participativos" + budgets_description: "Con los presupuestos participativos la ciudadanía decide a qué proyectos presentados por los vecinos y vecinas va destinada una parte del presupuesto municipal" twitter_login: "Registro con Twitter" + twitter_login_description: "Permitir que los usuarios se registren con su cuenta de Twitter" facebook_login: "Registro con Facebook" + facebook_login_description: "Permitir que los usuarios se registren con su cuenta de Facebook" google_login: "Registro con Google" + google_login_description: "Permitir que los usuarios se registren con su cuenta de Google" proposals: "Propuestas" + proposals_description: "Las propuestas ciudadanas son una oportunidad para que los vecinos y colectivos decidan directamente cómo quieren que sea su ciudad, después de conseguir los apoyos suficientes y de someterse a votación ciudadana" debates: "Debates" polls: "Votaciones" signature_sheets: "Hojas de firmas" From ebdf8ff60c4faea9bab8ca815519fb0b737ecf59 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 13:20:51 +0100 Subject: [PATCH 381/565] New translations settings.yml (Spanish) --- config/locales/es/settings.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/config/locales/es/settings.yml b/config/locales/es/settings.yml index ace191a98..3e9c926c6 100644 --- a/config/locales/es/settings.yml +++ b/config/locales/es/settings.yml @@ -86,15 +86,38 @@ es: proposals: "Propuestas" proposals_description: "Las propuestas ciudadanas son una oportunidad para que los vecinos y colectivos decidan directamente cómo quieren que sea su ciudad, después de conseguir los apoyos suficientes y de someterse a votación ciudadana" debates: "Debates" + debates_description: "El espacio de debates ciudadanos está dirigido a que cualquier persona pueda exponer temas que le preocupan y sobre los que quiera compartir puntos de vista con otras personas" polls: "Votaciones" + polls_description: "Las votaciones ciudadanas son un mecanismo de participación por el que la ciudadanía con derecho a voto puede tomar decisiones de forma directa" signature_sheets: "Hojas de firmas" + signature_sheets_description: "Permite añadir desde el panel de Administración firmas recogidas de forma presencial a Propuestas y proyectos de gasto de los Presupuestos participativos" legislation: "Legislación" + legislation_description: "En los procesos participativos se ofrece a la ciudadanía la oportunidad de participar en la elaboración y modificación de normativa que afecta a la ciudad y de dar su opinión sobre ciertas actuaciones que se tiene previsto llevar a cabo" + spending_proposals: "Propuestas de inversión" + spending_proposals_description: "⚠️ NOTA: Esta funcionalidad ha sido sustituida por Pesupuestos Participativos y desaparecerá en nuevas versiones" + spending_proposal_features: + voting_allowed: Votaciones de preselección sobre propuestas de inversión. + voting_allowed_description: "⚠️ NOTA: Esta funcionalidad ha sido sustituida por Pesupuestos Participativos y desaparecerá en nuevas versiones" user: recommendations: "Recomendaciones" + recommendations_description: "Muestra a los usuarios recomendaciones en la homepage basado en las etiquetas de los elementos que sigue" skip_verification: "Omitir verificación de usuarios" + skip_verification_description: "Esto deshabilitará la verificación de usuarios y todos los usuarios registrados podrán participar en todos los procesos" + recommendations_on_debates: "Recomendaciones en debates" + recommendations_on_debates_description: "Muestra a los usuarios recomendaciones en la página de debates basado en las etiquetas de los elementos que sigue" + recommendations_on_proposals: "Recomendaciones en propuestas" + recommendations_on_proposals_description: "Muestra a los usuarios recomendaciones en la página de propuestas basado en las etiquetas de los elementos que sigue" community: "Comunidad en propuestas y proyectos de gasto" + community_description: "Activa la sección de comunidad en las propuestas y en los proyectos de gasto de los Presupuestos participativos" map: "Geolocalización de propuestas y proyectos de gasto" + map_description: "Activa la geolocalización de propuestas y proyectos de gasto" allow_images: "Permitir subir y mostrar imágenes" + allow_images_description: "Permite que los usuarios suban imágenes al crear propuestas y proyectos de gasto de los Presupuestos participativos" allow_attached_documents: "Permitir creación de documentos adjuntos" + allow_attached_documents_description: "Permite que los usuarios suban documentos al crear propuestas y proyectos de gasto de los Presupuestos participativos" guides: "Guías para crear propuestas o proyectos de inversión" + guides_description: "Muestra una guía de diferencias entre las propuestas y los proyectos de gasto si hay un presupuesto participativo activo" public_stats: "Estadísticas públicas" + public_stats_description: "Muestra las estadísticas públicas en el panel de Administración" + help_page: "Página de Ayuda" + help_page_description: "Muestra un menú Ayuda que contiene una página con una sección de información sobre cada funcionalidad habilitada" From 4bb3985ca46dcfa8593f8213c583b5a9ffa373f8 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 13:51:40 +0100 Subject: [PATCH 382/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index 8106ae0be..237626077 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -3,15 +3,15 @@ de: comments_body_max_length: "Maximale Länge der Kommentare" comments_body_max_length_description: "In Anzahl der Zeichen" official_level_1_name: "Beamte*r Stufe 1" - official_level_1_name_description: "Tag, das auf Nutzern erscheint, die als Level 1 offizielle Position markiert sind" + official_level_1_name_description: "Tag, der auf Benutzern erscheint, die als offizielle Position der Stufe 1 markiert sind" official_level_2_name: "Beamte*r Stufe 2" - official_level_2_name_description: "Tag, das auf Nutzern erscheint, die als Level 2 offizielle Position markiert sind" + official_level_2_name_description: "Tag, der auf Benutzern erscheint, die als offizielle Position der Stufe 2 markiert sind" official_level_3_name: "Beamte*r Stufe 3" - official_level_3_name_description: "Tag, das auf Nutzern erscheint, die als Level 3 offizielle Position markiert sind" + official_level_3_name_description: "Tag, der auf Benutzern erscheint, die als offizielle Position der Stufe 3 markiert sind" official_level_4_name: "Beamte*r Stufe 4" - official_level_4_name_description: "Tag, das auf Nutzern erscheint, die als Level 4 offizielle Position markiert sind" + official_level_4_name_description: "Tag, der auf Benutzern erscheint, die als offizielle Position der Stufe 4 markiert sind" official_level_5_name: "Beamte*r Stufe 5" - official_level_5_name_description: "Tag, das auf Nutzern erscheint, die als Level 5 offizielle Position markiert sind" + official_level_5_name_description: "Tag, der auf Benutzern erscheint, die als offizielle Position der Stufe 5 markiert sind" max_ratio_anon_votes_on_debates: "Maximale Anzahl von anonymen Stimmen per Diskussion" max_ratio_anon_votes_on_debates_description: "Anonyme Stimmen sind von registrierten Nutzern mit einem ungeprüften Konto" max_votes_for_proposal_edit: "Anzahl von Stimmen bei der ein Vorschlag nicht länger bearbeitet werden kann" From bf26b967413144245620b0dcc8025aaec81357c1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 14:00:48 +0100 Subject: [PATCH 383/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index 237626077..5b7095788 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -13,11 +13,11 @@ de: official_level_5_name: "Beamte*r Stufe 5" official_level_5_name_description: "Tag, der auf Benutzern erscheint, die als offizielle Position der Stufe 5 markiert sind" max_ratio_anon_votes_on_debates: "Maximale Anzahl von anonymen Stimmen per Diskussion" - max_ratio_anon_votes_on_debates_description: "Anonyme Stimmen sind von registrierten Nutzern mit einem ungeprüften Konto" + max_ratio_anon_votes_on_debates_description: "Anonyme Stimmen stammen von registrierten Benutzern mit einem nicht bestätigten Konto" max_votes_for_proposal_edit: "Anzahl von Stimmen bei der ein Vorschlag nicht länger bearbeitet werden kann" - max_votes_for_proposal_edit_description: "Von dieser Anzahl an Unterstützung kann der Autor einen Vorschlag nicht länger ändern" + max_votes_for_proposal_edit_description: "Ab dieser Anzahl von Unterstützungen kann der Autor eines Vorschlags diesen nicht mehr bearbeiten" max_votes_for_debate_edit: "Anzahl von Stimmen bei der eine Diskussion nicht länger bearbeitet werden kann" - max_votes_for_debate_edit_description: "Von dieser Anzahl an Unterstützung kann der Autor einer Debatte diese nicht länger ändern" + max_votes_for_debate_edit_description: "Ab dieser Anzahl von Unterstützungen kann der Autor einer Debatte diese nicht länger ändern" proposal_code_prefix: "Präfix für Vorschlag-Codes" proposal_code_prefix_description: "Dieses Präfix wird in den Vorschlägen vor dem Erstellungsdatum und der ID angezeigt" votes_for_proposal_success: "Anzahl der notwendigen Stimmen zur Genehmigung eines Vorschlags" From 09ec776cfff2936fb50876a2d8e447cffede4a15 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 14:10:58 +0100 Subject: [PATCH 384/565] New translations budgets.yml (German) --- config/locales/de-DE/budgets.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/de-DE/budgets.yml b/config/locales/de-DE/budgets.yml index 6af42eec9..8857cfb81 100644 --- a/config/locales/de-DE/budgets.yml +++ b/config/locales/de-DE/budgets.yml @@ -56,7 +56,7 @@ de: see_results: Ergebnisse anzeigen section_footer: title: Hilfe mit partizipativen Haushaltsmitteln - description: Mit den partizipativen Haushaltsmitteln können BürgerInnen entscheiden an welche Projekte ein bestimmter Teil des Budgets geht. + description: Mit den partizipativen Haushaltsmitteln können BürgerInnen entscheiden, an welche Projekte ein bestimmter Teil des Budgets geht. investments: form: tag_category_label: "Kategorien" From df56673719e38582de5cdfb1eca29b85a32c0155 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 14:30:54 +0100 Subject: [PATCH 385/565] New translations pages.yml (German) --- config/locales/de-DE/pages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/de-DE/pages.yml b/config/locales/de-DE/pages.yml index a8861f3db..7a1b06080 100644 --- a/config/locales/de-DE/pages.yml +++ b/config/locales/de-DE/pages.yml @@ -94,9 +94,9 @@ de: accessibility: title: Zugänglichkeit description: |- - Web-Zugänglichkeit bezieht sich auf die Möglichkeit des Zugriffs auf das Internet und seine Inhalte bei allen Menschen, unabhängig von den Behinderungen (körperlicher, geistiger oder technischer), die entstehen können, oder die sich Kontext der Nutzung ergeben (technologisch oder ökologisch). + Unter Webzugänglichkeit versteht man die Möglichkeit des Zugangs aller Menschen zum Web und seinen Inhalten, unabhängig von den Behinderungen (körperlich, geistig oder technisch), die sich aus dem Kontext der Nutzung (technologisch oder ökologisch) ergeben können. - Wenn Webseiten mit Zugänglichkeit im Sinn entwickelt werden, können alle Nutzer auf Inhalte unter gleichen Bedingungen zugreifen, zum Beispiel: + Wenn Websites unter dem Gesichtspunkt der Barrierefreiheit gestaltet werden, können alle Nutzer beispielsweise unter gleichen Bedingungen auf Inhalte zugreifen: examples: - Proporcionando un texto alternativo a las imágenes, los usuarios invidentes o con problemas de visión pueden utilizar lectores especiales para acceder a la información.Providing alternative text to the images, blind or visually impaired users can use special readers to access the information. - Wenn Videos Untertitel haben, können Nutzer mit Hörproblemen diese voll und ganz verstehen. From 3a5f95b11c9723705452f4e9141181d0ccbe233c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 17:40:30 +0100 Subject: [PATCH 386/565] New translations pages.yml (German) --- config/locales/de-DE/pages.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/de-DE/pages.yml b/config/locales/de-DE/pages.yml index 7a1b06080..d5f463e71 100644 --- a/config/locales/de-DE/pages.yml +++ b/config/locales/de-DE/pages.yml @@ -100,7 +100,7 @@ de: examples: - Proporcionando un texto alternativo a las imágenes, los usuarios invidentes o con problemas de visión pueden utilizar lectores especiales para acceder a la información.Providing alternative text to the images, blind or visually impaired users can use special readers to access the information. - Wenn Videos Untertitel haben, können Nutzer mit Hörproblemen diese voll und ganz verstehen. - - Wenn der Inhalt in einer einfachen und anschaulichen Sprache geschrieben sind, können Nutzer mit Lernproblemen diese besser verstehen. + - Wenn die Inhalte in einer einfachen und anschaulichen Sprache geschrieben sind, können Nutzer mit Lernproblemen diese besser verstehen. - Wenn der Nutzer Mobilitätsprobleme hat und es schwierig ist die Maus zu bedienen, helfen Tastatur-Alternativen mit der Navigation. keyboard_shortcuts: title: Tastaturkürzel From 13acab5670cf60ffab2ace229ff3818b804784d1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 17:40:32 +0100 Subject: [PATCH 387/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index 5b7095788..ad079f12c 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -21,7 +21,7 @@ de: proposal_code_prefix: "Präfix für Vorschlag-Codes" proposal_code_prefix_description: "Dieses Präfix wird in den Vorschlägen vor dem Erstellungsdatum und der ID angezeigt" votes_for_proposal_success: "Anzahl der notwendigen Stimmen zur Genehmigung eines Vorschlags" - votes_for_proposal_success_description: "Wenn der Vorschlag diese Anzahl an Unterstützung erreicht, wird es nicht mehr in der Lage sein zusätzliche Unterstützung zu sammeln un wird als erfolgreich betrachtet" + votes_for_proposal_success_description: "Wenn ein Antrag diese Anzahl von Unterstützungen erreicht, kann er nicht mehr mehr unterstützt werden und gilt als erfolgreich" months_to_archive_proposals: "Anzahl der Monate, um Vorschläge zu archivieren" months_to_archive_proposals_description: Nach dieser Anzahl von Monaten wird elder Vorschlag archiviert und wird nicht mehr fähig sein Unterstützung zu erhalten" email_domain_for_officials: "E-Mail-Domäne für Beamte" From ad13b526ad24af1159153fa73553590a51207227 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 17:50:29 +0100 Subject: [PATCH 388/565] New translations pages.yml (German) --- config/locales/de-DE/pages.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/de-DE/pages.yml b/config/locales/de-DE/pages.yml index d5f463e71..9043aa451 100644 --- a/config/locales/de-DE/pages.yml +++ b/config/locales/de-DE/pages.yml @@ -105,7 +105,7 @@ de: keyboard_shortcuts: title: Tastaturkürzel navigation_table: - description: Um auf verständliche Weise durch die Webseite zu navigieren, wurde eine Gruppe von Schnellzugriff-Tasten einprogrammiert, die die allgemeinen Hauptbereiche erfassen, in denen die Seite organisiert ist. + description: Um auf dieser Website barrierefrei navigieren zu können, wurde eine Gruppe von Schnellzugriffstasten programmiert, die die wichtigsten Bereiche des allgemeinen Interesses, in denen die Website organisiert ist, zusammenfassen. caption: Tastaturkürzel für das Navigationsmenü key_header: Schlüssel page_header: Seite @@ -129,7 +129,7 @@ de: key_column: 5 page_column: Gesetzgebungsverfahren browser_table: - description: 'Je nach dem Betriebssystem und den verwendeten Browser wird die Tastenkombination wie folgt aussehen:' + description: 'Abhängig vom Betriebssystem und dem verwendeten Browser lautet die Tastenkombination wie folgt:' caption: Tastenkombination je nach Betriebssystem und Browser browser_header: Browser key_header: Tastenkombination From 62140ff6a849b74fdf9bfd0d0d1f6c476562fd0a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 17:50:31 +0100 Subject: [PATCH 389/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index ad079f12c..24ad71e9d 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -23,13 +23,13 @@ de: votes_for_proposal_success: "Anzahl der notwendigen Stimmen zur Genehmigung eines Vorschlags" votes_for_proposal_success_description: "Wenn ein Antrag diese Anzahl von Unterstützungen erreicht, kann er nicht mehr mehr unterstützt werden und gilt als erfolgreich" months_to_archive_proposals: "Anzahl der Monate, um Vorschläge zu archivieren" - months_to_archive_proposals_description: Nach dieser Anzahl von Monaten wird elder Vorschlag archiviert und wird nicht mehr fähig sein Unterstützung zu erhalten" + months_to_archive_proposals_description: Nach dieser Anzahl von Monaten werden die Anträge archiviert und können keine Unterstützung mehr erhalten" email_domain_for_officials: "E-Mail-Domäne für Beamte" - email_domain_for_officials_description: "Für alle, mit dieser Domain registrierten, Nutzer wird der Account verifiziert" + email_domain_for_officials_description: "Alle Benutzer, die mit dieser Domain registriert sind, erhalten bei der Registrierung eine Bestätigung ihres Kontos" per_page_code_head: "Code, der auf jeder Seite eingefügt wird (<head>)" - per_page_code_head_description: "Dieser Code wird innerhalb des <head>-Labels angezeigt. Nützlich für das Eintragen von benutzerdefinierten skrips, Analytiken..." + per_page_code_head_description: "Dieser Code wird innerhalb des Labels <head> angezeigt. Nützlich für die Eingabe von benutzerdefinierten Skripten, Analysen..." per_page_code_body: "Code, der auf jeder Seite eingefügt wird (<body>)" - per_page_code_body_description: "Dieser Code wird innerhalb des <body>-Labels angezeigt. Nützlich für das Eintragen von benutzerdefinierten skrips, Analytiken..." + per_page_code_body_description: "Dieser Code wird innerhalb des Labels <body> angezeigt. Nützlich für die Eingabe von benutzerdefinierten Skripten, Analysen..." twitter_handle: "Twitter Benutzer*name" twitter_handle_description: "Falls ausgefüllt, wird es in der Fußzeile erscheinen" twitter_hashtag: "Twitter hashtag" From e54ab28c8b16bc08a03eee068c58b3d8ba7785ff Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 18:02:39 +0100 Subject: [PATCH 390/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index 24ad71e9d..88a73583c 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -33,7 +33,7 @@ de: twitter_handle: "Twitter Benutzer*name" twitter_handle_description: "Falls ausgefüllt, wird es in der Fußzeile erscheinen" twitter_hashtag: "Twitter hashtag" - twitter_hashtag_description: "Hashtag, der erscheint, wenn I halt auf Twitter geteilt wird" + twitter_hashtag_description: "Hashtag, der erscheint, wenn Inhalt auf Twitter geteilt wird" facebook_handle: "Facebook Benutzer*name" facebook_handle_description: "Falls ausgefüllt, wird es in der Fußzeile erscheinen" youtube_handle: "Benutzer*name für Youtube" @@ -51,7 +51,7 @@ de: related_content_score_threshold: "Punktzahl-Grenze für verwandte Inhalte" related_content_score_threshold_description: "Inhalte, die Benutzer als zusammenhangslos markiert haben" map_latitude: "Breitengrad" - map_latitude_description: "Breitangrad, um die Kartenposition anzuzeigen" + map_latitude_description: "Breitengrad zur Anzeige der Kartenposition" map_longitude: "Längengrad" map_longitude_description: "Längengrad, um die Position der Karte zu zeigen" map_zoom: "Zoom" @@ -76,7 +76,7 @@ de: proposal_improvement_path: Interner Link zur Antragsverbesserungsinformation feature: budgets: "Bürgerhaushalt" - budgets_description: "Durch den Bürgerhaushalt können BürgerInnen entscheiden an welche der, von Nachbarn presentierten, Projekte einen Teil des kommunalen Budgets erhalten" + budgets_description: "Bei Bürgerhaushalten entscheiden die Bürger, welche von ihren Nachbarn vorgestellten Projekte einen Teil des Gemeindebudgets erhalten" twitter_login: "Twitter login" twitter_login_description: "Anmeldung mit Twitter-Account erlauben" facebook_login: "Facebook login" From 0f81408c27bedb02750823ded92c2249bffa58a4 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Fri, 2 Nov 2018 18:10:41 +0100 Subject: [PATCH 391/565] New translations settings.yml (German) --- config/locales/de-DE/settings.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/config/locales/de-DE/settings.yml b/config/locales/de-DE/settings.yml index 88a73583c..1dd51d36e 100644 --- a/config/locales/de-DE/settings.yml +++ b/config/locales/de-DE/settings.yml @@ -84,14 +84,14 @@ de: google_login: "Google login" google_login_description: "Anmeldung mit Google-Account erlauben" proposals: "Vorschläge" - proposals_description: "Bürgervorschläge bieten die Möglichkeit für Nachbarn und Kollektive direkt zu entscheiden, wie ihre Stadt sein soll, nahdem sie genügend Unterstützung erhalten haben und einen Bürgenvorschlag eingereicht haben" + proposals_description: "Die Vorschläge der Bürger sind eine Möglichkeit für Nachbarn und Kollektive direkt zu entscheiden, wie sie ihre Stadt gestalten wollen, nachdem sie ausreichende Unterstützung erhalten und sich einer Bürgerabstimmung unterzogen haben" debates: "Diskussionen" - debates_description: "Der Bürger-Debattenraum ist auf diejenigen abgezielt, die Probleme, welche einen beunruhigen, präsentieren und über welche sie ihre Meinung mit anderen teilen möchten" + debates_description: "Der Debattenraum der Bürger richtet sich an alle, die Themen präsentieren können, die sie betreffen und zu denen sie ihre Ansichten mit anderen teilen wollen" polls: "Umfragen" - polls_description: "Bürgerumfragen sind partizipatorischer Mechanismus, mit dem Bürger mit Wahlrecht direkte Entscheidungen treffen können" + polls_description: "Bürgerumfragen sind ein partizipatorischer Mechanismus, mit dem Bürger mit Wahlrecht direkte Entscheidungen treffen können" signature_sheets: "Unterschriftenbögen" legislation: "Gesetzgebung" - legislation_description: "In Beteiligungsprozessen bietet Bürgern die Möglichkeit, an der Ausarbeitung und Änderungen von Verordnungen mitzuwirken, die Stadt zu beeinflussen und die Möglichkeit ihre Meinung zu spezifischen, in Planung stehenden, Aktionen zu äußern" + legislation_description: "In partizipativen Prozessen wird den Bürgern die Möglichkeit geboten, sich an der Ausarbeitung und Änderung von Vorschriften, die die Stadt betreffen, zu beteiligen und ihre Meinung zu bestimmten geplanten Aktionen abzugeben" spending_proposals: "Ausgabenvorschläge" spending_proposals_description: "⚠️ Hinweis: Diese Funktionalität wurde durch Bürgerhaushaltung ersetzt und verschwindet in neuen Versionen" spending_proposal_features: @@ -101,17 +101,17 @@ de: recommendations: "Empfehlungen" recommendations_description: "Zeigt Nutzerempfehlungen auf der Startseite auf Grundlage der Tags aus den folgenden Objekten" skip_verification: "Benutzer*überprüfung überspringen" - skip_verification_description: "Dies wird die Nuterüberprüfung deaktivieren und alle registrierten Nutzer werden fähig sein an allen Prozessen teilzunehmen" + skip_verification_description: "Dies wird die Nutzerüberprüfung deaktivieren und alle registrierten Nutzer werden fähig sein, an allen Prozessen teilzunehmen" recommendations_on_debates: "Empfehlungen für Debatten" recommendations_on_debates_description: "Zeigt Nutzern Empfehlungen für Debattenseiten an, basierend auf den Tags und den Objekten, denen sie folgen" recommendations_on_proposals: "Empfehlungen für Anträge" recommendations_on_proposals_description: "Zeigt Nutzern Empfehlungen für Vorschlagsseiten an, basierend auf den Tags und den Objekten, denen sie folgen" community: "Community für Anträge und Investitionen" - community_description: "Schaltet den Community-Bereich in den Vorschlägen und Investitionsprojekte der partizipative Budgets frei" + community_description: "Schaltet den Community-Bereich in der Rubrik Vorschläge und Investitionsprojekte der Bürgerhaushalte ein" map: "Standort des Antrages und der Budgetinvestition" map_description: "Ermöglicht die Geolokalisierung der Vorschläge und Investitionsprojekte" allow_images: "Upload und Anzeigen von Bildern erlauben" - allow_images_description: "Ermöglicht Nutzern das Hochladen von Bildern, wenn Vorschläge und Investitionsprojekte von oartizipativen Budgets erstellt werden" + allow_images_description: "Ermöglicht Nutzern das Hochladen von Bildern, wenn Vorschläge und Investitionsprojekte von partizipativen Budgets erstellt werden" allow_attached_documents: "Upload und Anzeigen von angehängten Dokumenten erlauben" allow_attached_documents_description: "Ermöglicht Nutzern das Hochladen von Dokumenten, wenn Vorschläge und Investitionsprojekte von partizipativen Budgets erstellt werden" guides: "Anleitungen zum Erstellen von Anträgen und Investitionsprojekten" From 3d6d4cf1ebb7decd958591900813757cd096ddd5 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 3 Nov 2018 13:20:29 +0100 Subject: [PATCH 392/565] New translations community.yml (Russian) --- config/locales/ru/community.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/config/locales/ru/community.yml b/config/locales/ru/community.yml index ddc9d1e32..f4828a288 100644 --- a/config/locales/ru/community.yml +++ b/config/locales/ru/community.yml @@ -1 +1,8 @@ ru: + community: + sidebar: + title: Сообщество + description: + proposal: Участвуйте в сообществе пользователей данного предложения. + investment: Участвуйте в сообществе пользователей данной инвестиции. + button_to_access: Доступ к сообществу From 1f8146bdb3ab4333ec212313a791b623a5efaf13 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 3 Nov 2018 13:30:55 +0100 Subject: [PATCH 393/565] New translations community.yml (Russian) --- config/locales/ru/community.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/config/locales/ru/community.yml b/config/locales/ru/community.yml index f4828a288..7be2c055d 100644 --- a/config/locales/ru/community.yml +++ b/config/locales/ru/community.yml @@ -6,3 +6,26 @@ ru: proposal: Участвуйте в сообществе пользователей данного предложения. investment: Участвуйте в сообществе пользователей данной инвестиции. button_to_access: Доступ к сообществу + show: + title: + investment: Сообщество бюджетной инвестиции + description: + proposal: Участвуйте в сообществе этого предложения. Активное сообщество может помочь улучшить содержание предложения и повысить его распространение, чтобы получить больше поддержки. + investment: Участвуйте в сообществе этой бюджетной инвестиции. Активное сообщество может помочь улучшить содержание бюджетных инвестиций и повысить его распространение, чтобы получить больше поддержки. + create_first_community_topic: + first_theme_not_logged_in: Нет проблем, участвуйте в создании первого. + first_theme: Создать первую тему сообщества + sub_first_theme: "Для создания темы необходимо %{sign_in} или %{sign_up}." + sign_in: "войти" + sign_up: "регистрация" + tab: + participants: Участники + sidebar: + participate: Участвовать + new_topic: Создать тему + topic: + edit: Редактировать тему + destroy: Удалить тему + comments: + zero: Без комментариев + author: Автор From cfa7085e3e83711f6c4f6af6e12b3c7a383253ce Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 3 Nov 2018 13:40:55 +0100 Subject: [PATCH 394/565] New translations community.yml (Russian) --- config/locales/ru/community.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/config/locales/ru/community.yml b/config/locales/ru/community.yml index 7be2c055d..c03afa6aa 100644 --- a/config/locales/ru/community.yml +++ b/config/locales/ru/community.yml @@ -8,6 +8,7 @@ ru: button_to_access: Доступ к сообществу show: title: + proposal: Сообщество предложений investment: Сообщество бюджетной инвестиции description: proposal: Участвуйте в сообществе этого предложения. Активное сообщество может помочь улучшить содержание предложения и повысить его распространение, чтобы получить больше поддержки. @@ -29,3 +30,29 @@ ru: comments: zero: Без комментариев author: Автор + back: Вернуться к %{community} %{proposal} + topic: + create: Создать тему + edit: Редактировать тему + form: + topic_title: Название + topic_text: Первоначальный текст + new: + submit_button: Создать тему + edit: + submit_button: Редактировать тему + create: + submit_button: Создать тему + update: + submit_button: Обновить тему + show: + tab: + comments_tab: Комментарии + sidebar: + recommendations_title: Рекомендации по созданию темы + recommendation_one: Не пишите название темы или целые предложения заглавными буквами. В интернете это считается криком. И никто не любит, когда кричат. + recommendation_two: Любая тема или комментарий, подразумевающие незаконные действия, будут устранены, а также те, которые намерены саботировать пространство предмета, все остальное разрешено. + recommendation_three: Наслаждайтесь этим пространством, голосами, которые заполняют его, это тоже ваше. + topics: + show: + login_to_comment: Чтобы оставить комментарий вы должны, %{signin} или %{signup}. From c27c5a4ba317d3a9bf27ddbf7efe84414fc690b3 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 3 Nov 2018 14:00:28 +0100 Subject: [PATCH 395/565] New translations documents.yml (Russian) --- config/locales/ru/documents.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/config/locales/ru/documents.yml b/config/locales/ru/documents.yml index ddc9d1e32..e2b18e158 100644 --- a/config/locales/ru/documents.yml +++ b/config/locales/ru/documents.yml @@ -1 +1,10 @@ ru: + documents: + title: Документы + max_documents_allowed_reached_html: Вы достигли максимально допустимого количества документов! <strong>Вы должны удалить одну, прежде чем вы сможете загрузить другую.</strong> + form: + title: Документы + title_placeholder: Добавить описательное название для документа + attachment_label: Выберите документ + delete_button: Убрать документ + cancel_button: Отменить From ce08ef33a0ba24a8131a62174b34cadbb8e7dc82 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 3 Nov 2018 14:10:57 +0100 Subject: [PATCH 396/565] New translations documents.yml (Russian) --- config/locales/ru/documents.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/config/locales/ru/documents.yml b/config/locales/ru/documents.yml index e2b18e158..3ff90e12d 100644 --- a/config/locales/ru/documents.yml +++ b/config/locales/ru/documents.yml @@ -8,3 +8,17 @@ ru: attachment_label: Выберите документ delete_button: Убрать документ cancel_button: Отменить + note: "Вы можете загрузить максимум %{max_documents_allowed} документы следующих типов контента: %{accepted_content_types}, до %{max_file_size} Мб на файл." + add_new_document: Добавить новый документ + actions: + destroy: + notice: Документ был успешно удален. + alert: Невозможно уничтожить документ. + confirm: Вы уверены, что хотите удалить документ? Это действие невозможно отменить! + buttons: + download_document: Скачать файл + destroy_document: Уничтожить документ + errors: + messages: + in_between: должно быть между %{min} и %{max} + wrong_content_type: тип содержимого %{content_type} не соответствует ни одному из принятых типов содержимого %{accepted_content_types} From 55cb11669035d0c2cf04f0b596f72a015880dcb8 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 3 Nov 2018 15:00:58 +0100 Subject: [PATCH 397/565] New translations images.yml (Russian) --- config/locales/ru/images.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/config/locales/ru/images.yml b/config/locales/ru/images.yml index ddc9d1e32..347fd1c14 100644 --- a/config/locales/ru/images.yml +++ b/config/locales/ru/images.yml @@ -1 +1,21 @@ ru: + images: + remove_image: Убрать изображение + form: + title: Описательное изображение + title_placeholder: Добавить описательное название для изображения + attachment_label: Выбрать изображение + delete_button: Убрать изображение + note: "Вы можете загрузить одно изображение следующих типов контента: %{accepted_content_types}, до %{max_file_size} Мб." + add_new_image: Добавить изображение + admin_title: "Изображение" + admin_alt_text: "Альтернативный текст для изображения" + actions: + destroy: + notice: Изображение было успешно удалено. + alert: Невозможно уничтожить изображение. + confirm: Вы уверены, что хотите удалить изображение? Это действие невозможно отменить! + errors: + messages: + in_between: должно быть между %{min} и %{max} + wrong_content_type: тип содержимого %{content_type} не соответствует ни одному из принятых типов содержимого %{accepted_content_types} From 13a221fc6b530a824da364150f691eb660d21008 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 3 Nov 2018 15:30:57 +0100 Subject: [PATCH 398/565] New translations devise.yml (Russian) --- config/locales/ru/devise.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/config/locales/ru/devise.yml b/config/locales/ru/devise.yml index 6c9832717..4d01582c9 100644 --- a/config/locales/ru/devise.yml +++ b/config/locales/ru/devise.yml @@ -1,5 +1,11 @@ ru: devise: + password_expired: + expire_password: "Срок действия пароля истёк" + change_required: "Срок действия вашего пароля истёк" + change_password: "Измените ваш пароль" + new_password: "Новый пароль" + updated: "Пароль успешно обновлён" confirmations: confirmed: "Ваша учётная запись подтверждена. Теперь вы вошли в систему." send_instructions: "В течение нескольких минут вы получите письмо с инструкциями по подтверждению вашей учётной записи." @@ -9,6 +15,7 @@ ru: inactive: "Ваша учётная запись ещё не активирована." invalid: "Неверный адрес e-mail или пароль." locked: "Ваша учётная запись заблокирована." + last_attempt: "У вас есть еще одна попытка, прежде чем ваша учетная запись будет заблокирована." timeout: "Ваш сеанс закончился. Пожалуйста, войдите в систему снова." unauthenticated: "Вам необходимо войти в систему или зарегистрироваться." unconfirmed: "Вы должны подтвердить вашу учётную запись." From b0676f7e728a5ee2567fd5198ccdf06ace4bcdc3 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 3 Nov 2018 15:40:29 +0100 Subject: [PATCH 399/565] New translations devise.yml (Russian) --- config/locales/ru/devise.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/config/locales/ru/devise.yml b/config/locales/ru/devise.yml index 4d01582c9..aa7089e62 100644 --- a/config/locales/ru/devise.yml +++ b/config/locales/ru/devise.yml @@ -16,6 +16,7 @@ ru: invalid: "Неверный адрес e-mail или пароль." locked: "Ваша учётная запись заблокирована." last_attempt: "У вас есть еще одна попытка, прежде чем ваша учетная запись будет заблокирована." + not_found_in_database: "Недействительный %{authentication_keys} или пароль." timeout: "Ваш сеанс закончился. Пожалуйста, войдите в систему снова." unauthenticated: "Вам необходимо войти в систему или зарегистрироваться." unconfirmed: "Вы должны подтвердить вашу учётную запись." @@ -30,16 +31,23 @@ ru: failure: "Вы не можете войти в систему с учётной записью из %{kind}, т.к. \"%{reason}\"." success: "Вход в систему выполнен с учётной записью из %{kind}." passwords: + no_token: "Вы не можете получить доступ к этой странице, за исключением ссылки на сброс пароля. Если вы получили доступ к нему через ссылку сброса пароля, пожалуйста, проверьте, что URL-адрес является полным." send_instructions: "В течение нескольких минут вы получите письмо с инструкциями по восстановлению вашего пароля." send_paranoid_instructions: "Если ваш адрес e-mail есть в нашей базе данных, то в течение нескольких минут вы получите письмо с инструкциями по восстановлению вашего пароля." updated: "Ваш пароль изменён. Теперь вы вошли в систему." updated_not_active: "Ваш пароль изменен." registrations: + destroyed: "До свидания! Ваш аккаунт был отменен. Мы надеемся увидеть вас снова." signed_up: "Добро пожаловать! Вы успешно зарегистрировались." + signed_up_but_inactive: "Ваша регистрация прошла успешно, но вы не смогли войти в систему, потому что ваша учетная запись не была активирована." + signed_up_but_locked: "Ваша регистрация прошла успешно, но вы не смогли войти в систему, потому что ваша учетная запись заблокирована." + signed_up_but_unconfirmed: "Вам отправлено сообщение, содержащее проверочную ссылку. Пожалуйста, нажмите на эту ссылку, чтобы активировать свой аккаунт." + update_needs_confirmation: "Ваша учетная запись была успешно обновлена; однако, нам необходимо подтвердить ваш новый адрес электронной почты. Пожалуйста, проверьте свою электронную почту и нажмите на ссылку, чтобы завершить подтверждение вашего нового адреса электронной почты." updated: "Ваша учётная запись изменена." sessions: signed_in: "Вход в систему выполнен." signed_out: "Выход из системы выполнен." + already_signed_out: "Выход из системы выполнен." unlocks: send_instructions: "В течение нескольких минут вы получите письмо с инструкциями по разблокировке вашей учётной записи." send_paranoid_instructions: "Если ваша учётная запись существует, то в течение нескольких минут вы получите письмо с инструкциями по её разблокировке." From 979af8ff167c3a9fad91f62edf19459691a6cbb4 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 3 Nov 2018 15:50:56 +0100 Subject: [PATCH 400/565] New translations devise.yml (Russian) --- config/locales/ru/devise.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/config/locales/ru/devise.yml b/config/locales/ru/devise.yml index aa7089e62..f86eccaac 100644 --- a/config/locales/ru/devise.yml +++ b/config/locales/ru/devise.yml @@ -52,3 +52,9 @@ ru: send_instructions: "В течение нескольких минут вы получите письмо с инструкциями по разблокировке вашей учётной записи." send_paranoid_instructions: "Если ваша учётная запись существует, то в течение нескольких минут вы получите письмо с инструкциями по её разблокировке." unlocked: "Ваша учётная запись разблокирована. Теперь вы вошли в систему." + errors: + messages: + already_confirmed: "Вы уже подтверждены; пожалуйста, попробуйте войти в систему." + confirmation_period_expired: "Вам необходимо быть подтвержденным в пределах %{period}; пожалуйста, сделайте повторный запрос." + expired: "истек срок действия; пожалуйста, сделайте повторный запрос." + equal_to_current_password: "должен отличаться от текущего пароля." From 1038240038abc70a7290c8ae7133701cacfea4b1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 3 Nov 2018 16:00:57 +0100 Subject: [PATCH 401/565] New translations devise.yml (Russian) --- config/locales/ru/devise.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/locales/ru/devise.yml b/config/locales/ru/devise.yml index f86eccaac..5bfbed022 100644 --- a/config/locales/ru/devise.yml +++ b/config/locales/ru/devise.yml @@ -57,4 +57,6 @@ ru: already_confirmed: "Вы уже подтверждены; пожалуйста, попробуйте войти в систему." confirmation_period_expired: "Вам необходимо быть подтвержденным в пределах %{period}; пожалуйста, сделайте повторный запрос." expired: "истек срок действия; пожалуйста, сделайте повторный запрос." + not_found: "не найдено." + not_locked: "не было заблокировано." equal_to_current_password: "должен отличаться от текущего пароля." From 34035d34544c6776bdcef485fa7b68b199eccddf Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 3 Nov 2018 22:30:41 +0100 Subject: [PATCH 402/565] New translations rails.yml (Arabic) --- config/locales/ar/rails.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/locales/ar/rails.yml b/config/locales/ar/rails.yml index 8096c6092..8f779ed72 100644 --- a/config/locales/ar/rails.yml +++ b/config/locales/ar/rails.yml @@ -50,12 +50,16 @@ ar: - ':اليوم' datetime: prompts: + day: اليوم + hour: الساعة minute: دقيقة month: شهر second: ثواني year: السنة errors: messages: + accepted: يجب أن يكون مقبول + blank: لا يمكن أن يكون فارغا present: يجب أن يكون فارغا confirmation: لا يتطابق مع %{attribute} empty: لا يمكن أن يكون فارغا From 863fd8a54048995cf45f4646563cd953959589fa Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Sat, 3 Nov 2018 22:30:43 +0100 Subject: [PATCH 403/565] New translations moderation.yml (Arabic) --- config/locales/ar/moderation.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/config/locales/ar/moderation.yml b/config/locales/ar/moderation.yml index 1ac28d56b..90b8f7157 100644 --- a/config/locales/ar/moderation.yml +++ b/config/locales/ar/moderation.yml @@ -7,6 +7,8 @@ ar: filters: all: الكل pending_flag_review: معلق + headers: + comment: التعليق hide_comments: إخفاء التعليقات order: طلب orders: @@ -32,6 +34,9 @@ ar: filters: all: الكل order: ترتيب حسب + budget_investments: + index: + confirm: هل أنت متأكد؟ proposal_notifications: index: order: الطلب من طرف From 34e14a041196d6f84edbdcbb078928eb5d955383 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 07:50:39 +0100 Subject: [PATCH 404/565] New translations devise.yml (Russian) --- config/locales/ru/devise.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/devise.yml b/config/locales/ru/devise.yml index 5bfbed022..9db74d926 100644 --- a/config/locales/ru/devise.yml +++ b/config/locales/ru/devise.yml @@ -31,7 +31,7 @@ ru: failure: "Вы не можете войти в систему с учётной записью из %{kind}, т.к. \"%{reason}\"." success: "Вход в систему выполнен с учётной записью из %{kind}." passwords: - no_token: "Вы не можете получить доступ к этой странице, за исключением ссылки на сброс пароля. Если вы получили доступ к нему через ссылку сброса пароля, пожалуйста, проверьте, что URL-адрес является полным." + no_token: "Доступ к этой странице вы можете получить только перейдя по ссылке на сброс пароля. Если вы получили доступ через ссылку сброса пароля, пожалуйста, проверьте, что URL-адрес является полным." send_instructions: "В течение нескольких минут вы получите письмо с инструкциями по восстановлению вашего пароля." send_paranoid_instructions: "Если ваш адрес e-mail есть в нашей базе данных, то в течение нескольких минут вы получите письмо с инструкциями по восстановлению вашего пароля." updated: "Ваш пароль изменён. Теперь вы вошли в систему." From fa146bdd54b8500fa7aebc0c6f95ff54ef4f10d8 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 08:21:13 +0100 Subject: [PATCH 405/565] New translations community.yml (Russian) --- config/locales/ru/community.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/ru/community.yml b/config/locales/ru/community.yml index c03afa6aa..fcabd7fb0 100644 --- a/config/locales/ru/community.yml +++ b/config/locales/ru/community.yml @@ -3,8 +3,8 @@ ru: sidebar: title: Сообщество description: - proposal: Участвуйте в сообществе пользователей данного предложения. - investment: Участвуйте в сообществе пользователей данной инвестиции. + proposal: Участвовать в сообществе пользователей данного предложения. + investment: Участвовать в сообществе пользователей данной инвестиции. button_to_access: Доступ к сообществу show: title: From fc11213b53cbc7d9e61df72659a446770d62cf64 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 08:31:11 +0100 Subject: [PATCH 406/565] New translations community.yml (Russian) --- config/locales/ru/community.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/community.yml b/config/locales/ru/community.yml index fcabd7fb0..b87d7ed43 100644 --- a/config/locales/ru/community.yml +++ b/config/locales/ru/community.yml @@ -11,7 +11,7 @@ ru: proposal: Сообщество предложений investment: Сообщество бюджетной инвестиции description: - proposal: Участвуйте в сообществе этого предложения. Активное сообщество может помочь улучшить содержание предложения и повысить его распространение, чтобы получить больше поддержки. + proposal: Участвовать в сообществе этого предложения. Чтобы получить больше поддержки, активное сообщество может содействовать улучшению содержания предложения и его распространению. investment: Участвуйте в сообществе этой бюджетной инвестиции. Активное сообщество может помочь улучшить содержание бюджетных инвестиций и повысить его распространение, чтобы получить больше поддержки. create_first_community_topic: first_theme_not_logged_in: Нет проблем, участвуйте в создании первого. From 3fe5fb718e44844778329c1b607ea2ba9e2df281 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 08:51:06 +0100 Subject: [PATCH 407/565] New translations community.yml (Russian) --- config/locales/ru/community.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/community.yml b/config/locales/ru/community.yml index b87d7ed43..6a1609b09 100644 --- a/config/locales/ru/community.yml +++ b/config/locales/ru/community.yml @@ -50,7 +50,7 @@ ru: comments_tab: Комментарии sidebar: recommendations_title: Рекомендации по созданию темы - recommendation_one: Не пишите название темы или целые предложения заглавными буквами. В интернете это считается криком. И никто не любит, когда кричат. + recommendation_one: Не пишите название темы или целые предложения заглавными буквами. В интернете это считается криком. И никто не любит, когда на него кричат. recommendation_two: Любая тема или комментарий, подразумевающие незаконные действия, будут устранены, а также те, которые намерены саботировать пространство предмета, все остальное разрешено. recommendation_three: Наслаждайтесь этим пространством, голосами, которые заполняют его, это тоже ваше. topics: From a6e3079d8ff8a8a036b2b930e67d84586211de8a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 09:40:29 +0100 Subject: [PATCH 408/565] New translations devise.yml (Russian) --- config/locales/ru/devise.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/devise.yml b/config/locales/ru/devise.yml index 9db74d926..bdcb58e7c 100644 --- a/config/locales/ru/devise.yml +++ b/config/locales/ru/devise.yml @@ -55,7 +55,7 @@ ru: errors: messages: already_confirmed: "Вы уже подтверждены; пожалуйста, попробуйте войти в систему." - confirmation_period_expired: "Вам необходимо быть подтвержденным в пределах %{period}; пожалуйста, сделайте повторный запрос." + confirmation_period_expired: "Вам необходимо получить подтверждение в течение %{period}; пожалуйста, сделайте повторный запрос." expired: "истек срок действия; пожалуйста, сделайте повторный запрос." not_found: "не найдено." not_locked: "не было заблокировано." From ee644b6fca82d7aca75bef567743cf1047dd33cd Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 09:40:30 +0100 Subject: [PATCH 409/565] New translations community.yml (Russian) --- config/locales/ru/community.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/ru/community.yml b/config/locales/ru/community.yml index 6a1609b09..360885d05 100644 --- a/config/locales/ru/community.yml +++ b/config/locales/ru/community.yml @@ -9,7 +9,7 @@ ru: show: title: proposal: Сообщество предложений - investment: Сообщество бюджетной инвестиции + investment: Сообщество бюджетных инвестиций description: proposal: Участвовать в сообществе этого предложения. Чтобы получить больше поддержки, активное сообщество может содействовать улучшению содержания предложения и его распространению. investment: Участвуйте в сообществе этой бюджетной инвестиции. Активное сообщество может помочь улучшить содержание бюджетных инвестиций и повысить его распространение, чтобы получить больше поддержки. @@ -28,7 +28,7 @@ ru: edit: Редактировать тему destroy: Удалить тему comments: - zero: Без комментариев + zero: Нет комментариев author: Автор back: Вернуться к %{community} %{proposal} topic: From 2755efc45783f78f7c28223a3eb30997fa002843 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 09:50:34 +0100 Subject: [PATCH 410/565] New translations community.yml (Russian) --- config/locales/ru/community.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/ru/community.yml b/config/locales/ru/community.yml index 360885d05..3e9d5cddd 100644 --- a/config/locales/ru/community.yml +++ b/config/locales/ru/community.yml @@ -14,7 +14,7 @@ ru: proposal: Участвовать в сообществе этого предложения. Чтобы получить больше поддержки, активное сообщество может содействовать улучшению содержания предложения и его распространению. investment: Участвуйте в сообществе этой бюджетной инвестиции. Активное сообщество может помочь улучшить содержание бюджетных инвестиций и повысить его распространение, чтобы получить больше поддержки. create_first_community_topic: - first_theme_not_logged_in: Нет проблем, участвуйте в создании первого. + first_theme_not_logged_in: Нет ни одной темы, участвуйте, чтобы создать первую. first_theme: Создать первую тему сообщества sub_first_theme: "Для создания темы необходимо %{sign_in} или %{sign_up}." sign_in: "войти" @@ -51,8 +51,8 @@ ru: sidebar: recommendations_title: Рекомендации по созданию темы recommendation_one: Не пишите название темы или целые предложения заглавными буквами. В интернете это считается криком. И никто не любит, когда на него кричат. - recommendation_two: Любая тема или комментарий, подразумевающие незаконные действия, будут устранены, а также те, которые намерены саботировать пространство предмета, все остальное разрешено. + recommendation_two: Любая тема или комментарий, подразумевающие незаконные действия, будут удалены, а также все, что может саботировать пространство данной темы, все остальное разрешено. recommendation_three: Наслаждайтесь этим пространством, голосами, которые заполняют его, это тоже ваше. topics: show: - login_to_comment: Чтобы оставить комментарий вы должны, %{signin} или %{signup}. + login_to_comment: Чтобы оставить комментарий, вы должны %{signin} или %{signup}. From f81b330a0853b622eb12488d8d9cc3ca7f539701 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 09:50:35 +0100 Subject: [PATCH 411/565] New translations documents.yml (Russian) --- config/locales/ru/documents.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/documents.yml b/config/locales/ru/documents.yml index 3ff90e12d..aed3072d3 100644 --- a/config/locales/ru/documents.yml +++ b/config/locales/ru/documents.yml @@ -1,7 +1,7 @@ ru: documents: title: Документы - max_documents_allowed_reached_html: Вы достигли максимально допустимого количества документов! <strong>Вы должны удалить одну, прежде чем вы сможете загрузить другую.</strong> + max_documents_allowed_reached_html: Вы достигли максимально допустимого количества документов! <strong>Вы должны удалить один, прежде чем вы сможете загрузить другой.</strong> form: title: Документы title_placeholder: Добавить описательное название для документа From b147aba7e71b285b2d53a8396c2a14e42246533e Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 10:00:40 +0100 Subject: [PATCH 412/565] New translations documents.yml (Russian) --- config/locales/ru/documents.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/documents.yml b/config/locales/ru/documents.yml index aed3072d3..2c551cfcf 100644 --- a/config/locales/ru/documents.yml +++ b/config/locales/ru/documents.yml @@ -8,7 +8,7 @@ ru: attachment_label: Выберите документ delete_button: Убрать документ cancel_button: Отменить - note: "Вы можете загрузить максимум %{max_documents_allowed} документы следующих типов контента: %{accepted_content_types}, до %{max_file_size} Мб на файл." + note: "Вы можете загрузить максимум %{max_documents_allowed} документа(ов) следующих типов контента: %{accepted_content_types}, до %{max_file_size} Мб на файл." add_new_document: Добавить новый документ actions: destroy: From 79f93d1c7a4ae11aeb3c6be2f450a89e19f22b49 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:40:11 +0100 Subject: [PATCH 413/565] New translations general.yml (Galician) --- config/locales/gl/general.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/gl/general.yml b/config/locales/gl/general.yml index 2171e8ecc..6743f44be 100644 --- a/config/locales/gl/general.yml +++ b/config/locales/gl/general.yml @@ -450,6 +450,9 @@ gl: update: form: submit_button: Gardar cambios + share: + message: "Veño de apoiar a proposta %{summary} en %{org}. Se che interesa, apoia ti tamén!" + message_mobile: "Veño de apoiar a proposta %{summary} en %{handle}. Se che interesa, apoia ti tamén!" polls: all: "Todas" no_dates: "sen data asignada" From 3b1a76c1073628a95e8894ab7d96433a4b3cb3fc Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:40:16 +0100 Subject: [PATCH 414/565] New translations admin.yml (Galician) --- config/locales/gl/admin.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/gl/admin.yml b/config/locales/gl/admin.yml index 2dac2d209..111768d59 100644 --- a/config/locales/gl/admin.yml +++ b/config/locales/gl/admin.yml @@ -640,6 +640,9 @@ gl: title: Vista previa do boletín informativo send: Enviar affected_users: (%{n} usuarios afectados) + sent_emails: + one: 1 mensaxe enviada + other: "%{count} mensaxes enviadas" sent_at: Enviado a subject: Asunto segment_recipient: Destinatarios From 8e2b356a9e0d5ebd8c0ab6c73baa5554ba93e3d9 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:30 +0100 Subject: [PATCH 415/565] New translations i18n.yml (Arabic) --- config/locales/ar/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/ar/i18n.yml b/config/locales/ar/i18n.yml index c257bc08a..b83c0abd5 100644 --- a/config/locales/ar/i18n.yml +++ b/config/locales/ar/i18n.yml @@ -1 +1,4 @@ ar: + i18n: + language: + name: "عربى" From 894023aa051b16867b5be0a3fc2708949f030156 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:31 +0100 Subject: [PATCH 416/565] New translations i18n.yml (Asturian) --- config/locales/ast/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/ast/i18n.yml b/config/locales/ast/i18n.yml index d762c9399..2201eb221 100644 --- a/config/locales/ast/i18n.yml +++ b/config/locales/ast/i18n.yml @@ -1 +1,4 @@ ast: + i18n: + language: + name: "Asturianu" From d871cf83afd365a0bf25147d4c0401b0f0a9007a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:32 +0100 Subject: [PATCH 417/565] New translations i18n.yml (Catalan) --- config/locales/ca/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/ca/i18n.yml b/config/locales/ca/i18n.yml index f0c487273..dd63c38b4 100644 --- a/config/locales/ca/i18n.yml +++ b/config/locales/ca/i18n.yml @@ -1 +1,4 @@ ca: + i18n: + language: + name: "Català" From 157ba6c5a103fd1605446a05725543037ad0f028 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:33 +0100 Subject: [PATCH 418/565] New translations i18n.yml (English, United Kingdom) --- config/locales/en-GB/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/en-GB/i18n.yml b/config/locales/en-GB/i18n.yml index ef03d1810..fa46e152f 100644 --- a/config/locales/en-GB/i18n.yml +++ b/config/locales/en-GB/i18n.yml @@ -1 +1,4 @@ en-GB: + i18n: + language: + name: "English (Great Britain)" From 99a62d21c4cc97b5667eaf37fe2e0a04c263af5f Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:34 +0100 Subject: [PATCH 419/565] New translations i18n.yml (English, United States) --- config/locales/en-US/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/en-US/i18n.yml b/config/locales/en-US/i18n.yml index 519704201..0a10dd1fc 100644 --- a/config/locales/en-US/i18n.yml +++ b/config/locales/en-US/i18n.yml @@ -1 +1,4 @@ en-US: + i18n: + language: + name: "English (USA)" From 589baa9afdee0ebc4ebc186214fe7fd715a2a108 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:35 +0100 Subject: [PATCH 420/565] New translations i18n.yml (Spanish, Argentina) --- config/locales/es-AR/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-AR/i18n.yml b/config/locales/es-AR/i18n.yml index 515d5c1ed..0e849ea0c 100644 --- a/config/locales/es-AR/i18n.yml +++ b/config/locales/es-AR/i18n.yml @@ -1 +1,4 @@ es-AR: + i18n: + language: + name: "Español (Argentina)" From 6286f73e94e5e3783e2724a09491e589ef45fab5 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:36 +0100 Subject: [PATCH 421/565] New translations i18n.yml (Spanish, Bolivia) --- config/locales/es-BO/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-BO/i18n.yml b/config/locales/es-BO/i18n.yml index 2b91dc237..7fa36009c 100644 --- a/config/locales/es-BO/i18n.yml +++ b/config/locales/es-BO/i18n.yml @@ -1 +1,4 @@ es-BO: + i18n: + language: + name: "Español (Bolivia)" From 6bae39901c0a80b265c8e82e17bd9ce2c1837c74 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:37 +0100 Subject: [PATCH 422/565] New translations i18n.yml (Spanish, Chile) --- config/locales/es-CL/i18n.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/es-CL/i18n.yml b/config/locales/es-CL/i18n.yml index 8c94c995b..5b4ac922b 100644 --- a/config/locales/es-CL/i18n.yml +++ b/config/locales/es-CL/i18n.yml @@ -1,4 +1,4 @@ es-CL: i18n: language: - name: "Inglés" + name: "Español (Chile)" From a39c856348ef902dbad9c88095131f79ee17fe66 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:38 +0100 Subject: [PATCH 423/565] New translations i18n.yml (Spanish, Colombia) --- config/locales/es-CO/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-CO/i18n.yml b/config/locales/es-CO/i18n.yml index 932163f72..6b4d9d18a 100644 --- a/config/locales/es-CO/i18n.yml +++ b/config/locales/es-CO/i18n.yml @@ -1 +1,4 @@ es-CO: + i18n: + language: + name: "Español (Colombia)" From e28044e51a6ad3e667d4daad84b06019a4605f28 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:39 +0100 Subject: [PATCH 424/565] New translations i18n.yml (Spanish, Costa Rica) --- config/locales/es-CR/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-CR/i18n.yml b/config/locales/es-CR/i18n.yml index 751c34276..3997c81be 100644 --- a/config/locales/es-CR/i18n.yml +++ b/config/locales/es-CR/i18n.yml @@ -1 +1,4 @@ es-CR: + i18n: + language: + name: "Español (Costa Rica)" From bfb4131778b6cbe4948b34b5da37fe8f14ac58d5 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:40 +0100 Subject: [PATCH 425/565] New translations i18n.yml (Spanish, Dominican Republic) --- config/locales/es-DO/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-DO/i18n.yml b/config/locales/es-DO/i18n.yml index 0a3dffb85..20cfc8bed 100644 --- a/config/locales/es-DO/i18n.yml +++ b/config/locales/es-DO/i18n.yml @@ -1 +1,4 @@ es-DO: + i18n: + language: + name: "Español (República Dominicana)" From d3b3d13f028ecfb9bcd2e16d663f60b0fa5606e2 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:41 +0100 Subject: [PATCH 426/565] New translations i18n.yml (Spanish, Ecuador) --- config/locales/es-EC/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-EC/i18n.yml b/config/locales/es-EC/i18n.yml index f8dca1eb9..5ce299dd8 100644 --- a/config/locales/es-EC/i18n.yml +++ b/config/locales/es-EC/i18n.yml @@ -1 +1,4 @@ es-EC: + i18n: + language: + name: "Español (Ecuador)" From 642cbfe214630d4f26089c0ee4bbfaa25eacac1a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:41 +0100 Subject: [PATCH 427/565] New translations i18n.yml (Spanish, Guatemala) --- config/locales/es-GT/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-GT/i18n.yml b/config/locales/es-GT/i18n.yml index b818fd59a..c9dc2f2ff 100644 --- a/config/locales/es-GT/i18n.yml +++ b/config/locales/es-GT/i18n.yml @@ -1 +1,4 @@ es-GT: + i18n: + language: + name: "Español (Guatemala)" From fc6e2b53e7dfbdf783498d0bb81555e1293d3aae Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 13:50:42 +0100 Subject: [PATCH 428/565] New translations i18n.yml (Spanish, Honduras) --- config/locales/es-HN/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-HN/i18n.yml b/config/locales/es-HN/i18n.yml index fb780fbb4..2a44a6dcb 100644 --- a/config/locales/es-HN/i18n.yml +++ b/config/locales/es-HN/i18n.yml @@ -1 +1,4 @@ es-HN: + i18n: + language: + name: "Español (Honduras)" From 0402ce1eccf43013ef2091808af1aca458ee6da2 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:42 +0100 Subject: [PATCH 429/565] New translations i18n.yml (Basque) --- config/locales/eu-ES/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/eu-ES/i18n.yml b/config/locales/eu-ES/i18n.yml index 566e176fc..2be0f0eca 100644 --- a/config/locales/eu-ES/i18n.yml +++ b/config/locales/eu-ES/i18n.yml @@ -1 +1,4 @@ eu: + i18n: + language: + name: "Euskara" From b7624e50c7c89e78c1b474bbff16e9662797b9ff Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:44 +0100 Subject: [PATCH 430/565] New translations i18n.yml (Spanish, El Salvador) --- config/locales/es-SV/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-SV/i18n.yml b/config/locales/es-SV/i18n.yml index 480fa2a22..a778546ae 100644 --- a/config/locales/es-SV/i18n.yml +++ b/config/locales/es-SV/i18n.yml @@ -1 +1,4 @@ es-SV: + i18n: + language: + name: "Español (El Salvador)" From 73979674d163cf75b1163cabf01dc8d8949b3415 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:45 +0100 Subject: [PATCH 431/565] New translations i18n.yml (Spanish, Venezuela) --- config/locales/es-VE/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-VE/i18n.yml b/config/locales/es-VE/i18n.yml index 15a812bff..0e71c66fb 100644 --- a/config/locales/es-VE/i18n.yml +++ b/config/locales/es-VE/i18n.yml @@ -1 +1,4 @@ es-VE: + i18n: + language: + name: "Español (Venezuela)" From 3f88edb338e8431ca2b45b9e8f27a780097bdb09 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:46 +0100 Subject: [PATCH 432/565] New translations i18n.yml (Spanish, Uruguay) --- config/locales/es-UY/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-UY/i18n.yml b/config/locales/es-UY/i18n.yml index b83e3b863..84d9d2b10 100644 --- a/config/locales/es-UY/i18n.yml +++ b/config/locales/es-UY/i18n.yml @@ -1 +1,4 @@ es-UY: + i18n: + language: + name: "Español (Uruguay)" From 45b81745ea0e6863a52d3edc34ce6fafdfd8933c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:46 +0100 Subject: [PATCH 433/565] New translations i18n.yml (Spanish, Puerto Rico) --- config/locales/es-PR/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-PR/i18n.yml b/config/locales/es-PR/i18n.yml index cbf250a81..6926f3f80 100644 --- a/config/locales/es-PR/i18n.yml +++ b/config/locales/es-PR/i18n.yml @@ -1 +1,4 @@ es-PR: + i18n: + language: + name: "Español (Puerto Rico)" From 39e20a2b8bf64e526a4fc8bbd013b46c8a8b1de2 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:47 +0100 Subject: [PATCH 434/565] New translations i18n.yml (Spanish, Peru) --- config/locales/es-PE/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-PE/i18n.yml b/config/locales/es-PE/i18n.yml index 9fe10223f..31077859f 100644 --- a/config/locales/es-PE/i18n.yml +++ b/config/locales/es-PE/i18n.yml @@ -1 +1,4 @@ es-PE: + i18n: + language: + name: "Español (Perú)" From f0bb964e38dca8a5b0b0d33e97c4fe495da06b13 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:48 +0100 Subject: [PATCH 435/565] New translations i18n.yml (Spanish, Paraguay) --- config/locales/es-PY/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-PY/i18n.yml b/config/locales/es-PY/i18n.yml index 551da0c00..8cb40c59d 100644 --- a/config/locales/es-PY/i18n.yml +++ b/config/locales/es-PY/i18n.yml @@ -1 +1,4 @@ es-PY: + i18n: + language: + name: "Español (Paraguay)" From 270500738db71bcc969af48148e38f27e61af458 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:49 +0100 Subject: [PATCH 436/565] New translations i18n.yml (Spanish, Panama) --- config/locales/es-PA/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-PA/i18n.yml b/config/locales/es-PA/i18n.yml index 39c36773a..8ae59f279 100644 --- a/config/locales/es-PA/i18n.yml +++ b/config/locales/es-PA/i18n.yml @@ -1 +1,4 @@ es-PA: + i18n: + language: + name: "Español (Panama)" From 8cc0616c139e1b09c46d98492255fac649b3fe8a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:50 +0100 Subject: [PATCH 437/565] New translations i18n.yml (Spanish, Nicaragua) --- config/locales/es-NI/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-NI/i18n.yml b/config/locales/es-NI/i18n.yml index 247f075c8..b9763846d 100644 --- a/config/locales/es-NI/i18n.yml +++ b/config/locales/es-NI/i18n.yml @@ -1 +1,4 @@ es-NI: + i18n: + language: + name: "Español (Nicaragua)" From 1b3f4286321247dcce15708621f171607d3d7176 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:51 +0100 Subject: [PATCH 438/565] New translations i18n.yml (Spanish, Mexico) --- config/locales/es-MX/i18n.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/es-MX/i18n.yml b/config/locales/es-MX/i18n.yml index 7d72c57dd..e23c88f4e 100644 --- a/config/locales/es-MX/i18n.yml +++ b/config/locales/es-MX/i18n.yml @@ -1,4 +1,4 @@ es-MX: i18n: language: - name: "Inglés" + name: "Español (México)" From 95a37c59c216dfc0cf12aae70a5e3c116ac6f42a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:52 +0100 Subject: [PATCH 439/565] New translations i18n.yml (Somali) --- config/locales/so-SO/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/so-SO/i18n.yml b/config/locales/so-SO/i18n.yml index 11720879b..3a7312d46 100644 --- a/config/locales/so-SO/i18n.yml +++ b/config/locales/so-SO/i18n.yml @@ -1 +1,4 @@ so: + i18n: + language: + name: "Af Soomaali" From 91e890588c0e246f7ceb97cb3ac3f1f719e93196 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:53 +0100 Subject: [PATCH 440/565] New translations i18n.yml (Dutch) --- config/locales/nl/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/nl/i18n.yml b/config/locales/nl/i18n.yml index f009eadee..012f08b40 100644 --- a/config/locales/nl/i18n.yml +++ b/config/locales/nl/i18n.yml @@ -1 +1,4 @@ nl: + i18n: + language: + name: "Nederlands" From 8e288c659d5cf719b822812e2e73415aab0df8bd Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:54 +0100 Subject: [PATCH 441/565] New translations i18n.yml (Slovenian) --- config/locales/sl-SI/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/sl-SI/i18n.yml b/config/locales/sl-SI/i18n.yml index 26c7ce2e3..477af8a3b 100644 --- a/config/locales/sl-SI/i18n.yml +++ b/config/locales/sl-SI/i18n.yml @@ -1 +1,4 @@ sl: + i18n: + language: + name: "Slovenščina" From 36e6245165ef3c4a892bcd26347bac8740454385 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:55 +0100 Subject: [PATCH 442/565] New translations i18n.yml (Russian) --- config/locales/ru/i18n.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/ru/i18n.yml b/config/locales/ru/i18n.yml index d2ab53738..8990ae0d4 100644 --- a/config/locales/ru/i18n.yml +++ b/config/locales/ru/i18n.yml @@ -1,4 +1,4 @@ ru: i18n: language: - name: "Английский" + name: "Pусский" From 2dcbeb5062e733ef0a8b8f83e87f896a6097cbe4 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:56 +0100 Subject: [PATCH 443/565] New translations i18n.yml (Portuguese, Brazilian) --- config/locales/pt-BR/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/pt-BR/i18n.yml b/config/locales/pt-BR/i18n.yml index 21460cded..d6610f9b5 100644 --- a/config/locales/pt-BR/i18n.yml +++ b/config/locales/pt-BR/i18n.yml @@ -1 +1,4 @@ pt-BR: + i18n: + language: + name: "Português brasileiro" From 5e72d65c493a072ea143b308b1b6679e02b7e18d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:57 +0100 Subject: [PATCH 444/565] New translations i18n.yml (Papiamento) --- config/locales/pap-PAP/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/pap-PAP/i18n.yml b/config/locales/pap-PAP/i18n.yml index 8e70e2fb9..76630598e 100644 --- a/config/locales/pap-PAP/i18n.yml +++ b/config/locales/pap-PAP/i18n.yml @@ -1 +1,4 @@ pap: + i18n: + language: + name: "Papiamentu" From 3786568b54a5c0775ee87cc8df269f63ccd5eb6a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:58 +0100 Subject: [PATCH 445/565] New translations i18n.yml (Italian) --- config/locales/it/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/it/i18n.yml b/config/locales/it/i18n.yml index 85830635a..71427a61c 100644 --- a/config/locales/it/i18n.yml +++ b/config/locales/it/i18n.yml @@ -1 +1,4 @@ it: + i18n: + language: + name: "Italiano" From 45cd2590a083bbcaf5921f9f01cfc1cd6a178207 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:12:59 +0100 Subject: [PATCH 446/565] New translations i18n.yml (Indonesian) --- config/locales/id-ID/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/id-ID/i18n.yml b/config/locales/id-ID/i18n.yml index 8446cbad9..525bded17 100644 --- a/config/locales/id-ID/i18n.yml +++ b/config/locales/id-ID/i18n.yml @@ -1 +1,4 @@ id: + i18n: + language: + name: "Bahasa Indonesia" From 063b006acf729cdaa3a3bd240afe68a95d20f448 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:13:00 +0100 Subject: [PATCH 447/565] New translations i18n.yml (Hebrew) --- config/locales/he/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/he/i18n.yml b/config/locales/he/i18n.yml index af6fa60a7..f8dfdde92 100644 --- a/config/locales/he/i18n.yml +++ b/config/locales/he/i18n.yml @@ -1 +1,4 @@ he: + i18n: + language: + name: "עברית" From 1c0ab6414b7b93f42af5e53b6046ea857d343c2d Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:13:01 +0100 Subject: [PATCH 448/565] New translations i18n.yml (Galician) --- config/locales/gl/i18n.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/gl/i18n.yml b/config/locales/gl/i18n.yml index 185304afb..7b4fcacff 100644 --- a/config/locales/gl/i18n.yml +++ b/config/locales/gl/i18n.yml @@ -1,4 +1,4 @@ gl: i18n: language: - name: "Inglés" + name: "Galego" From da2fff853ca6e035d25a1fe86cd647902470b584 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:13:02 +0100 Subject: [PATCH 449/565] New translations i18n.yml (Turkish) --- config/locales/tr-TR/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/tr-TR/i18n.yml b/config/locales/tr-TR/i18n.yml index 077d41667..d67a59ea3 100644 --- a/config/locales/tr-TR/i18n.yml +++ b/config/locales/tr-TR/i18n.yml @@ -1 +1,4 @@ tr: + i18n: + language: + name: "Türkçe" From 58c2862f8c2a8941794ede027c05f5f3f7f40ed4 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:13:57 +0100 Subject: [PATCH 450/565] New translations i18n.yml (Chinese Simplified) --- config/locales/zh-CN/i18n.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/zh-CN/i18n.yml b/config/locales/zh-CN/i18n.yml index 7dbe88d19..b0b2648e7 100644 --- a/config/locales/zh-CN/i18n.yml +++ b/config/locales/zh-CN/i18n.yml @@ -1,4 +1,4 @@ zh-CN: i18n: language: - name: "英语" + name: "中文" From 9b80b0ee0fcbf9e2da57236782200b1922a5c3c0 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:13:59 +0100 Subject: [PATCH 451/565] New translations i18n.yml (Valencian) --- config/locales/val/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/val/i18n.yml b/config/locales/val/i18n.yml index fa70518d0..0a9b8a32c 100644 --- a/config/locales/val/i18n.yml +++ b/config/locales/val/i18n.yml @@ -1 +1,4 @@ val: + i18n: + language: + name: "Valencià" From 28d9e9e8c397e8b8b286c961aa8ef9ce97c763f3 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:22:31 +0100 Subject: [PATCH 452/565] New translations i18n.yml (Chinese Traditional) --- config/locales/zh-TW/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/zh-TW/i18n.yml b/config/locales/zh-TW/i18n.yml index cb82c0526..b73366183 100644 --- a/config/locales/zh-TW/i18n.yml +++ b/config/locales/zh-TW/i18n.yml @@ -1 +1,4 @@ zh-TW: + i18n: + language: + name: "文言" From ed8aa44ecbf923bf28ecdcbc89c3e8dabb3bc2b1 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:22:33 +0100 Subject: [PATCH 453/565] New translations rails.yml (French) --- config/locales/fr/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/fr/rails.yml b/config/locales/fr/rails.yml index 4e68aff44..c67e4db88 100644 --- a/config/locales/fr/rails.yml +++ b/config/locales/fr/rails.yml @@ -49,9 +49,9 @@ fr: - Novembre - Décembre order: - - ':année' - - :mois - - :jour + - :day + - :month + - :year datetime: distance_in_words: about_x_hours: From 7cb69ff879fd32a8cbea215353be656b717edc64 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:22:34 +0100 Subject: [PATCH 454/565] New translations rails.yml (Persian) --- config/locales/fa-IR/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/fa-IR/rails.yml b/config/locales/fa-IR/rails.yml index 99dba6f80..445de0d9f 100644 --- a/config/locales/fa-IR/rails.yml +++ b/config/locales/fa-IR/rails.yml @@ -49,9 +49,9 @@ fa: - نوامبر - دسامبر order: - - ': سال' - - ': ماه' - - ': روز' + - 'day:' + - 'month:' + - 'year:' datetime: distance_in_words: about_x_hours: From ec032728a7dd2e8715bc290b3659a2386a61e370 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:22:36 +0100 Subject: [PATCH 455/565] New translations rails.yml (Spanish, Venezuela) --- config/locales/es-VE/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/es-VE/rails.yml b/config/locales/es-VE/rails.yml index 700bb8ced..ebd866dac 100644 --- a/config/locales/es-VE/rails.yml +++ b/config/locales/es-VE/rails.yml @@ -49,9 +49,9 @@ es-VE: - Noviembre - Diciembre order: - - ':año' - - :mes - - ':día' + - :day + - :month + - :year datetime: distance_in_words: about_x_hours: From edea5c1ccb57730455971ffca3e73b558cf8ea8c Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:31:59 +0100 Subject: [PATCH 456/565] New translations rails.yml (Albanian) --- config/locales/sq-AL/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/sq-AL/rails.yml b/config/locales/sq-AL/rails.yml index fe5464222..bc9305adc 100644 --- a/config/locales/sq-AL/rails.yml +++ b/config/locales/sq-AL/rails.yml @@ -49,9 +49,9 @@ sq: - Nëntor - Dhjetor order: - - :vit - - :muaj - - ':ditë' + - :day + - :month + - :year datetime: distance_in_words: about_x_hours: From 23a5ecdbf001b30828d86a9e4186be045ea82df3 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:32:01 +0100 Subject: [PATCH 457/565] New translations rails.yml (Dutch) --- config/locales/nl/rails.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/nl/rails.yml b/config/locales/nl/rails.yml index 04bcbc0a1..2ebeca7fb 100644 --- a/config/locales/nl/rails.yml +++ b/config/locales/nl/rails.yml @@ -50,7 +50,7 @@ nl: - december order: - :day - - ': month' + - :month - :year datetime: distance_in_words: From 0b7730fcf685c9fab85e75cbfe7f097c5b137930 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:32:02 +0100 Subject: [PATCH 458/565] New translations rails.yml (Galician) --- config/locales/gl/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/gl/rails.yml b/config/locales/gl/rails.yml index 91ac339cb..d5c8d316b 100644 --- a/config/locales/gl/rails.yml +++ b/config/locales/gl/rails.yml @@ -49,9 +49,9 @@ gl: - Novembro - Decembro order: - - ':día' - - :mes - - :ano + - :day + - :month + - :year datetime: distance_in_words: about_x_hours: From e71d6ddfc5ad6f0098c70c5f983f44055e27ed26 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:32:04 +0100 Subject: [PATCH 459/565] New translations rails.yml (Indonesian) --- config/locales/id-ID/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/id-ID/rails.yml b/config/locales/id-ID/rails.yml index 100edc007..b251eb588 100644 --- a/config/locales/id-ID/rails.yml +++ b/config/locales/id-ID/rails.yml @@ -49,9 +49,9 @@ id: - November - Desember order: - - :tahun - - :bulan - - :hari + - :day + - :month + - :year datetime: distance_in_words: about_x_hours: From 192d654d73c8d02d09cdb42248b2261e3cb92109 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:32:05 +0100 Subject: [PATCH 460/565] New translations rails.yml (Italian) --- config/locales/it/rails.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales/it/rails.yml b/config/locales/it/rails.yml index b46e6b77f..7e8a56685 100644 --- a/config/locales/it/rails.yml +++ b/config/locales/it/rails.yml @@ -49,9 +49,9 @@ it: - Novembre - Dicembre order: - - :year - - ': month' - :day + - :month + - :year datetime: distance_in_words: about_x_hours: From a4f87553d4f79656ede86fe5b3fc6b77002d7914 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:32:07 +0100 Subject: [PATCH 461/565] New translations rails.yml (Polish) --- config/locales/pl-PL/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/pl-PL/rails.yml b/config/locales/pl-PL/rails.yml index e34e23707..0ad26248c 100644 --- a/config/locales/pl-PL/rails.yml +++ b/config/locales/pl-PL/rails.yml @@ -49,9 +49,9 @@ pl: - Listopad - Grudzień order: - - :rok - - ':miesiąc' - - ':dzień' + - :day + - :month + - :year datetime: distance_in_words: about_x_hours: From 6c33f17fcb1c56e071d612d1c362c432ec9678e0 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:32:09 +0100 Subject: [PATCH 462/565] New translations rails.yml (Portuguese, Brazilian) --- config/locales/pt-BR/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/pt-BR/rails.yml b/config/locales/pt-BR/rails.yml index ce802d801..be14b914b 100644 --- a/config/locales/pt-BR/rails.yml +++ b/config/locales/pt-BR/rails.yml @@ -49,9 +49,9 @@ pt-BR: - Novembro - Dezembro order: - - :ano - - ':mês' - - :dia + - :day + - :month + - :year datetime: distance_in_words: about_x_hours: From 6079c1f235b7eee2ca6527a816a1368a4b8f3d10 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:42:29 +0100 Subject: [PATCH 463/565] New translations i18n.yml (German) --- config/locales/de-DE/i18n.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/locales/de-DE/i18n.yml b/config/locales/de-DE/i18n.yml index 0d22be768..b68d3f1d2 100644 --- a/config/locales/de-DE/i18n.yml +++ b/config/locales/de-DE/i18n.yml @@ -1,4 +1,4 @@ de: i18n: language: - name: "Englisch" + name: "Deutsch" From 1db9022a25380b78db4cbde73986448cffba695b Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:42:31 +0100 Subject: [PATCH 464/565] New translations i18n.yml (Persian) --- config/locales/fa-IR/i18n.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/fa-IR/i18n.yml b/config/locales/fa-IR/i18n.yml index 88215f82c..44550548e 100644 --- a/config/locales/fa-IR/i18n.yml +++ b/config/locales/fa-IR/i18n.yml @@ -1 +1,4 @@ fa: + i18n: + language: + name: "فارسى" From 86ebd645049c6b9e2605b3f1cee553caa7d11365 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 14:42:32 +0100 Subject: [PATCH 465/565] New translations rails.yml (Turkish) --- config/locales/tr-TR/rails.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/locales/tr-TR/rails.yml b/config/locales/tr-TR/rails.yml index a0b4e762d..c455a7bab 100644 --- a/config/locales/tr-TR/rails.yml +++ b/config/locales/tr-TR/rails.yml @@ -37,9 +37,9 @@ tr: - Kasım - December order: - - ': yıl' - - ': ay' - - ': gün' + - :day + - :month + - :year datetime: prompts: day: Gün From 8e6922de9fcf98ef0bec030ec64564aec4a59d22 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 16:11:25 +0100 Subject: [PATCH 466/565] New translations devise.yml (Spanish, El Salvador) --- config/locales/es-SV/devise.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/es-SV/devise.yml b/config/locales/es-SV/devise.yml index 7287f2fde..268e6780a 100644 --- a/config/locales/es-SV/devise.yml +++ b/config/locales/es-SV/devise.yml @@ -37,6 +37,7 @@ es-SV: updated: "Tu contraseña ha cambiado correctamente. Has sido identificado correctamente." updated_not_active: "Tu contraseña se ha cambiado correctamente." registrations: + destroyed: "¡Adiós! Tu cuenta ha sido cancelada. Esperamos volver a verte pronto." signed_up: "¡Bienvenido! Has sido identificado." signed_up_but_inactive: "Te has registrado correctamente, pero no has podido iniciar sesión porque tu cuenta no ha sido activada." signed_up_but_locked: "Te has registrado correctamente, pero no has podido iniciar sesión porque tu cuenta está bloqueada." From 90fec25489c9ecc6d1e8c660452c71d918517609 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 16:11:29 +0100 Subject: [PATCH 467/565] New translations general.yml (Spanish, El Salvador) --- config/locales/es-SV/general.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/config/locales/es-SV/general.yml b/config/locales/es-SV/general.yml index 967d6d919..cc7869ef7 100644 --- a/config/locales/es-SV/general.yml +++ b/config/locales/es-SV/general.yml @@ -20,6 +20,9 @@ es-SV: email_on_direct_message_label: Recibir emails con mensajes privados email_digest_label: Recibir resumen de notificaciones sobre propuestas official_position_badge_label: Mostrar etiqueta de tipo de usuario + recommendations: Recomendaciones + show_debates_recommendations: Mostrar recomendaciones en el listado de debates + show_proposals_recommendations: Mostrar recomendaciones en el listado de propuestas title: Mi cuenta user_permission_debates: Participar en debates user_permission_info: Con tu cuenta ya puedes... @@ -110,6 +113,10 @@ es-SV: recommendations: without_results: No existen debates relacionados con tus intereses without_interests: Sigue propuestas para que podamos darte recomendaciones + disable: "Si ocultas las recomendaciones para debates, no se volverán a mostrar. Puedes volver a activarlas en 'Mi cuenta'" + actions: + success: "Las recomendaciones de debates han sido desactivadas" + error: "Ha ocurrido un error. Por favor dirígete al apartado 'Mi cuenta' para desactivar las recomendaciones manualmente" search_form: button: Buscar placeholder: Buscar debates... @@ -337,6 +344,7 @@ es-SV: help: Ayuda sobre las propuestas section_footer: title: Ayuda sobre las propuestas + description: Las propuestas ciudadanas son una oportunidad para que los vecinos y colectivos decidan directamente cómo quieren que sea su ciudad, después de conseguir los apoyos suficientes y de someterse a votación ciudadana. new: form: submit_button: Crear propuesta @@ -373,6 +381,7 @@ es-SV: other: "%{count} votos" supports_necessary: "%{number} apoyos necesarios" archived: "Esta propuesta ha sido archivada y ya no puede recoger apoyos." + successful: "Esta propuesta ha alcanzado los apoyos necesarios." show: author_deleted: Usuario eliminado code: 'Código de la propuesta:' @@ -416,6 +425,7 @@ es-SV: geozone_restricted: "Distritos" geozone_info: "Pueden participar las personas empadronadas en: " already_answer: "Ya has participado en esta votación" + not_logged_in: "Necesitas iniciar sesión o registrarte para participar" section_header: icon_alt: Icono de Votaciones title: Votaciones From 93c53520a1b6eaaf3e11c29c1acc4ca566ddacd8 Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 17:41:34 +0100 Subject: [PATCH 468/565] New translations mailers.yml (Spanish, El Salvador) --- config/locales/es-SV/mailers.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/locales/es-SV/mailers.yml b/config/locales/es-SV/mailers.yml index 540d196b4..8c24ea368 100644 --- a/config/locales/es-SV/mailers.yml +++ b/config/locales/es-SV/mailers.yml @@ -11,6 +11,7 @@ es-SV: email_verification: click_here_to_verify: en este enlace instructions_2_html: Este email es para verificar tu cuenta con <b>%{document_type} %{document_number}</b>. Si esos no son tus datos, por favor no pulses el enlace anterior e ignora este email. + instructions_html: Para terminar de verificar tu cuenta de usuario pulsa %{verification_link}. subject: Verifica tu email thanks: Muchas gracias. title: Verifica tu cuenta con el siguiente enlace @@ -43,6 +44,7 @@ es-SV: title_html: "Has enviado un nuevo mensaje privado a <strong>%{receiver}</strong> con el siguiente contenido:" user_invite: ignore: "Si no has solicitado esta invitación no te preocupes, puedes ignorar este correo." + text: "¡Gracias por solicitar unirte a %{org}! En unos segundos podrás empezar a participar, sólo tienes que rellenar el siguiente formulario:" thanks: "Muchas gracias." title: "Bienvenido a %{org}" button: Completar registro From 3bd19b20460e13287a9d95d6903ba659dec2833a Mon Sep 17 00:00:00 2001 From: Consul Bot <consul@madrid.es> Date: Mon, 5 Nov 2018 17:41:38 +0100 Subject: [PATCH 469/565] New translations general.yml (Spanish, El Salvador) --- config/locales/es-SV/general.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/config/locales/es-SV/general.yml b/config/locales/es-SV/general.yml index cc7869ef7..afdb9c7d4 100644 --- a/config/locales/es-SV/general.yml +++ b/config/locales/es-SV/general.yml @@ -426,12 +426,15 @@ es-SV: geozone_info: "Pueden participar las personas empadronadas en: " already_answer: "Ya has participado en esta votación" not_logged_in: "Necesitas iniciar sesión o registrarte para participar" + unverified: "Por favor verifica tu cuenta para participar" + cant_answer: "Esta votación no está disponible en tu zona" section_header: icon_alt: Icono de Votaciones title: Votaciones help: Ayuda sobre las votaciones section_footer: title: Ayuda sobre las votaciones + description: Las votaciones ciudadanas son un mecanismo de participación por el que la ciudadanía con derecho a voto puede tomar decisiones de forma directa. show: already_voted_in_booth: "Ya has participado en esta votación en urnas presenciales, no puedes volver a participar." already_voted_in_web: "Ya has participado en esta votación. Si vuelves a votar se sobreescribirá tu resultado anterior." From c46ee1175bf8d75b2036c61d4c788ae2dc005c91 Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Wed, 10 Oct 2018 12:47:40 +0200 Subject: [PATCH 470/565] Fix flaky spec for translations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This spec was causing a side effect on another spec[2], making it fail 😌 I think it was because no translation had been called yet, in the failing spec, and so the the i18n backend translations had not been initialized, and was always returning empty translations for any locale. This might have been due to tampering with translations in the this newly introduced spec. By forcing translations to load after this new spec, the other spec passes again [2] https://github.com/AyuntamientoMadrid/consul/blob/master/spec/features/localization_spec.rb#L20 --- spec/helpers/locales_helper_spec.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spec/helpers/locales_helper_spec.rb b/spec/helpers/locales_helper_spec.rb index 2eb10be05..6031ae144 100644 --- a/spec/helpers/locales_helper_spec.rb +++ b/spec/helpers/locales_helper_spec.rb @@ -13,6 +13,7 @@ describe LocalesHelper do after do I18n.backend.reload! I18n.enforce_available_locales = default_enforce + I18n.backend.send(:init_translations) end it "returns the language name in i18n.language.name translation" do @@ -29,4 +30,4 @@ describe LocalesHelper do end end -end \ No newline at end of file +end From b49b20a6bb7b743f5179561149ec6d617f73d7e8 Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Tue, 9 Oct 2018 22:08:25 +0200 Subject: [PATCH 471/565] Fix locale folder names There seems to be some differences between the folder name and the locale name used in the files themselves. For example: the folder might have been called "de-DE", for German, but the files use one "de" And thus translations where not being displayed Using the locale key in the files and modifying the folder name if neccesary, let's see what happens in the next Crowdin pull, might need to review more thoroughly why this is happening (maybe due to custom settings in Crowdin) --- config/locales/{de-DE => de}/activemodel.yml | 0 config/locales/{de-DE => de}/activerecord.yml | 0 config/locales/{de-DE => de}/admin.yml | 0 config/locales/{de-DE => de}/budgets.yml | 0 config/locales/{de-DE => de}/community.yml | 0 config/locales/{de-DE => de}/devise.yml | 0 config/locales/{de-DE => de}/devise_views.yml | 0 config/locales/{de-DE => de}/documents.yml | 0 config/locales/{de-DE => de}/general.yml | 0 config/locales/{de-DE => de}/guides.yml | 0 config/locales/de/i18n.yml | 4 ++++ config/locales/{de-DE => de}/images.yml | 0 config/locales/{de-DE => de}/kaminari.yml | 0 config/locales/{de-DE => de}/legislation.yml | 0 config/locales/{de-DE => de}/mailers.yml | 0 config/locales/{de-DE => de}/management.yml | 0 config/locales/{de-DE => de}/moderation.yml | 0 config/locales/{de-DE => de}/officing.yml | 0 config/locales/{de-DE => de}/pages.yml | 0 config/locales/{de-DE => de}/rails.yml | 0 config/locales/{de-DE => de}/responders.yml | 0 config/locales/{de-DE => de}/seeds.yml | 0 config/locales/{de-DE => de}/settings.yml | 0 config/locales/{de-DE => de}/social_share_button.yml | 0 config/locales/{de-DE => de}/valuation.yml | 0 config/locales/{de-DE => de}/verification.yml | 0 config/locales/{fa-IR => fa}/activemodel.yml | 0 config/locales/{fa-IR => fa}/activerecord.yml | 0 config/locales/{fa-IR => fa}/admin.yml | 0 config/locales/{fa-IR => fa}/budgets.yml | 0 config/locales/{fa-IR => fa}/community.yml | 0 config/locales/{fa-IR => fa}/devise.yml | 0 config/locales/{fa-IR => fa}/devise_views.yml | 0 config/locales/{fa-IR => fa}/documents.yml | 0 config/locales/{fa-IR => fa}/general.yml | 0 config/locales/{fa-IR => fa}/guides.yml | 0 config/locales/fa/i18n.yml | 4 ++++ config/locales/{fa-IR => fa}/images.yml | 0 config/locales/{fa-IR => fa}/kaminari.yml | 0 config/locales/{fa-IR => fa}/legislation.yml | 0 config/locales/{fa-IR => fa}/mailers.yml | 0 config/locales/{fa-IR => fa}/management.yml | 0 config/locales/{fa-IR => fa}/moderation.yml | 0 config/locales/{fa-IR => fa}/officing.yml | 0 config/locales/{fa-IR => fa}/pages.yml | 0 config/locales/{fa-IR => fa}/rails.yml | 0 config/locales/{fa-IR => fa}/responders.yml | 0 config/locales/{fa-IR => fa}/seeds.yml | 0 config/locales/{fa-IR => fa}/settings.yml | 0 config/locales/{fa-IR => fa}/social_share_button.yml | 0 config/locales/{fa-IR => fa}/valuation.yml | 0 config/locales/{fa-IR => fa}/verification.yml | 0 config/locales/{pl-PL => pl}/activemodel.yml | 0 config/locales/{pl-PL => pl}/activerecord.yml | 0 config/locales/{pl-PL => pl}/admin.yml | 0 config/locales/{pl-PL => pl}/budgets.yml | 0 config/locales/{pl-PL => pl}/community.yml | 0 config/locales/{pl-PL => pl}/devise.yml | 0 config/locales/{pl-PL => pl}/devise_views.yml | 0 config/locales/{pl-PL => pl}/documents.yml | 0 config/locales/{pl-PL => pl}/general.yml | 0 config/locales/{pl-PL => pl}/guides.yml | 0 config/locales/pl/i18n.yml | 4 ++++ config/locales/{pl-PL => pl}/images.yml | 0 config/locales/{pl-PL => pl}/kaminari.yml | 0 config/locales/{pl-PL => pl}/legislation.yml | 0 config/locales/{pl-PL => pl}/mailers.yml | 0 config/locales/{pl-PL => pl}/management.yml | 0 config/locales/{pl-PL => pl}/moderation.yml | 0 config/locales/{pl-PL => pl}/officing.yml | 0 config/locales/{pl-PL => pl}/pages.yml | 0 config/locales/{pl-PL => pl}/rails.yml | 0 config/locales/{pl-PL => pl}/responders.yml | 0 config/locales/{pl-PL => pl}/seeds.yml | 0 config/locales/{pl-PL => pl}/settings.yml | 0 config/locales/{pl-PL => pl}/social_share_button.yml | 0 config/locales/{pl-PL => pl}/valuation.yml | 0 config/locales/{pl-PL => pl}/verification.yml | 0 config/locales/{sq-AL => sq}/activemodel.yml | 0 config/locales/{sq-AL => sq}/activerecord.yml | 0 config/locales/{sq-AL => sq}/admin.yml | 0 config/locales/{sq-AL => sq}/budgets.yml | 0 config/locales/{sq-AL => sq}/community.yml | 0 config/locales/{sq-AL => sq}/devise.yml | 0 config/locales/{sq-AL => sq}/devise_views.yml | 0 config/locales/{sq-AL => sq}/documents.yml | 0 config/locales/{sq-AL => sq}/general.yml | 0 config/locales/{sq-AL => sq}/guides.yml | 0 config/locales/sq/i18n.yml | 4 ++++ config/locales/{sq-AL => sq}/images.yml | 0 config/locales/{sq-AL => sq}/kaminari.yml | 0 config/locales/{sq-AL => sq}/legislation.yml | 0 config/locales/{sq-AL => sq}/mailers.yml | 0 config/locales/{sq-AL => sq}/management.yml | 0 config/locales/{sq-AL => sq}/moderation.yml | 0 config/locales/{sq-AL => sq}/officing.yml | 0 config/locales/{sq-AL => sq}/pages.yml | 0 config/locales/{sq-AL => sq}/rails.yml | 0 config/locales/{sq-AL => sq}/responders.yml | 0 config/locales/{sq-AL => sq}/seeds.yml | 0 config/locales/{sq-AL => sq}/settings.yml | 0 config/locales/{sq-AL => sq}/social_share_button.yml | 0 config/locales/{sq-AL => sq}/valuation.yml | 0 config/locales/{sq-AL => sq}/verification.yml | 0 config/locales/{sv-SE => sv}/activemodel.yml | 0 config/locales/{sv-SE => sv}/activerecord.yml | 0 config/locales/{sv-SE => sv}/admin.yml | 0 config/locales/{sv-SE => sv}/budgets.yml | 0 config/locales/{sv-SE => sv}/community.yml | 0 config/locales/{sv-SE => sv}/devise.yml | 0 config/locales/{sv-SE => sv}/devise_views.yml | 0 config/locales/{sv-SE => sv}/documents.yml | 0 config/locales/{sv-SE => sv}/general.yml | 0 config/locales/{sv-SE => sv}/guides.yml | 0 config/locales/sv/i18n.yml | 4 ++++ config/locales/{sv-SE => sv}/images.yml | 0 config/locales/{sv-SE => sv}/kaminari.yml | 0 config/locales/{sv-SE => sv}/legislation.yml | 0 config/locales/{sv-SE => sv}/mailers.yml | 0 config/locales/{sv-SE => sv}/management.yml | 0 config/locales/{sv-SE => sv}/moderation.yml | 0 config/locales/{sv-SE => sv}/officing.yml | 0 config/locales/{sv-SE => sv}/pages.yml | 0 config/locales/{sv-SE => sv}/rails.yml | 0 config/locales/{sv-SE => sv}/responders.yml | 0 config/locales/{sv-SE => sv}/seeds.yml | 0 config/locales/{sv-SE => sv}/settings.yml | 0 config/locales/{sv-SE => sv}/social_share_button.yml | 0 config/locales/{sv-SE => sv}/valuation.yml | 0 config/locales/{sv-SE => sv}/verification.yml | 0 130 files changed, 20 insertions(+) rename config/locales/{de-DE => de}/activemodel.yml (100%) rename config/locales/{de-DE => de}/activerecord.yml (100%) rename config/locales/{de-DE => de}/admin.yml (100%) rename config/locales/{de-DE => de}/budgets.yml (100%) rename config/locales/{de-DE => de}/community.yml (100%) rename config/locales/{de-DE => de}/devise.yml (100%) rename config/locales/{de-DE => de}/devise_views.yml (100%) rename config/locales/{de-DE => de}/documents.yml (100%) rename config/locales/{de-DE => de}/general.yml (100%) rename config/locales/{de-DE => de}/guides.yml (100%) create mode 100644 config/locales/de/i18n.yml rename config/locales/{de-DE => de}/images.yml (100%) rename config/locales/{de-DE => de}/kaminari.yml (100%) rename config/locales/{de-DE => de}/legislation.yml (100%) rename config/locales/{de-DE => de}/mailers.yml (100%) rename config/locales/{de-DE => de}/management.yml (100%) rename config/locales/{de-DE => de}/moderation.yml (100%) rename config/locales/{de-DE => de}/officing.yml (100%) rename config/locales/{de-DE => de}/pages.yml (100%) rename config/locales/{de-DE => de}/rails.yml (100%) rename config/locales/{de-DE => de}/responders.yml (100%) rename config/locales/{de-DE => de}/seeds.yml (100%) rename config/locales/{de-DE => de}/settings.yml (100%) rename config/locales/{de-DE => de}/social_share_button.yml (100%) rename config/locales/{de-DE => de}/valuation.yml (100%) rename config/locales/{de-DE => de}/verification.yml (100%) rename config/locales/{fa-IR => fa}/activemodel.yml (100%) rename config/locales/{fa-IR => fa}/activerecord.yml (100%) rename config/locales/{fa-IR => fa}/admin.yml (100%) rename config/locales/{fa-IR => fa}/budgets.yml (100%) rename config/locales/{fa-IR => fa}/community.yml (100%) rename config/locales/{fa-IR => fa}/devise.yml (100%) rename config/locales/{fa-IR => fa}/devise_views.yml (100%) rename config/locales/{fa-IR => fa}/documents.yml (100%) rename config/locales/{fa-IR => fa}/general.yml (100%) rename config/locales/{fa-IR => fa}/guides.yml (100%) create mode 100644 config/locales/fa/i18n.yml rename config/locales/{fa-IR => fa}/images.yml (100%) rename config/locales/{fa-IR => fa}/kaminari.yml (100%) rename config/locales/{fa-IR => fa}/legislation.yml (100%) rename config/locales/{fa-IR => fa}/mailers.yml (100%) rename config/locales/{fa-IR => fa}/management.yml (100%) rename config/locales/{fa-IR => fa}/moderation.yml (100%) rename config/locales/{fa-IR => fa}/officing.yml (100%) rename config/locales/{fa-IR => fa}/pages.yml (100%) rename config/locales/{fa-IR => fa}/rails.yml (100%) rename config/locales/{fa-IR => fa}/responders.yml (100%) rename config/locales/{fa-IR => fa}/seeds.yml (100%) rename config/locales/{fa-IR => fa}/settings.yml (100%) rename config/locales/{fa-IR => fa}/social_share_button.yml (100%) rename config/locales/{fa-IR => fa}/valuation.yml (100%) rename config/locales/{fa-IR => fa}/verification.yml (100%) rename config/locales/{pl-PL => pl}/activemodel.yml (100%) rename config/locales/{pl-PL => pl}/activerecord.yml (100%) rename config/locales/{pl-PL => pl}/admin.yml (100%) rename config/locales/{pl-PL => pl}/budgets.yml (100%) rename config/locales/{pl-PL => pl}/community.yml (100%) rename config/locales/{pl-PL => pl}/devise.yml (100%) rename config/locales/{pl-PL => pl}/devise_views.yml (100%) rename config/locales/{pl-PL => pl}/documents.yml (100%) rename config/locales/{pl-PL => pl}/general.yml (100%) rename config/locales/{pl-PL => pl}/guides.yml (100%) create mode 100644 config/locales/pl/i18n.yml rename config/locales/{pl-PL => pl}/images.yml (100%) rename config/locales/{pl-PL => pl}/kaminari.yml (100%) rename config/locales/{pl-PL => pl}/legislation.yml (100%) rename config/locales/{pl-PL => pl}/mailers.yml (100%) rename config/locales/{pl-PL => pl}/management.yml (100%) rename config/locales/{pl-PL => pl}/moderation.yml (100%) rename config/locales/{pl-PL => pl}/officing.yml (100%) rename config/locales/{pl-PL => pl}/pages.yml (100%) rename config/locales/{pl-PL => pl}/rails.yml (100%) rename config/locales/{pl-PL => pl}/responders.yml (100%) rename config/locales/{pl-PL => pl}/seeds.yml (100%) rename config/locales/{pl-PL => pl}/settings.yml (100%) rename config/locales/{pl-PL => pl}/social_share_button.yml (100%) rename config/locales/{pl-PL => pl}/valuation.yml (100%) rename config/locales/{pl-PL => pl}/verification.yml (100%) rename config/locales/{sq-AL => sq}/activemodel.yml (100%) rename config/locales/{sq-AL => sq}/activerecord.yml (100%) rename config/locales/{sq-AL => sq}/admin.yml (100%) rename config/locales/{sq-AL => sq}/budgets.yml (100%) rename config/locales/{sq-AL => sq}/community.yml (100%) rename config/locales/{sq-AL => sq}/devise.yml (100%) rename config/locales/{sq-AL => sq}/devise_views.yml (100%) rename config/locales/{sq-AL => sq}/documents.yml (100%) rename config/locales/{sq-AL => sq}/general.yml (100%) rename config/locales/{sq-AL => sq}/guides.yml (100%) create mode 100644 config/locales/sq/i18n.yml rename config/locales/{sq-AL => sq}/images.yml (100%) rename config/locales/{sq-AL => sq}/kaminari.yml (100%) rename config/locales/{sq-AL => sq}/legislation.yml (100%) rename config/locales/{sq-AL => sq}/mailers.yml (100%) rename config/locales/{sq-AL => sq}/management.yml (100%) rename config/locales/{sq-AL => sq}/moderation.yml (100%) rename config/locales/{sq-AL => sq}/officing.yml (100%) rename config/locales/{sq-AL => sq}/pages.yml (100%) rename config/locales/{sq-AL => sq}/rails.yml (100%) rename config/locales/{sq-AL => sq}/responders.yml (100%) rename config/locales/{sq-AL => sq}/seeds.yml (100%) rename config/locales/{sq-AL => sq}/settings.yml (100%) rename config/locales/{sq-AL => sq}/social_share_button.yml (100%) rename config/locales/{sq-AL => sq}/valuation.yml (100%) rename config/locales/{sq-AL => sq}/verification.yml (100%) rename config/locales/{sv-SE => sv}/activemodel.yml (100%) rename config/locales/{sv-SE => sv}/activerecord.yml (100%) rename config/locales/{sv-SE => sv}/admin.yml (100%) rename config/locales/{sv-SE => sv}/budgets.yml (100%) rename config/locales/{sv-SE => sv}/community.yml (100%) rename config/locales/{sv-SE => sv}/devise.yml (100%) rename config/locales/{sv-SE => sv}/devise_views.yml (100%) rename config/locales/{sv-SE => sv}/documents.yml (100%) rename config/locales/{sv-SE => sv}/general.yml (100%) rename config/locales/{sv-SE => sv}/guides.yml (100%) create mode 100644 config/locales/sv/i18n.yml rename config/locales/{sv-SE => sv}/images.yml (100%) rename config/locales/{sv-SE => sv}/kaminari.yml (100%) rename config/locales/{sv-SE => sv}/legislation.yml (100%) rename config/locales/{sv-SE => sv}/mailers.yml (100%) rename config/locales/{sv-SE => sv}/management.yml (100%) rename config/locales/{sv-SE => sv}/moderation.yml (100%) rename config/locales/{sv-SE => sv}/officing.yml (100%) rename config/locales/{sv-SE => sv}/pages.yml (100%) rename config/locales/{sv-SE => sv}/rails.yml (100%) rename config/locales/{sv-SE => sv}/responders.yml (100%) rename config/locales/{sv-SE => sv}/seeds.yml (100%) rename config/locales/{sv-SE => sv}/settings.yml (100%) rename config/locales/{sv-SE => sv}/social_share_button.yml (100%) rename config/locales/{sv-SE => sv}/valuation.yml (100%) rename config/locales/{sv-SE => sv}/verification.yml (100%) diff --git a/config/locales/de-DE/activemodel.yml b/config/locales/de/activemodel.yml similarity index 100% rename from config/locales/de-DE/activemodel.yml rename to config/locales/de/activemodel.yml diff --git a/config/locales/de-DE/activerecord.yml b/config/locales/de/activerecord.yml similarity index 100% rename from config/locales/de-DE/activerecord.yml rename to config/locales/de/activerecord.yml diff --git a/config/locales/de-DE/admin.yml b/config/locales/de/admin.yml similarity index 100% rename from config/locales/de-DE/admin.yml rename to config/locales/de/admin.yml diff --git a/config/locales/de-DE/budgets.yml b/config/locales/de/budgets.yml similarity index 100% rename from config/locales/de-DE/budgets.yml rename to config/locales/de/budgets.yml diff --git a/config/locales/de-DE/community.yml b/config/locales/de/community.yml similarity index 100% rename from config/locales/de-DE/community.yml rename to config/locales/de/community.yml diff --git a/config/locales/de-DE/devise.yml b/config/locales/de/devise.yml similarity index 100% rename from config/locales/de-DE/devise.yml rename to config/locales/de/devise.yml diff --git a/config/locales/de-DE/devise_views.yml b/config/locales/de/devise_views.yml similarity index 100% rename from config/locales/de-DE/devise_views.yml rename to config/locales/de/devise_views.yml diff --git a/config/locales/de-DE/documents.yml b/config/locales/de/documents.yml similarity index 100% rename from config/locales/de-DE/documents.yml rename to config/locales/de/documents.yml diff --git a/config/locales/de-DE/general.yml b/config/locales/de/general.yml similarity index 100% rename from config/locales/de-DE/general.yml rename to config/locales/de/general.yml diff --git a/config/locales/de-DE/guides.yml b/config/locales/de/guides.yml similarity index 100% rename from config/locales/de-DE/guides.yml rename to config/locales/de/guides.yml diff --git a/config/locales/de/i18n.yml b/config/locales/de/i18n.yml new file mode 100644 index 000000000..d361336f0 --- /dev/null +++ b/config/locales/de/i18n.yml @@ -0,0 +1,4 @@ +de: + i18n: + language: + name: 'Deutsch' \ No newline at end of file diff --git a/config/locales/de-DE/images.yml b/config/locales/de/images.yml similarity index 100% rename from config/locales/de-DE/images.yml rename to config/locales/de/images.yml diff --git a/config/locales/de-DE/kaminari.yml b/config/locales/de/kaminari.yml similarity index 100% rename from config/locales/de-DE/kaminari.yml rename to config/locales/de/kaminari.yml diff --git a/config/locales/de-DE/legislation.yml b/config/locales/de/legislation.yml similarity index 100% rename from config/locales/de-DE/legislation.yml rename to config/locales/de/legislation.yml diff --git a/config/locales/de-DE/mailers.yml b/config/locales/de/mailers.yml similarity index 100% rename from config/locales/de-DE/mailers.yml rename to config/locales/de/mailers.yml diff --git a/config/locales/de-DE/management.yml b/config/locales/de/management.yml similarity index 100% rename from config/locales/de-DE/management.yml rename to config/locales/de/management.yml diff --git a/config/locales/de-DE/moderation.yml b/config/locales/de/moderation.yml similarity index 100% rename from config/locales/de-DE/moderation.yml rename to config/locales/de/moderation.yml diff --git a/config/locales/de-DE/officing.yml b/config/locales/de/officing.yml similarity index 100% rename from config/locales/de-DE/officing.yml rename to config/locales/de/officing.yml diff --git a/config/locales/de-DE/pages.yml b/config/locales/de/pages.yml similarity index 100% rename from config/locales/de-DE/pages.yml rename to config/locales/de/pages.yml diff --git a/config/locales/de-DE/rails.yml b/config/locales/de/rails.yml similarity index 100% rename from config/locales/de-DE/rails.yml rename to config/locales/de/rails.yml diff --git a/config/locales/de-DE/responders.yml b/config/locales/de/responders.yml similarity index 100% rename from config/locales/de-DE/responders.yml rename to config/locales/de/responders.yml diff --git a/config/locales/de-DE/seeds.yml b/config/locales/de/seeds.yml similarity index 100% rename from config/locales/de-DE/seeds.yml rename to config/locales/de/seeds.yml diff --git a/config/locales/de-DE/settings.yml b/config/locales/de/settings.yml similarity index 100% rename from config/locales/de-DE/settings.yml rename to config/locales/de/settings.yml diff --git a/config/locales/de-DE/social_share_button.yml b/config/locales/de/social_share_button.yml similarity index 100% rename from config/locales/de-DE/social_share_button.yml rename to config/locales/de/social_share_button.yml diff --git a/config/locales/de-DE/valuation.yml b/config/locales/de/valuation.yml similarity index 100% rename from config/locales/de-DE/valuation.yml rename to config/locales/de/valuation.yml diff --git a/config/locales/de-DE/verification.yml b/config/locales/de/verification.yml similarity index 100% rename from config/locales/de-DE/verification.yml rename to config/locales/de/verification.yml diff --git a/config/locales/fa-IR/activemodel.yml b/config/locales/fa/activemodel.yml similarity index 100% rename from config/locales/fa-IR/activemodel.yml rename to config/locales/fa/activemodel.yml diff --git a/config/locales/fa-IR/activerecord.yml b/config/locales/fa/activerecord.yml similarity index 100% rename from config/locales/fa-IR/activerecord.yml rename to config/locales/fa/activerecord.yml diff --git a/config/locales/fa-IR/admin.yml b/config/locales/fa/admin.yml similarity index 100% rename from config/locales/fa-IR/admin.yml rename to config/locales/fa/admin.yml diff --git a/config/locales/fa-IR/budgets.yml b/config/locales/fa/budgets.yml similarity index 100% rename from config/locales/fa-IR/budgets.yml rename to config/locales/fa/budgets.yml diff --git a/config/locales/fa-IR/community.yml b/config/locales/fa/community.yml similarity index 100% rename from config/locales/fa-IR/community.yml rename to config/locales/fa/community.yml diff --git a/config/locales/fa-IR/devise.yml b/config/locales/fa/devise.yml similarity index 100% rename from config/locales/fa-IR/devise.yml rename to config/locales/fa/devise.yml diff --git a/config/locales/fa-IR/devise_views.yml b/config/locales/fa/devise_views.yml similarity index 100% rename from config/locales/fa-IR/devise_views.yml rename to config/locales/fa/devise_views.yml diff --git a/config/locales/fa-IR/documents.yml b/config/locales/fa/documents.yml similarity index 100% rename from config/locales/fa-IR/documents.yml rename to config/locales/fa/documents.yml diff --git a/config/locales/fa-IR/general.yml b/config/locales/fa/general.yml similarity index 100% rename from config/locales/fa-IR/general.yml rename to config/locales/fa/general.yml diff --git a/config/locales/fa-IR/guides.yml b/config/locales/fa/guides.yml similarity index 100% rename from config/locales/fa-IR/guides.yml rename to config/locales/fa/guides.yml diff --git a/config/locales/fa/i18n.yml b/config/locales/fa/i18n.yml new file mode 100644 index 000000000..b619d31fb --- /dev/null +++ b/config/locales/fa/i18n.yml @@ -0,0 +1,4 @@ +fa: + i18n: + language: + name: 'فارسى' \ No newline at end of file diff --git a/config/locales/fa-IR/images.yml b/config/locales/fa/images.yml similarity index 100% rename from config/locales/fa-IR/images.yml rename to config/locales/fa/images.yml diff --git a/config/locales/fa-IR/kaminari.yml b/config/locales/fa/kaminari.yml similarity index 100% rename from config/locales/fa-IR/kaminari.yml rename to config/locales/fa/kaminari.yml diff --git a/config/locales/fa-IR/legislation.yml b/config/locales/fa/legislation.yml similarity index 100% rename from config/locales/fa-IR/legislation.yml rename to config/locales/fa/legislation.yml diff --git a/config/locales/fa-IR/mailers.yml b/config/locales/fa/mailers.yml similarity index 100% rename from config/locales/fa-IR/mailers.yml rename to config/locales/fa/mailers.yml diff --git a/config/locales/fa-IR/management.yml b/config/locales/fa/management.yml similarity index 100% rename from config/locales/fa-IR/management.yml rename to config/locales/fa/management.yml diff --git a/config/locales/fa-IR/moderation.yml b/config/locales/fa/moderation.yml similarity index 100% rename from config/locales/fa-IR/moderation.yml rename to config/locales/fa/moderation.yml diff --git a/config/locales/fa-IR/officing.yml b/config/locales/fa/officing.yml similarity index 100% rename from config/locales/fa-IR/officing.yml rename to config/locales/fa/officing.yml diff --git a/config/locales/fa-IR/pages.yml b/config/locales/fa/pages.yml similarity index 100% rename from config/locales/fa-IR/pages.yml rename to config/locales/fa/pages.yml diff --git a/config/locales/fa-IR/rails.yml b/config/locales/fa/rails.yml similarity index 100% rename from config/locales/fa-IR/rails.yml rename to config/locales/fa/rails.yml diff --git a/config/locales/fa-IR/responders.yml b/config/locales/fa/responders.yml similarity index 100% rename from config/locales/fa-IR/responders.yml rename to config/locales/fa/responders.yml diff --git a/config/locales/fa-IR/seeds.yml b/config/locales/fa/seeds.yml similarity index 100% rename from config/locales/fa-IR/seeds.yml rename to config/locales/fa/seeds.yml diff --git a/config/locales/fa-IR/settings.yml b/config/locales/fa/settings.yml similarity index 100% rename from config/locales/fa-IR/settings.yml rename to config/locales/fa/settings.yml diff --git a/config/locales/fa-IR/social_share_button.yml b/config/locales/fa/social_share_button.yml similarity index 100% rename from config/locales/fa-IR/social_share_button.yml rename to config/locales/fa/social_share_button.yml diff --git a/config/locales/fa-IR/valuation.yml b/config/locales/fa/valuation.yml similarity index 100% rename from config/locales/fa-IR/valuation.yml rename to config/locales/fa/valuation.yml diff --git a/config/locales/fa-IR/verification.yml b/config/locales/fa/verification.yml similarity index 100% rename from config/locales/fa-IR/verification.yml rename to config/locales/fa/verification.yml diff --git a/config/locales/pl-PL/activemodel.yml b/config/locales/pl/activemodel.yml similarity index 100% rename from config/locales/pl-PL/activemodel.yml rename to config/locales/pl/activemodel.yml diff --git a/config/locales/pl-PL/activerecord.yml b/config/locales/pl/activerecord.yml similarity index 100% rename from config/locales/pl-PL/activerecord.yml rename to config/locales/pl/activerecord.yml diff --git a/config/locales/pl-PL/admin.yml b/config/locales/pl/admin.yml similarity index 100% rename from config/locales/pl-PL/admin.yml rename to config/locales/pl/admin.yml diff --git a/config/locales/pl-PL/budgets.yml b/config/locales/pl/budgets.yml similarity index 100% rename from config/locales/pl-PL/budgets.yml rename to config/locales/pl/budgets.yml diff --git a/config/locales/pl-PL/community.yml b/config/locales/pl/community.yml similarity index 100% rename from config/locales/pl-PL/community.yml rename to config/locales/pl/community.yml diff --git a/config/locales/pl-PL/devise.yml b/config/locales/pl/devise.yml similarity index 100% rename from config/locales/pl-PL/devise.yml rename to config/locales/pl/devise.yml diff --git a/config/locales/pl-PL/devise_views.yml b/config/locales/pl/devise_views.yml similarity index 100% rename from config/locales/pl-PL/devise_views.yml rename to config/locales/pl/devise_views.yml diff --git a/config/locales/pl-PL/documents.yml b/config/locales/pl/documents.yml similarity index 100% rename from config/locales/pl-PL/documents.yml rename to config/locales/pl/documents.yml diff --git a/config/locales/pl-PL/general.yml b/config/locales/pl/general.yml similarity index 100% rename from config/locales/pl-PL/general.yml rename to config/locales/pl/general.yml diff --git a/config/locales/pl-PL/guides.yml b/config/locales/pl/guides.yml similarity index 100% rename from config/locales/pl-PL/guides.yml rename to config/locales/pl/guides.yml diff --git a/config/locales/pl/i18n.yml b/config/locales/pl/i18n.yml new file mode 100644 index 000000000..fc91ff330 --- /dev/null +++ b/config/locales/pl/i18n.yml @@ -0,0 +1,4 @@ +pl: + i18n: + language: + name: 'Polski' \ No newline at end of file diff --git a/config/locales/pl-PL/images.yml b/config/locales/pl/images.yml similarity index 100% rename from config/locales/pl-PL/images.yml rename to config/locales/pl/images.yml diff --git a/config/locales/pl-PL/kaminari.yml b/config/locales/pl/kaminari.yml similarity index 100% rename from config/locales/pl-PL/kaminari.yml rename to config/locales/pl/kaminari.yml diff --git a/config/locales/pl-PL/legislation.yml b/config/locales/pl/legislation.yml similarity index 100% rename from config/locales/pl-PL/legislation.yml rename to config/locales/pl/legislation.yml diff --git a/config/locales/pl-PL/mailers.yml b/config/locales/pl/mailers.yml similarity index 100% rename from config/locales/pl-PL/mailers.yml rename to config/locales/pl/mailers.yml diff --git a/config/locales/pl-PL/management.yml b/config/locales/pl/management.yml similarity index 100% rename from config/locales/pl-PL/management.yml rename to config/locales/pl/management.yml diff --git a/config/locales/pl-PL/moderation.yml b/config/locales/pl/moderation.yml similarity index 100% rename from config/locales/pl-PL/moderation.yml rename to config/locales/pl/moderation.yml diff --git a/config/locales/pl-PL/officing.yml b/config/locales/pl/officing.yml similarity index 100% rename from config/locales/pl-PL/officing.yml rename to config/locales/pl/officing.yml diff --git a/config/locales/pl-PL/pages.yml b/config/locales/pl/pages.yml similarity index 100% rename from config/locales/pl-PL/pages.yml rename to config/locales/pl/pages.yml diff --git a/config/locales/pl-PL/rails.yml b/config/locales/pl/rails.yml similarity index 100% rename from config/locales/pl-PL/rails.yml rename to config/locales/pl/rails.yml diff --git a/config/locales/pl-PL/responders.yml b/config/locales/pl/responders.yml similarity index 100% rename from config/locales/pl-PL/responders.yml rename to config/locales/pl/responders.yml diff --git a/config/locales/pl-PL/seeds.yml b/config/locales/pl/seeds.yml similarity index 100% rename from config/locales/pl-PL/seeds.yml rename to config/locales/pl/seeds.yml diff --git a/config/locales/pl-PL/settings.yml b/config/locales/pl/settings.yml similarity index 100% rename from config/locales/pl-PL/settings.yml rename to config/locales/pl/settings.yml diff --git a/config/locales/pl-PL/social_share_button.yml b/config/locales/pl/social_share_button.yml similarity index 100% rename from config/locales/pl-PL/social_share_button.yml rename to config/locales/pl/social_share_button.yml diff --git a/config/locales/pl-PL/valuation.yml b/config/locales/pl/valuation.yml similarity index 100% rename from config/locales/pl-PL/valuation.yml rename to config/locales/pl/valuation.yml diff --git a/config/locales/pl-PL/verification.yml b/config/locales/pl/verification.yml similarity index 100% rename from config/locales/pl-PL/verification.yml rename to config/locales/pl/verification.yml diff --git a/config/locales/sq-AL/activemodel.yml b/config/locales/sq/activemodel.yml similarity index 100% rename from config/locales/sq-AL/activemodel.yml rename to config/locales/sq/activemodel.yml diff --git a/config/locales/sq-AL/activerecord.yml b/config/locales/sq/activerecord.yml similarity index 100% rename from config/locales/sq-AL/activerecord.yml rename to config/locales/sq/activerecord.yml diff --git a/config/locales/sq-AL/admin.yml b/config/locales/sq/admin.yml similarity index 100% rename from config/locales/sq-AL/admin.yml rename to config/locales/sq/admin.yml diff --git a/config/locales/sq-AL/budgets.yml b/config/locales/sq/budgets.yml similarity index 100% rename from config/locales/sq-AL/budgets.yml rename to config/locales/sq/budgets.yml diff --git a/config/locales/sq-AL/community.yml b/config/locales/sq/community.yml similarity index 100% rename from config/locales/sq-AL/community.yml rename to config/locales/sq/community.yml diff --git a/config/locales/sq-AL/devise.yml b/config/locales/sq/devise.yml similarity index 100% rename from config/locales/sq-AL/devise.yml rename to config/locales/sq/devise.yml diff --git a/config/locales/sq-AL/devise_views.yml b/config/locales/sq/devise_views.yml similarity index 100% rename from config/locales/sq-AL/devise_views.yml rename to config/locales/sq/devise_views.yml diff --git a/config/locales/sq-AL/documents.yml b/config/locales/sq/documents.yml similarity index 100% rename from config/locales/sq-AL/documents.yml rename to config/locales/sq/documents.yml diff --git a/config/locales/sq-AL/general.yml b/config/locales/sq/general.yml similarity index 100% rename from config/locales/sq-AL/general.yml rename to config/locales/sq/general.yml diff --git a/config/locales/sq-AL/guides.yml b/config/locales/sq/guides.yml similarity index 100% rename from config/locales/sq-AL/guides.yml rename to config/locales/sq/guides.yml diff --git a/config/locales/sq/i18n.yml b/config/locales/sq/i18n.yml new file mode 100644 index 000000000..0e11bbb68 --- /dev/null +++ b/config/locales/sq/i18n.yml @@ -0,0 +1,4 @@ +sq: + i18n: + language: + name: 'Shqiptar' \ No newline at end of file diff --git a/config/locales/sq-AL/images.yml b/config/locales/sq/images.yml similarity index 100% rename from config/locales/sq-AL/images.yml rename to config/locales/sq/images.yml diff --git a/config/locales/sq-AL/kaminari.yml b/config/locales/sq/kaminari.yml similarity index 100% rename from config/locales/sq-AL/kaminari.yml rename to config/locales/sq/kaminari.yml diff --git a/config/locales/sq-AL/legislation.yml b/config/locales/sq/legislation.yml similarity index 100% rename from config/locales/sq-AL/legislation.yml rename to config/locales/sq/legislation.yml diff --git a/config/locales/sq-AL/mailers.yml b/config/locales/sq/mailers.yml similarity index 100% rename from config/locales/sq-AL/mailers.yml rename to config/locales/sq/mailers.yml diff --git a/config/locales/sq-AL/management.yml b/config/locales/sq/management.yml similarity index 100% rename from config/locales/sq-AL/management.yml rename to config/locales/sq/management.yml diff --git a/config/locales/sq-AL/moderation.yml b/config/locales/sq/moderation.yml similarity index 100% rename from config/locales/sq-AL/moderation.yml rename to config/locales/sq/moderation.yml diff --git a/config/locales/sq-AL/officing.yml b/config/locales/sq/officing.yml similarity index 100% rename from config/locales/sq-AL/officing.yml rename to config/locales/sq/officing.yml diff --git a/config/locales/sq-AL/pages.yml b/config/locales/sq/pages.yml similarity index 100% rename from config/locales/sq-AL/pages.yml rename to config/locales/sq/pages.yml diff --git a/config/locales/sq-AL/rails.yml b/config/locales/sq/rails.yml similarity index 100% rename from config/locales/sq-AL/rails.yml rename to config/locales/sq/rails.yml diff --git a/config/locales/sq-AL/responders.yml b/config/locales/sq/responders.yml similarity index 100% rename from config/locales/sq-AL/responders.yml rename to config/locales/sq/responders.yml diff --git a/config/locales/sq-AL/seeds.yml b/config/locales/sq/seeds.yml similarity index 100% rename from config/locales/sq-AL/seeds.yml rename to config/locales/sq/seeds.yml diff --git a/config/locales/sq-AL/settings.yml b/config/locales/sq/settings.yml similarity index 100% rename from config/locales/sq-AL/settings.yml rename to config/locales/sq/settings.yml diff --git a/config/locales/sq-AL/social_share_button.yml b/config/locales/sq/social_share_button.yml similarity index 100% rename from config/locales/sq-AL/social_share_button.yml rename to config/locales/sq/social_share_button.yml diff --git a/config/locales/sq-AL/valuation.yml b/config/locales/sq/valuation.yml similarity index 100% rename from config/locales/sq-AL/valuation.yml rename to config/locales/sq/valuation.yml diff --git a/config/locales/sq-AL/verification.yml b/config/locales/sq/verification.yml similarity index 100% rename from config/locales/sq-AL/verification.yml rename to config/locales/sq/verification.yml diff --git a/config/locales/sv-SE/activemodel.yml b/config/locales/sv/activemodel.yml similarity index 100% rename from config/locales/sv-SE/activemodel.yml rename to config/locales/sv/activemodel.yml diff --git a/config/locales/sv-SE/activerecord.yml b/config/locales/sv/activerecord.yml similarity index 100% rename from config/locales/sv-SE/activerecord.yml rename to config/locales/sv/activerecord.yml diff --git a/config/locales/sv-SE/admin.yml b/config/locales/sv/admin.yml similarity index 100% rename from config/locales/sv-SE/admin.yml rename to config/locales/sv/admin.yml diff --git a/config/locales/sv-SE/budgets.yml b/config/locales/sv/budgets.yml similarity index 100% rename from config/locales/sv-SE/budgets.yml rename to config/locales/sv/budgets.yml diff --git a/config/locales/sv-SE/community.yml b/config/locales/sv/community.yml similarity index 100% rename from config/locales/sv-SE/community.yml rename to config/locales/sv/community.yml diff --git a/config/locales/sv-SE/devise.yml b/config/locales/sv/devise.yml similarity index 100% rename from config/locales/sv-SE/devise.yml rename to config/locales/sv/devise.yml diff --git a/config/locales/sv-SE/devise_views.yml b/config/locales/sv/devise_views.yml similarity index 100% rename from config/locales/sv-SE/devise_views.yml rename to config/locales/sv/devise_views.yml diff --git a/config/locales/sv-SE/documents.yml b/config/locales/sv/documents.yml similarity index 100% rename from config/locales/sv-SE/documents.yml rename to config/locales/sv/documents.yml diff --git a/config/locales/sv-SE/general.yml b/config/locales/sv/general.yml similarity index 100% rename from config/locales/sv-SE/general.yml rename to config/locales/sv/general.yml diff --git a/config/locales/sv-SE/guides.yml b/config/locales/sv/guides.yml similarity index 100% rename from config/locales/sv-SE/guides.yml rename to config/locales/sv/guides.yml diff --git a/config/locales/sv/i18n.yml b/config/locales/sv/i18n.yml new file mode 100644 index 000000000..442c30426 --- /dev/null +++ b/config/locales/sv/i18n.yml @@ -0,0 +1,4 @@ +sv: + i18n: + language: + name: 'Svenska' \ No newline at end of file diff --git a/config/locales/sv-SE/images.yml b/config/locales/sv/images.yml similarity index 100% rename from config/locales/sv-SE/images.yml rename to config/locales/sv/images.yml diff --git a/config/locales/sv-SE/kaminari.yml b/config/locales/sv/kaminari.yml similarity index 100% rename from config/locales/sv-SE/kaminari.yml rename to config/locales/sv/kaminari.yml diff --git a/config/locales/sv-SE/legislation.yml b/config/locales/sv/legislation.yml similarity index 100% rename from config/locales/sv-SE/legislation.yml rename to config/locales/sv/legislation.yml diff --git a/config/locales/sv-SE/mailers.yml b/config/locales/sv/mailers.yml similarity index 100% rename from config/locales/sv-SE/mailers.yml rename to config/locales/sv/mailers.yml diff --git a/config/locales/sv-SE/management.yml b/config/locales/sv/management.yml similarity index 100% rename from config/locales/sv-SE/management.yml rename to config/locales/sv/management.yml diff --git a/config/locales/sv-SE/moderation.yml b/config/locales/sv/moderation.yml similarity index 100% rename from config/locales/sv-SE/moderation.yml rename to config/locales/sv/moderation.yml diff --git a/config/locales/sv-SE/officing.yml b/config/locales/sv/officing.yml similarity index 100% rename from config/locales/sv-SE/officing.yml rename to config/locales/sv/officing.yml diff --git a/config/locales/sv-SE/pages.yml b/config/locales/sv/pages.yml similarity index 100% rename from config/locales/sv-SE/pages.yml rename to config/locales/sv/pages.yml diff --git a/config/locales/sv-SE/rails.yml b/config/locales/sv/rails.yml similarity index 100% rename from config/locales/sv-SE/rails.yml rename to config/locales/sv/rails.yml diff --git a/config/locales/sv-SE/responders.yml b/config/locales/sv/responders.yml similarity index 100% rename from config/locales/sv-SE/responders.yml rename to config/locales/sv/responders.yml diff --git a/config/locales/sv-SE/seeds.yml b/config/locales/sv/seeds.yml similarity index 100% rename from config/locales/sv-SE/seeds.yml rename to config/locales/sv/seeds.yml diff --git a/config/locales/sv-SE/settings.yml b/config/locales/sv/settings.yml similarity index 100% rename from config/locales/sv-SE/settings.yml rename to config/locales/sv/settings.yml diff --git a/config/locales/sv-SE/social_share_button.yml b/config/locales/sv/social_share_button.yml similarity index 100% rename from config/locales/sv-SE/social_share_button.yml rename to config/locales/sv/social_share_button.yml diff --git a/config/locales/sv-SE/valuation.yml b/config/locales/sv/valuation.yml similarity index 100% rename from config/locales/sv-SE/valuation.yml rename to config/locales/sv/valuation.yml diff --git a/config/locales/sv-SE/verification.yml b/config/locales/sv/verification.yml similarity index 100% rename from config/locales/sv-SE/verification.yml rename to config/locales/sv/verification.yml From e357ff223680756955b2dbb3a34bd310d02d5d4f Mon Sep 17 00:00:00 2001 From: kreopelle <kreopelle@gmail.com> Date: Wed, 10 Oct 2018 21:02:55 -0400 Subject: [PATCH 472/565] Change spelling for constant to TITLE_LENGTH_RANGE, instead of TITLE_LEGHT_RANGE --- app/models/image.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/image.rb b/app/models/image.rb index 25cf449bd..8f62f94d8 100644 --- a/app/models/image.rb +++ b/app/models/image.rb @@ -2,7 +2,7 @@ class Image < ActiveRecord::Base include ImagesHelper include ImageablesHelper - TITLE_LEGHT_RANGE = 4..80 + TITLE_LENGTH_RANGE = 4..80 MIN_SIZE = 475 MAX_IMAGE_SIZE = 1.megabyte ACCEPTED_CONTENT_TYPE = %w(image/jpeg image/jpg).freeze @@ -23,7 +23,7 @@ class Image < ActiveRecord::Base validate :attachment_presence validate :validate_attachment_content_type, if: -> { attachment.present? } validate :validate_attachment_size, if: -> { attachment.present? } - validates :title, presence: true, length: { in: TITLE_LEGHT_RANGE } + validates :title, presence: true, length: { in: TITLE_LENGTH_RANGE } validates :user_id, presence: true validates :imageable_id, presence: true, if: -> { persisted? } validates :imageable_type, presence: true, if: -> { persisted? } From 82187a9c1acc3fc3f75c6930f6657d875585e288 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 9 Aug 2018 17:40:38 +0200 Subject: [PATCH 473/565] Skip spec before doing any requests Skipping a spec in the middle of it, particularly after doing some requests, caused Capybara to keep using the same driver in the following spec. Since the current spec uses the JavaScript driver, the next test would also use the JavaScript driver, causing apparently random failures if that test was supposed to use the Rack driver. --- spec/shared/features/nested_imageable.rb | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/spec/shared/features/nested_imageable.rb b/spec/shared/features/nested_imageable.rb index c8bdb9556..f508366fc 100644 --- a/spec/shared/features/nested_imageable.rb +++ b/spec/shared/features/nested_imageable.rb @@ -175,15 +175,14 @@ shared_examples "nested imageable" do |imageable_factory_name, path, end scenario "Should show successful notice when resource filled correctly without any nested images", :js do - login_as user - visit send(path, arguments) - - send(fill_resource_method_name) if fill_resource_method_name - click_on submit_button - if has_many_images skip "no need to test, there are no attributes for the parent resource" else + login_as user + visit send(path, arguments) + + send(fill_resource_method_name) if fill_resource_method_name + click_on submit_button expect(page).to have_content imageable_success_notice end end From 5117f3eb37b90b1c0a33ac672ed737fd60714a73 Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Tue, 9 Oct 2018 20:38:06 +0200 Subject: [PATCH 474/565] Add all language names --- config/locales/en/i18n.yml | 2 +- config/locales/eu-ES/i18n.yml | 2 +- config/locales/id-ID/i18n.yml | 2 +- config/locales/pap-PAP/i18n.yml | 2 +- config/locales/pl-PL/i18n.yml | 3 +++ config/locales/sl-SI/i18n.yml | 2 +- config/locales/so-SO/i18n.yml | 2 +- config/locales/sq-AL/i18n.yml | 4 ++++ config/locales/sv-FI/i18n.yml | 3 +++ config/locales/tr-TR/i18n.yml | 2 +- 10 files changed, 17 insertions(+), 7 deletions(-) diff --git a/config/locales/en/i18n.yml b/config/locales/en/i18n.yml index 65fdd3ed5..9819987f0 100644 --- a/config/locales/en/i18n.yml +++ b/config/locales/en/i18n.yml @@ -1,4 +1,4 @@ en: i18n: language: - name: "English" \ No newline at end of file + name: "English" diff --git a/config/locales/eu-ES/i18n.yml b/config/locales/eu-ES/i18n.yml index 2be0f0eca..0026b1a3f 100644 --- a/config/locales/eu-ES/i18n.yml +++ b/config/locales/eu-ES/i18n.yml @@ -1,4 +1,4 @@ -eu: +eu-ES: i18n: language: name: "Euskara" diff --git a/config/locales/id-ID/i18n.yml b/config/locales/id-ID/i18n.yml index 525bded17..bcac68b67 100644 --- a/config/locales/id-ID/i18n.yml +++ b/config/locales/id-ID/i18n.yml @@ -1,4 +1,4 @@ -id: +id-ID: i18n: language: name: "Bahasa Indonesia" diff --git a/config/locales/pap-PAP/i18n.yml b/config/locales/pap-PAP/i18n.yml index 76630598e..3ba2ef34e 100644 --- a/config/locales/pap-PAP/i18n.yml +++ b/config/locales/pap-PAP/i18n.yml @@ -1,4 +1,4 @@ -pap: +pap-PAP: i18n: language: name: "Papiamentu" diff --git a/config/locales/pl-PL/i18n.yml b/config/locales/pl-PL/i18n.yml index a8e4dde70..48a4e3100 100644 --- a/config/locales/pl-PL/i18n.yml +++ b/config/locales/pl-PL/i18n.yml @@ -1 +1,4 @@ pl: + i18n: + language: + name: "Polski" diff --git a/config/locales/sl-SI/i18n.yml b/config/locales/sl-SI/i18n.yml index 477af8a3b..a1c776040 100644 --- a/config/locales/sl-SI/i18n.yml +++ b/config/locales/sl-SI/i18n.yml @@ -1,4 +1,4 @@ -sl: +sl-SI: i18n: language: name: "Slovenščina" diff --git a/config/locales/so-SO/i18n.yml b/config/locales/so-SO/i18n.yml index 3a7312d46..74e3bd9d2 100644 --- a/config/locales/so-SO/i18n.yml +++ b/config/locales/so-SO/i18n.yml @@ -1,4 +1,4 @@ -so: +so-SO: i18n: language: name: "Af Soomaali" diff --git a/config/locales/sq-AL/i18n.yml b/config/locales/sq-AL/i18n.yml index 44ddadc95..cb9ec1b0c 100644 --- a/config/locales/sq-AL/i18n.yml +++ b/config/locales/sq-AL/i18n.yml @@ -1 +1,5 @@ sq: +sq-AL: + i18n: + language: + name: "Shqiptar" diff --git a/config/locales/sv-FI/i18n.yml b/config/locales/sv-FI/i18n.yml index bddbc3af6..32f80ad88 100644 --- a/config/locales/sv-FI/i18n.yml +++ b/config/locales/sv-FI/i18n.yml @@ -1 +1,4 @@ sv-FI: + i18n: + language: + name: "Suomi" diff --git a/config/locales/tr-TR/i18n.yml b/config/locales/tr-TR/i18n.yml index d67a59ea3..e7380b859 100644 --- a/config/locales/tr-TR/i18n.yml +++ b/config/locales/tr-TR/i18n.yml @@ -1,4 +1,4 @@ -tr: +tr-TR: i18n: language: name: "Türkçe" From df32a5407f2729abf257d3180245df57b04108dc Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Tue, 9 Oct 2018 22:01:52 +0200 Subject: [PATCH 475/565] Add all available locales Only addding those with significant number of translations --- config/application.rb | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/config/application.rb b/config/application.rb index e851bc345..f78d971bf 100644 --- a/config/application.rb +++ b/config/application.rb @@ -20,8 +20,26 @@ module Consul # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] config.i18n.default_locale = :en - config.i18n.available_locales = [:en, :es, :fr, :nl, 'pt-BR'] config.i18n.fallbacks = {'fr' => 'es', 'pt-br' => 'es', 'nl' => 'en'} + available_locales = [ + "ar", + "de", + "en", + "es", + "fa", + "fr", + "gl", + "he", + "it", + "nl", + "pl", + "pt-BR", + "sq", + "sv", + "val", + "zh-CN", + "zh-TW"] + config.i18n.available_locales = available_locales config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')] config.i18n.load_path += Dir[Rails.root.join('config', 'locales', 'custom', '**', '*.{rb,yml}')] From 9fcd2598c1a4f9d92e5e9b2baa8d8fecd2f2b406 Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Tue, 9 Oct 2018 22:04:53 +0200 Subject: [PATCH 476/565] Add fallback i18n locales MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All other languages will fallback to the default locale Rails also, seems to pick up dialect fallbacks, for locales with this format: es-CO, es-PE, etc, which will fallback to "es", so that is great 😌 --- config/application.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/config/application.rb b/config/application.rb index f78d971bf..1428a628e 100644 --- a/config/application.rb +++ b/config/application.rb @@ -20,7 +20,6 @@ module Consul # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] config.i18n.default_locale = :en - config.i18n.fallbacks = {'fr' => 'es', 'pt-br' => 'es', 'nl' => 'en'} available_locales = [ "ar", "de", @@ -40,6 +39,14 @@ module Consul "zh-CN", "zh-TW"] config.i18n.available_locales = available_locales + config.i18n.fallbacks = { + 'ast' => 'es', + 'ca' => 'es', + 'fr' => 'es', + 'gl' => 'es', + 'it' => 'es', + 'pt-BR' => 'es' + } config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')] config.i18n.load_path += Dir[Rails.root.join('config', 'locales', 'custom', '**', '*.{rb,yml}')] From 56e85ff692ec63836a3084e667193b787e37d490 Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Tue, 16 Oct 2018 21:13:18 +0200 Subject: [PATCH 477/565] Remove duplicate language names --- config/locales/de-DE/i18n.yml | 4 ---- config/locales/fa-IR/i18n.yml | 4 ---- config/locales/pl-PL/i18n.yml | 4 ---- config/locales/sq-AL/i18n.yml | 5 ----- config/locales/sv-SE/i18n.yml | 4 ---- 5 files changed, 21 deletions(-) delete mode 100644 config/locales/de-DE/i18n.yml delete mode 100644 config/locales/fa-IR/i18n.yml delete mode 100644 config/locales/pl-PL/i18n.yml delete mode 100644 config/locales/sq-AL/i18n.yml delete mode 100644 config/locales/sv-SE/i18n.yml diff --git a/config/locales/de-DE/i18n.yml b/config/locales/de-DE/i18n.yml deleted file mode 100644 index b68d3f1d2..000000000 --- a/config/locales/de-DE/i18n.yml +++ /dev/null @@ -1,4 +0,0 @@ -de: - i18n: - language: - name: "Deutsch" diff --git a/config/locales/fa-IR/i18n.yml b/config/locales/fa-IR/i18n.yml deleted file mode 100644 index 44550548e..000000000 --- a/config/locales/fa-IR/i18n.yml +++ /dev/null @@ -1,4 +0,0 @@ -fa: - i18n: - language: - name: "فارسى" diff --git a/config/locales/pl-PL/i18n.yml b/config/locales/pl-PL/i18n.yml deleted file mode 100644 index 48a4e3100..000000000 --- a/config/locales/pl-PL/i18n.yml +++ /dev/null @@ -1,4 +0,0 @@ -pl: - i18n: - language: - name: "Polski" diff --git a/config/locales/sq-AL/i18n.yml b/config/locales/sq-AL/i18n.yml deleted file mode 100644 index cb9ec1b0c..000000000 --- a/config/locales/sq-AL/i18n.yml +++ /dev/null @@ -1,5 +0,0 @@ -sq: -sq-AL: - i18n: - language: - name: "Shqiptar" diff --git a/config/locales/sv-SE/i18n.yml b/config/locales/sv-SE/i18n.yml deleted file mode 100644 index cc5e132ed..000000000 --- a/config/locales/sv-SE/i18n.yml +++ /dev/null @@ -1,4 +0,0 @@ -sv: - i18n: - language: - name: "Svenska" From 2c34a8b4e2579e780197b266a7a4f8e331482fe0 Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Tue, 16 Oct 2018 21:14:39 +0200 Subject: [PATCH 478/565] Remove fallback rules for locales not yet added --- config/application.rb | 2 -- 1 file changed, 2 deletions(-) diff --git a/config/application.rb b/config/application.rb index 1428a628e..ad39ae88f 100644 --- a/config/application.rb +++ b/config/application.rb @@ -40,8 +40,6 @@ module Consul "zh-TW"] config.i18n.available_locales = available_locales config.i18n.fallbacks = { - 'ast' => 'es', - 'ca' => 'es', 'fr' => 'es', 'gl' => 'es', 'it' => 'es', From bc0479f9c3829072cf36dd46458854e69146b8fc Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Wed, 10 Oct 2018 11:33:48 +0200 Subject: [PATCH 479/565] Fix pluralization spec when using different default locale This spec was failing due to using :es as the default_locale in application.rb[1], but using :en as the default_locale in the test environment[2] The fallback rules where getting a little confused and not including the default locale, for the test environment, in the fallback rules With this commit we are making sure that rule is created, as it would in a production environment that uses the default_locale in application.rb [1] https://github.com/AyuntamientoMadrid/consul/blob/master/config/application.rb#L22 [2] https://github.com/AyuntamientoMadrid/consul/blob/master/spec/rails_helper.rb#L15 --- spec/i18n_spec.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/i18n_spec.rb b/spec/i18n_spec.rb index 7fb59edde..e1d60e2fc 100644 --- a/spec/i18n_spec.rb +++ b/spec/i18n_spec.rb @@ -44,6 +44,7 @@ describe 'I18n' do I18n.enforce_available_locales = false I18n.locale = :zz + I18n.fallbacks[:zz] << I18n.default_locale expect(I18n.t("test_plural", count: 0)).to eq("No comments") expect(I18n.t("test_plural", count: 1)).to eq("1 comment") From c80e43661463149da9a5365d86faf1f2544dcb8e Mon Sep 17 00:00:00 2001 From: decabeza <alberto@decabeza.es> Date: Fri, 28 Sep 2018 17:55:01 +0200 Subject: [PATCH 480/565] Removes guide feature --- app/assets/stylesheets/participation.scss | 92 ------------------- app/controllers/guides_controller.rb | 8 -- app/helpers/guides_helper.rb | 19 ---- .../information_texts/_tabs.html.erb | 6 +- app/views/budgets/index.html.erb | 2 +- app/views/guides/new.html.erb | 58 ------------ app/views/proposals/index.html.erb | 4 +- config/i18n-tasks.yml | 1 - config/locales/en/admin.yml | 3 +- config/locales/en/guides.yml | 18 ---- config/locales/es/admin.yml | 1 - config/locales/es/guides.yml | 18 ---- config/routes.rb | 1 - config/routes/guide.rb | 1 - db/dev_seeds/settings.rb | 1 - db/seeds.rb | 1 - .../information_texts_spec.rb | 5 +- spec/features/guides_spec.rb | 66 ------------- 18 files changed, 8 insertions(+), 297 deletions(-) delete mode 100644 app/controllers/guides_controller.rb delete mode 100644 app/helpers/guides_helper.rb delete mode 100644 app/views/guides/new.html.erb delete mode 100644 config/locales/en/guides.yml delete mode 100644 config/locales/es/guides.yml delete mode 100644 config/routes/guide.rb delete mode 100644 spec/features/guides_spec.rb diff --git a/app/assets/stylesheets/participation.scss b/app/assets/stylesheets/participation.scss index cafbb52be..bb600ff83 100644 --- a/app/assets/stylesheets/participation.scss +++ b/app/assets/stylesheets/participation.scss @@ -9,7 +9,6 @@ // 07. Proposals successful // 08. Polls // 09. Polls results and stats -// 10. Guides // // 01. Votes and supports @@ -2095,94 +2094,3 @@ line-height: rem-calc(60); } } - -// 10. Guides -// ---------------------- - -.guides { - - h2 { - margin: $line-height 0 $line-height * 2; - } - - .guide-budget, - .guide-proposal { - border-radius: rem-calc(3); - margin: $line-height 0; - padding: $line-height; - position: relative; - - .button { - color: $text; - font-weight: bold; - } - - &::before { - border-radius: 100%; - color: #fff; - font-family: "icons" !important; - height: rem-calc(80); - left: 50%; - line-height: rem-calc(80); - margin-left: rem-calc(-40); - position: absolute; - text-align: center; - top: -40px; - width: rem-calc(80); - z-index: 99; - } - } - - .guide-budget { - border: 1px solid $budget; - - &::before { - background: $budget; - content: '\53'; - font-size: rem-calc(40); - } - - .button { - background: #f8f5f9; - border: 1px solid $budget; - } - } - - .guide-proposal { - border: 1px solid $proposals; - - &::before { - background: $proposals; - content: '\68'; - font-size: rem-calc(40); - } - - .button { - background: #fffaf4; - border: 1px solid $proposals; - } - } - - ul { - - @include breakpoint(medium) { - min-height: $line-height * 14; - } - - li { - margin-bottom: $line-height; - padding-left: $line-height; - position: relative; - - &::before { - color: #37af65; - content: '\56'; - font-family: "icons" !important; - font-size: $small-font-size; - left: 0; - position: absolute; - top: 1px; - } - } - } -} diff --git a/app/controllers/guides_controller.rb b/app/controllers/guides_controller.rb deleted file mode 100644 index 0a03955e9..000000000 --- a/app/controllers/guides_controller.rb +++ /dev/null @@ -1,8 +0,0 @@ -class GuidesController < ApplicationController - - skip_authorization_check - - def new - end - -end \ No newline at end of file diff --git a/app/helpers/guides_helper.rb b/app/helpers/guides_helper.rb deleted file mode 100644 index dd504d7d6..000000000 --- a/app/helpers/guides_helper.rb +++ /dev/null @@ -1,19 +0,0 @@ -module GuidesHelper - - def new_proposal_guide - if feature?('guides') && Budget.current&.accepting? - new_guide_path - else - new_proposal_path - end - end - - def new_budget_investment_guide - if feature?('guides') - new_guide_path - else - new_budget_investment_path(current_budget) - end - end - -end diff --git a/app/views/admin/site_customization/information_texts/_tabs.html.erb b/app/views/admin/site_customization/information_texts/_tabs.html.erb index a28fb8f17..0b6cd61fe 100644 --- a/app/views/admin/site_customization/information_texts/_tabs.html.erb +++ b/app/views/admin/site_customization/information_texts/_tabs.html.erb @@ -1,11 +1,11 @@ <ul id="information-texts-tabs" class="tabs" > - <% [:debates, :community, :proposals, :polls, :layouts, :mailers, :management, :guides, :welcome].each do |tab| %> + <% [:debates, :community, :proposals, :polls, :layouts, :mailers, :management, :welcome].each do |tab| %> <li class="tabs-title"> - <% if tab.to_s == @tab %> + <% if tab.to_s == @tab %> <%= link_to t("admin.menu.site_customization.information_texts_menu.#{tab}"), admin_site_customization_information_texts_path(tab: tab), :class => 'is-active' %> <% else %> <%= link_to t("admin.menu.site_customization.information_texts_menu.#{tab}"), admin_site_customization_information_texts_path(tab: tab) %> - <% end %> + <% end %> </li> <% end %> </ul> diff --git a/app/views/budgets/index.html.erb b/app/views/budgets/index.html.erb index 9d73bf571..729975469 100644 --- a/app/views/budgets/index.html.erb +++ b/app/views/budgets/index.html.erb @@ -33,7 +33,7 @@ <% if current_user %> <% if current_user.level_two_or_three_verified? %> <%= link_to t("budgets.investments.index.sidebar.create"), - new_budget_investment_guide, + new_budget_investment_path(@budget), class: "button margin-top expanded" %> <% else %> <div class="callout warning margin-top"> diff --git a/app/views/guides/new.html.erb b/app/views/guides/new.html.erb deleted file mode 100644 index 314941ca4..000000000 --- a/app/views/guides/new.html.erb +++ /dev/null @@ -1,58 +0,0 @@ -<div class="guides"> - <div class="row margin"> - <div class="small-12 column text-center"> - <h1><%= t("guides.title", org: setting['org_name']) %></h1> - <p class="lead"><%= t("guides.subtitle") %></p> - </div> - </div> - - <div class="row" data-equalizer data-equalize-on="medium"> - - <div class="small-12 medium-5 medium-offset-1 column"> - <div class="guide-budget" data-equalizer-watch> - <h2 class="text-center"> - <%= t("guides.budget_investment.title") %> - </h2> - - <ul class="no-bullet"> - <li><%= t("guides.budget_investment.feature_1_html") %></li> - <li><%= t("guides.budget_investment.feature_2_html") %></li> - <li><%= t("guides.budget_investment.feature_3_html") %></li> - <li><%= t("guides.budget_investment.feature_4_html") %></li> - </ul> - <% if current_budget %> - <div class="small-12 medium-9 small-centered"> - <%= link_to t("guides.budget_investment.new_button"), - new_budget_investment_path(current_budget), - class: "button expanded" %> - </div> - <% end %> - </div> - </div> - - <div class="small-12 medium-5 column end"> - <div class="guide-proposal" data-equalizer-watch> - <h2 class="text-center"> - <%= t("guides.proposal.title") %> - </h2> - - <ul class="no-bullet"> - <li><%= t("guides.proposal.feature_1_html") %></li> - <li> - <%= t("guides.proposal.feature_2_html", - votes: setting["votes_for_proposal_success"], - org: setting['org_name']) %> - </li> - <li><%= t("guides.proposal.feature_3_html") %></li> - <li><%= t("guides.proposal.feature_4_html") %></li> - </ul> - - <div class="small-12 medium-9 small-centered"> - <%= link_to t("guides.proposal.new_button"), - new_proposal_path, - class: "button expanded" %> - </div> - </div> - </div> - </div> -</div> diff --git a/app/views/proposals/index.html.erb b/app/views/proposals/index.html.erb index 2217513f8..0e19f0795 100644 --- a/app/views/proposals/index.html.erb +++ b/app/views/proposals/index.html.erb @@ -76,7 +76,7 @@ <% if @proposals.any? %> <div class="show-for-small-only"> <%= link_to t("proposals.index.start_proposal"), - new_proposal_guide, + new_proposal_path, class: 'button expanded' %> </div> <% end %> @@ -109,7 +109,7 @@ <div class="small-12 medium-3 column"> <aside class="margin-bottom"> <%= link_to t("proposals.index.start_proposal"), - new_proposal_guide, + new_proposal_path, class: 'button expanded' %> <% if params[:retired].blank? %> <%= render 'categories' %> diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml index fd48637d8..cef2c8f97 100644 --- a/config/i18n-tasks.yml +++ b/config/i18n-tasks.yml @@ -41,7 +41,6 @@ data: - config/locales/%{locale}/community.yml - config/locales/%{locale}/documents.yml - config/locales/%{locale}/images.yml - - config/locales/%{locale}/guides.yml - config/locales/%{locale}/user_groups.yml - config/locales/%{locale}/i18n.yml diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml index c119b2cff..aa7a23f8e 100644 --- a/config/locales/en/admin.yml +++ b/config/locales/en/admin.yml @@ -570,7 +570,6 @@ en: layouts: "Layouts" mailers: "Emails" management: "Management" - guides: "Guides" welcome: "Welcome" buttons: save: "Save" @@ -1320,7 +1319,7 @@ en: names: top_links: Top Links footer: Footer - subnavigation_left: Main Navigation Left + subnavigation_left: Main Navigation Left subnavigation_right: Main Navigation Right images: index: diff --git a/config/locales/en/guides.yml b/config/locales/en/guides.yml deleted file mode 100644 index 2c54b0ecd..000000000 --- a/config/locales/en/guides.yml +++ /dev/null @@ -1,18 +0,0 @@ -en: - guides: - title: "Do you have an idea for %{org}?" - subtitle: "Choose what you want to create" - budget_investment: - title: "An investment project" - feature_1_html: "Ideas of how to spend part of the <strong>municipal budget</strong>" - feature_2_html: "Investment projects are accepted <strong>between January and March</strong>" - feature_3_html: "If it receives supports, it's viable and municipal competence, it goes to voting phase" - feature_4_html: "If the citizens approve the projects, they become a reality" - new_button: I want to create a budget investment - proposal: - title: "A citizen proposal" - feature_1_html: "Ideas about any action the City Council can take" - feature_2_html: "Need <strong>%{votes} supports</strong> in %{org} for go to voting" - feature_3_html: "Activate at any time, you have <strong>a year</strong> to get the supports" - feature_4_html: "If approved in a vote, the City Council accepts the proposal" - new_button: I want to create a proposal diff --git a/config/locales/es/admin.yml b/config/locales/es/admin.yml index 7218d6a68..ecc100c1d 100644 --- a/config/locales/es/admin.yml +++ b/config/locales/es/admin.yml @@ -566,7 +566,6 @@ es: community: "Comunidad" proposals: "Propuestas" polls: "Votaciones" - layouts: "Plantillas" mailers: "Correos" management: "Gestión" welcome: "Bienvenido/a" diff --git a/config/locales/es/guides.yml b/config/locales/es/guides.yml deleted file mode 100644 index eda23464d..000000000 --- a/config/locales/es/guides.yml +++ /dev/null @@ -1,18 +0,0 @@ -es: - guides: - title: "¿Tienes una idea para %{org}?" - subtitle: "Elige qué quieres crear" - budget_investment: - title: "Un proyecto de gasto" - feature_1_html: "Son ideas de cómo gastar parte del <strong>presupuesto municipal</strong>" - feature_2_html: "Los proyectos de gasto se plantean <strong>entre enero y marzo</strong>" - feature_3_html: "Si recibe apoyos, es viable y competencia municipal, pasa a votación" - feature_4_html: "Si la ciudadanía aprueba los proyectos, se hacen realidad" - new_button: Quiero crear un proyecto de gasto - proposal: - title: "Una propuesta ciudadana" - feature_1_html: "Son ideas sobre cualquier acción que pueda realizar el Ayuntamiento" - feature_2_html: "Necesitan <strong>%{votes} apoyos</strong> en %{org} para pasar a votación" - feature_3_html: "Se activan en cualquier momento; tienes <strong>un año</strong> para reunir los apoyos" - feature_4_html: "De aprobarse en votación, el Ayuntamiento asume la propuesta" - new_button: Quiero crear una propuesta diff --git a/config/routes.rb b/config/routes.rb index 6f65956f3..2785a3d66 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -20,7 +20,6 @@ Rails.application.routes.draw do draw :direct_upload draw :document draw :graphql - draw :guide draw :legislation draw :management draw :moderation diff --git a/config/routes/guide.rb b/config/routes/guide.rb deleted file mode 100644 index 65a514072..000000000 --- a/config/routes/guide.rb +++ /dev/null @@ -1 +0,0 @@ -resources :guides, only: :new diff --git a/db/dev_seeds/settings.rb b/db/dev_seeds/settings.rb index 28298f20a..756ba9785 100644 --- a/db/dev_seeds/settings.rb +++ b/db/dev_seeds/settings.rb @@ -47,7 +47,6 @@ section "Creating Settings" do Setting.create(key: 'feature.allow_images', value: "true") Setting.create(key: 'feature.allow_attached_documents', value: "true") Setting.create(key: 'feature.public_stats', value: "true") - Setting.create(key: 'feature.guides', value: nil) Setting.create(key: 'feature.user.skip_verification', value: "true") Setting.create(key: 'feature.help_page', value: "true") diff --git a/db/seeds.rb b/db/seeds.rb index 8ff40876e..8d4377c53 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -88,7 +88,6 @@ Setting['feature.community'] = true Setting['feature.map'] = nil Setting['feature.allow_images'] = true Setting['feature.allow_attached_documents'] = true -Setting['feature.guides'] = nil Setting['feature.help_page'] = true # Spending proposals feature flags diff --git a/spec/features/admin/site_customization/information_texts_spec.rb b/spec/features/admin/site_customization/information_texts_spec.rb index 08d0c0731..011701220 100644 --- a/spec/features/admin/site_customization/information_texts_spec.rb +++ b/spec/features/admin/site_customization/information_texts_spec.rb @@ -42,13 +42,10 @@ feature "Admin custom information texts" do expect(page).to have_content 'This user account is already verified.' - click_link 'Guides' - expect(page).to have_content 'Choose what you want to create' - click_link 'Welcome' expect(page).to have_content 'See all debates' end - + scenario 'check that tabs are highlight when click it' do visit admin_site_customization_information_texts_path diff --git a/spec/features/guides_spec.rb b/spec/features/guides_spec.rb deleted file mode 100644 index e03d69c92..000000000 --- a/spec/features/guides_spec.rb +++ /dev/null @@ -1,66 +0,0 @@ -require 'rails_helper' - -feature 'Guide the user to create the correct resource' do - - let(:user) { create(:user, :verified)} - let!(:budget) { create(:budget, :accepting) } - - background do - Setting['feature.guides'] = true - end - - after do - Setting['feature.guides'] = nil - end - - context "Proposals" do - scenario "Proposal creation" do - login_as(user) - visit proposals_path - - click_link "Create a proposal" - click_link "I want to create a proposal" - - expect(page).to have_current_path(new_proposal_path) - end - - scenario "Proposal creation when Budget is not accepting" do - budget.update_attribute(:phase, :reviewing) - login_as(user) - visit proposals_path - - click_link "Create a proposal" - - expect(page).to have_current_path(new_proposal_path) - end - end - - scenario "Budget Investment" do - login_as(user) - visit budgets_path - - click_link "Create a budget investment" - click_link "I want to create a budget investment" - - expect(page).to have_current_path(new_budget_investment_path(budget)) - end - - scenario "Feature deactivated" do - Setting['feature.guides'] = nil - - login_as(user) - - visit proposals_path - click_link "Create a proposal" - - expect(page).not_to have_link "I want to create a proposal" - expect(page).to have_current_path(new_proposal_path) - - visit budgets_path - click_link "Create a budget investment" - - expect(page).not_to have_link "I want to create a new budget investment" - expect(page).to have_current_path(new_budget_investment_path(budget)) - end - -end From 5e95339e518364586322f5044b030445bb92b5ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 17 Oct 2018 14:06:26 +0200 Subject: [PATCH 481/565] Fix flaky legislation question spec The test was failing sometimes because of the sequence: within('#side_menu') do click_link "Collaborative Legislation" end click_link "All" expect(page).to have_content 'An example legislation process' click_link 'An example legislation process' Right after clicking the "Collaborative Legislation" link, the link 'An example legislation process' is already available. So sometimes Capybara might click the links "All" and 'An example legislation process' at more or less the same time, causing the second link not to be correctly clicked. Making sure the "All" link doesn't exist anymore we guarantee Capybara will wait for the previous AJAX request to finish before clicking the next link. Note the test to "Create Valid legislation question" is almost identical but it doesn't fail because it doesn't use Capybara's JavaScript driver. --- spec/features/admin/legislation/questions_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/features/admin/legislation/questions_spec.rb b/spec/features/admin/legislation/questions_spec.rb index b176ecaac..1ae23a566 100644 --- a/spec/features/admin/legislation/questions_spec.rb +++ b/spec/features/admin/legislation/questions_spec.rb @@ -85,7 +85,7 @@ feature 'Admin legislation questions' do click_link "All" - expect(page).to have_content 'An example legislation process' + expect(page).not_to have_link "All" click_link 'An example legislation process' click_link 'Debate' From 55a32d8579fb7f033aba180b8ff4c94df9dfeecf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 17 Oct 2018 19:24:55 +0200 Subject: [PATCH 482/565] Bring back CKEditor images button It was accidentally deleted in commit 914bfa6. Note the following spec passes on my machine if we add a `sleep 0.1` call in the `:wait_readable` part of ruby's `Net::Protocol#rbuf_fill`. Otherwise, it hangs forever after clicking the `.fileupload-file` div, which closes its window. It might be solved when upgrading rails, capybara, selenium or chromedriver. scenario "Allows images in CKEditor", :js do visit edit_admin_site_customization_page_path(custom_page) within(".ckeditor") do within_frame(0) { expect(page).not_to have_css("img") } expect(page).to have_css(".cke_toolbar .cke_button__image_icon") find(".cke_toolbar .cke_button__image_icon").click end within_window(window_opened_by { click_link "Browse Server" }) do attach_file :file, Rails.root.join('spec/fixtures/files/clippy.jpg'), visible: false find(".fileupload-file").click end click_link "OK" within(".ckeditor") do within_frame(0) { expect(page).to have_css("img") } end end --- .../admin/site_customization/pages/_form.html.erb | 3 ++- .../features/admin/site_customization/pages_spec.rb | 13 ++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/views/admin/site_customization/pages/_form.html.erb b/app/views/admin/site_customization/pages/_form.html.erb index c62a7142b..fa8fa81f9 100644 --- a/app/views/admin/site_customization/pages/_form.html.erb +++ b/app/views/admin/site_customization/pages/_form.html.erb @@ -41,7 +41,8 @@ <%= f.translatable_text_field :title %> <%= f.translatable_text_field :subtitle %> <div class="ckeditor"> - <%= f.translatable_cktext_area :content %> + <%= f.translatable_cktext_area :content, + ckeditor: { language: I18n.locale, toolbar: "admin" } %> </div> <div class="small-12 medium-6 large-3 margin-top"> <%= f.submit class: "button success expanded" %> diff --git a/spec/features/admin/site_customization/pages_spec.rb b/spec/features/admin/site_customization/pages_spec.rb index b0f4a40e5..4270df93d 100644 --- a/spec/features/admin/site_customization/pages_spec.rb +++ b/spec/features/admin/site_customization/pages_spec.rb @@ -41,8 +41,11 @@ feature "Admin custom pages" do end context "Update" do - scenario "Valid custom page" do + let!(:custom_page) do create(:site_customization_page, title: "An example custom page", slug: "custom-example-page") + end + + scenario "Valid custom page" do visit admin_root_path within("#side_menu") do @@ -62,6 +65,14 @@ feature "Admin custom pages" do expect(page).to have_content "Another example custom page" expect(page).to have_content "another-custom-example-page" end + + scenario "Allows images in CKEditor", :js do + visit edit_admin_site_customization_page_path(custom_page) + + within(".ckeditor") do + expect(page).to have_css(".cke_toolbar .cke_button__image_icon") + end + end end scenario "Delete" do From 8cd6253426dbf83d7ba4525dcae35ee054c0b864 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Tue, 9 Oct 2018 22:11:04 +0200 Subject: [PATCH 483/565] Ease customization in processes controller By extracting a method just for the allowed parameters, forks can customize this method by reopening the class. --- .../admin/legislation/processes_controller.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/legislation/processes_controller.rb b/app/controllers/admin/legislation/processes_controller.rb index 2cb20d0ba..81de4b966 100644 --- a/app/controllers/admin/legislation/processes_controller.rb +++ b/app/controllers/admin/legislation/processes_controller.rb @@ -41,7 +41,11 @@ class Admin::Legislation::ProcessesController < Admin::Legislation::BaseControll private def process_params - params.require(:legislation_process).permit( + params.require(:legislation_process).permit(allowed_params) + end + + def allowed_params + [ :title, :summary, :description, @@ -63,9 +67,9 @@ class Admin::Legislation::ProcessesController < Admin::Legislation::BaseControll :result_publication_enabled, :published, :custom_list, - *translation_params(Legislation::Process), + *translation_params(::Legislation::Process), documents_attributes: [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy] - ) + ] end def set_tag_list @@ -74,6 +78,6 @@ class Admin::Legislation::ProcessesController < Admin::Legislation::BaseControll end def resource - @process || Legislation::Process.find(params[:id]) + @process || ::Legislation::Process.find(params[:id]) end end From 889311853e12619e9c58ffd69499292b71ea0ed9 Mon Sep 17 00:00:00 2001 From: decabeza <alberto@decabeza.es> Date: Thu, 18 Oct 2018 18:14:39 +0200 Subject: [PATCH 484/565] Updates is-active class for view mode --- app/assets/stylesheets/participation.scss | 2 +- app/views/budgets/investments/_view_mode.html.erb | 4 ++-- app/views/debates/_view_mode.html.erb | 4 ++-- app/views/proposals/_view_mode.html.erb | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/assets/stylesheets/participation.scss b/app/assets/stylesheets/participation.scss index bb600ff83..afc582a3b 100644 --- a/app/assets/stylesheets/participation.scss +++ b/app/assets/stylesheets/participation.scss @@ -1094,7 +1094,7 @@ } } - .active { + .is-active { color: $brand; &::after { diff --git a/app/views/budgets/investments/_view_mode.html.erb b/app/views/budgets/investments/_view_mode.html.erb index 4ec42fc45..bc6c5aff7 100644 --- a/app/views/budgets/investments/_view_mode.html.erb +++ b/app/views/budgets/investments/_view_mode.html.erb @@ -11,7 +11,7 @@ </span> <ul class="no-bullet"> <% if investments_default_view? %> - <li class="view-card active"> + <li class="view-card is-active"> <%= t("shared.view_mode.cards") %> </li> <li class="view-list"> @@ -21,7 +21,7 @@ <li class="view-card"> <%= link_to t("shared.view_mode.cards"), investments_minimal_view_path %> </li> - <li class="view-list active"> + <li class="view-list is-active"> <%= t("shared.view_mode.list") %> </li> <% end %> diff --git a/app/views/debates/_view_mode.html.erb b/app/views/debates/_view_mode.html.erb index 06ec444f6..ed2d717b7 100644 --- a/app/views/debates/_view_mode.html.erb +++ b/app/views/debates/_view_mode.html.erb @@ -11,7 +11,7 @@ </span> <ul class="no-bullet"> <% if debates_default_view? %> - <li class="view-card active"> + <li class="view-card is-active"> <%= t("shared.view_mode.cards") %> </li> <li class="view-list"> @@ -21,7 +21,7 @@ <li class="view-card"> <%= link_to t("shared.view_mode.cards"), debates_minimal_view_path %> </li> - <li class="view-list active"> + <li class="view-list is-active"> <%= t("shared.view_mode.list") %> </li> <% end %> diff --git a/app/views/proposals/_view_mode.html.erb b/app/views/proposals/_view_mode.html.erb index 7b0952401..1d0a07855 100644 --- a/app/views/proposals/_view_mode.html.erb +++ b/app/views/proposals/_view_mode.html.erb @@ -11,7 +11,7 @@ </span> <ul class="no-bullet"> <% if proposals_default_view? %> - <li class="view-card active"> + <li class="view-card is-active"> <%= t("shared.view_mode.cards") %> </li> <li class="view-list"> @@ -21,7 +21,7 @@ <li class="view-card"> <%= link_to t("shared.view_mode.cards"), proposals_minimal_view_path %> </li> - <li class="view-list active"> + <li class="view-list is-active"> <%= t("shared.view_mode.list") %> </li> <% end %> From d5aa4f7807c12d70dd6e3f5e4a3a093e086ee1cd Mon Sep 17 00:00:00 2001 From: decabeza <alberto@decabeza.es> Date: Thu, 18 Oct 2018 18:15:12 +0200 Subject: [PATCH 485/565] Fixes color of datepicker calendar --- app/assets/stylesheets/datepicker_overrides.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/stylesheets/datepicker_overrides.scss b/app/assets/stylesheets/datepicker_overrides.scss index 190784d15..33c611d1c 100644 --- a/app/assets/stylesheets/datepicker_overrides.scss +++ b/app/assets/stylesheets/datepicker_overrides.scss @@ -23,7 +23,7 @@ thead { tr th { - color: $dark; + border: 1px solid $brand; } } } From 22d8a26b33b54fe3cb4b04b4b6ab672c8bfcdd05 Mon Sep 17 00:00:00 2001 From: decabeza <alberto@decabeza.es> Date: Thu, 18 Oct 2018 18:16:11 +0200 Subject: [PATCH 486/565] Removes unnecessary styles for admin budgets groups --- app/assets/stylesheets/admin.scss | 11 ----------- app/views/admin/budgets/_group.html.erb | 2 +- app/views/admin/budgets/_max_headings_label.html.erb | 4 +--- 3 files changed, 2 insertions(+), 15 deletions(-) diff --git a/app/assets/stylesheets/admin.scss b/app/assets/stylesheets/admin.scss index 7b74b2697..caf81b40b 100644 --- a/app/assets/stylesheets/admin.scss +++ b/app/assets/stylesheets/admin.scss @@ -1194,17 +1194,6 @@ table { } } -.max-headings-label { - color: $text-medium; - font-size: $small-font-size; - margin-left: $line-height / 2; -} - -.current-of-max-headings { - color: #000; - font-weight: bold; -} - // 11. Newsletters // ----------------- diff --git a/app/views/admin/budgets/_group.html.erb b/app/views/admin/budgets/_group.html.erb index f38d34a9d..c3a1c07a8 100644 --- a/app/views/admin/budgets/_group.html.erb +++ b/app/views/admin/budgets/_group.html.erb @@ -4,7 +4,7 @@ <th colspan="4" class="with-button"> <%= content_tag(:span, group.name, class:"group-toggle-#{group.id}", id:"group-name-#{group.id}") %> - <%= content_tag(:span, (render 'admin/budgets/max_headings_label', current: group.max_votable_headings, max: group.headings.count, group: group if group.max_votable_headings), class:"max-headings-label group-toggle-#{group.id}", id:"max-heading-label-#{group.id}") %> + <%= content_tag(:span, (render 'admin/budgets/max_headings_label', current: group.max_votable_headings, max: group.headings.count, group: group if group.max_votable_headings), class:"small group-toggle-#{group.id}", id:"max-heading-label-#{group.id}") %> <%= render 'admin/budgets/group_form', budget: @budget, group: group, id: "group-form-#{group.id}", button_title: t("admin.budgets.form.submit"), css_class: "group-toggle-#{group.id}" %> <%= link_to t("admin.budgets.form.edit_group"), "#", class: "button float-right js-toggle-link hollow", data: { "toggle-selector" => ".group-toggle-#{group.id}" } %> diff --git a/app/views/admin/budgets/_max_headings_label.html.erb b/app/views/admin/budgets/_max_headings_label.html.erb index 0bf1cbcbb..f2c438d4f 100644 --- a/app/views/admin/budgets/_max_headings_label.html.erb +++ b/app/views/admin/budgets/_max_headings_label.html.erb @@ -1,4 +1,2 @@ <%= t("admin.budgets.form.max_votable_headings")%> -<%= content_tag(:strong, - t("admin.budgets.form.current_of_max_headings", current: current, max: max), - class: "current-of-max-headings") %> +<%= t("admin.budgets.form.current_of_max_headings", current: current, max: max) %> From ebca4bca9b64ee0efa447b43add8fc7659f9f2dd Mon Sep 17 00:00:00 2001 From: decabeza <alberto@decabeza.es> Date: Thu, 18 Oct 2018 18:17:22 +0200 Subject: [PATCH 487/565] Removes styles to fix logo size on devise views --- app/assets/stylesheets/layout.scss | 1 - app/assets/stylesheets/mixins.scss | 12 ------------ 2 files changed, 13 deletions(-) diff --git a/app/assets/stylesheets/layout.scss b/app/assets/stylesheets/layout.scss index 8172d13ab..d19ccd525 100644 --- a/app/assets/stylesheets/layout.scss +++ b/app/assets/stylesheets/layout.scss @@ -881,7 +881,6 @@ footer { a { color: #fff; display: block; - line-height: rem-calc(80); // Same as logo image height text-align: center; @include breakpoint(medium) { diff --git a/app/assets/stylesheets/mixins.scss b/app/assets/stylesheets/mixins.scss index ac3c0a923..902b090f4 100644 --- a/app/assets/stylesheets/mixins.scss +++ b/app/assets/stylesheets/mixins.scss @@ -19,18 +19,6 @@ line-height: $line-height * 2; margin-top: 0; } - - img { - height: 48px; - width: 48px; - - @include breakpoint(medium) { - height: 80px; - margin-right: $line-height / 2; - margin-top: 0; - width: 80px; - } - } } // 02. Orbit bullet From c30c94f878716702d5c18a9d7890a013aea200cb Mon Sep 17 00:00:00 2001 From: decabeza <alberto@decabeza.es> Date: Thu, 18 Oct 2018 18:40:58 +0200 Subject: [PATCH 488/565] Removes condition to allow images and data equalizer on proposals The proposal image only can be present if feature :allow_images is enabled, so there is no need to include both conditions. The data-equalizer also is unnecessary because the :thumb image already has an fix height. --- app/views/proposals/_proposal.html.erb | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/app/views/proposals/_proposal.html.erb b/app/views/proposals/_proposal.html.erb index e1ffc0689..8ceca43b6 100644 --- a/app/views/proposals/_proposal.html.erb +++ b/app/views/proposals/_proposal.html.erb @@ -1,17 +1,15 @@ <div id="<%= dom_id(proposal) %>" - class="proposal clear <%= ("successful" if proposal.total_votes > Proposal.votes_needed_for_success) %>" + class="proposal clear + <%= ("successful" if proposal.total_votes > Proposal.votes_needed_for_success) %>" data-type="proposal"> - <div class="panel <%= ('with-image' if feature?(:allow_images) && proposal.image.present?) %>"> + <div class="panel <%= 'with-image' if proposal.image.present? %>"> <div class="icon-successful"></div> - <% if feature?(:allow_images) && proposal.image.present? %> - <div class="row" data-equalizer> - + <% if proposal.image.present? %> + <div class="row"> <div class="small-12 medium-3 large-2 column text-center"> - <div data-equalizer-watch> - <%= image_tag proposal.image_url(:thumb), - alt: proposal.image.title.unicode_normalize %> - </div> + <%= image_tag proposal.image_url(:thumb), + alt: proposal.image.title.unicode_normalize %> </div> <div class="small-12 medium-6 large-7 column"> @@ -24,7 +22,8 @@ <h3><%= link_to proposal.title, namespaced_proposal_path(proposal) %></h3> <p class="proposal-info"> <span class="icon-comments"></span>  - <%= link_to t("proposals.proposal.comments", count: proposal.comments_count), namespaced_proposal_path(proposal, anchor: "comments") %> + <%= link_to t("proposals.proposal.comments", count: proposal.comments_count), + namespaced_proposal_path(proposal, anchor: "comments") %> <span class="bullet"> • </span> <%= l proposal.created_at.to_date %> @@ -64,8 +63,7 @@ </div> <div id="<%= dom_id(proposal) %>_votes" - class="small-12 medium-3 column supports-container" - <%= 'data-equalizer-watch' if feature?(:allow_images) && proposal.image.present? %>> + class="small-12 medium-3 column supports-container"> <% if proposal.successful? %> <div class="padding text-center"> From 68b83f3a2bf509004be70dff8944cee33b250679 Mon Sep 17 00:00:00 2001 From: decabeza <alberto@decabeza.es> Date: Thu, 18 Oct 2018 19:40:25 +0200 Subject: [PATCH 489/565] Removes unnecessary style to orbit slide --- app/assets/stylesheets/participation.scss | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/assets/stylesheets/participation.scss b/app/assets/stylesheets/participation.scss index afc582a3b..112afe7d4 100644 --- a/app/assets/stylesheets/participation.scss +++ b/app/assets/stylesheets/participation.scss @@ -1831,10 +1831,6 @@ .orbit-slide { max-height: none !important; - - img { - image-rendering: pixelated; - } } .orbit-caption { From 009cea29bf7a5e00bd69073690dfcffea7bfb66d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Sun, 7 Oct 2018 20:03:41 +0200 Subject: [PATCH 490/565] Validate translations in banners This change forces us to use nested attributes for translations, instead of using the more convenient `:"title_#{locale}"` methods. On the other hand, we can use Rails' native `_destroy` attribute to remove existing translations, so we don't have to use our custom `delete_translations`, which was a bit buggy since it didn't consider failed updates. --- app/assets/javascripts/globalize.js.coffee | 7 ++- app/controllers/admin/banners_controller.rb | 5 +- app/controllers/concerns/translatable.rb | 24 ++-------- app/helpers/translatable_form_helper.rb | 52 +++++++++------------ app/models/banner.rb | 9 ++-- app/views/admin/banners/_form.html.erb | 34 ++++++++------ spec/features/admin/banners_spec.rb | 10 ++-- spec/shared/features/translatable.rb | 47 +++++++++++++++---- 8 files changed, 101 insertions(+), 87 deletions(-) diff --git a/app/assets/javascripts/globalize.js.coffee b/app/assets/javascripts/globalize.js.coffee index 374d2b299..81e336ad6 100644 --- a/app/assets/javascripts/globalize.js.coffee +++ b/app/assets/javascripts/globalize.js.coffee @@ -34,10 +34,13 @@ App.Globalize = App.Globalize.disable_locale(locale) enable_locale: (locale) -> - $("#enabled_translations_" + locale).val(1) + App.Globalize.destroy_locale_field(locale).val(false) disable_locale: (locale) -> - $("#enabled_translations_" + locale).val(0) + App.Globalize.destroy_locale_field(locale).val(true) + + destroy_locale_field: (locale) -> + $(".destroy_locale[data-locale=" + locale + "]") refresh_visible_translations: -> locale = $('.js-globalize-locale-link.is-active').data("locale") diff --git a/app/controllers/admin/banners_controller.rb b/app/controllers/admin/banners_controller.rb index b17c17d1b..05656b6d7 100644 --- a/app/controllers/admin/banners_controller.rb +++ b/app/controllers/admin/banners_controller.rb @@ -38,10 +38,9 @@ class Admin::BannersController < Admin::BaseController private def banner_params - attributes = [:title, :description, :target_url, - :post_started_at, :post_ended_at, + attributes = [:target_url, :post_started_at, :post_ended_at, :background_color, :font_color, - *translation_params(Banner), + translation_params(Banner), web_section_ids: []] params.require(:banner).permit(*attributes) end diff --git a/app/controllers/concerns/translatable.rb b/app/controllers/concerns/translatable.rb index 0acc874d8..272a97e99 100644 --- a/app/controllers/concerns/translatable.rb +++ b/app/controllers/concerns/translatable.rb @@ -1,29 +1,13 @@ module Translatable extend ActiveSupport::Concern - included do - before_action :delete_translations, only: [:update] - end - private def translation_params(resource_model) - return [] unless params[:enabled_translations] - - resource_model.translated_attribute_names.product(enabled_translations).map do |attr_name, loc| - resource_model.localized_attr_name_for(attr_name, loc) - end - end - - def delete_translations - locales = resource.translated_locales - .select { |l| params.dig(:enabled_translations, l) == "0" } - - locales.each do |l| - Globalize.with_locale(l) do - resource.translation.destroy - end - end + { + translations_attributes: [:id, :_destroy, :locale] + + resource_model.translated_attribute_names + } end def enabled_translations diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 1e468c4ce..e96ecfa28 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -1,13 +1,6 @@ module TranslatableFormHelper - def translatable_form_for(record_or_record_path, options = {}) - object = record_or_record_path.is_a?(Array) ? record_or_record_path.last : record_or_record_path - - form_for(record_or_record_path, options.merge(builder: TranslatableFormBuilder)) do |f| - - object.globalize_locales.each do |locale| - concat translation_enabled_tag(locale, enable_locale?(object, locale)) - end - + def translatable_form_for(record, options = {}) + form_for(record, options.merge(builder: TranslatableFormBuilder)) do |f| yield(f) end end @@ -39,29 +32,30 @@ module TranslatableFormHelper translatable_field(:cktext_area, method, options) end + def translatable_fields(&block) + @object.globalize_locales.map do |locale| + Globalize.with_locale(locale) do + fields_for(:translations, @object.translations.where(locale: locale).first_or_initialize) do |translations_form| + @template.concat translations_form.hidden_field( + :_destroy, + value: !@template.enable_locale?(@object, locale), + class: "destroy_locale", + data: { locale: locale }) + + @template.concat translations_form.hidden_field(:locale, value: locale) + + yield translations_form, locale + end + end + end.join.html_safe + end + private def translatable_field(field_type, method, options = {}) - @template.capture do - @object.globalize_locales.each do |locale| - Globalize.with_locale(locale) do - localized_attr_name = @object.localized_attr_name_for(method, locale) - - label_without_locale = @object.class.human_attribute_name(method) - final_options = @template.merge_translatable_field_options(options, locale) - .reverse_merge(label: label_without_locale) - - if field_type == :cktext_area - @template.concat content_tag :div, send(field_type, localized_attr_name, final_options), - class: "js-globalize-attribute", - style: @template.display_translation?(locale), - data: { locale: locale } - else - @template.concat send(field_type, localized_attr_name, final_options) - end - end - end - end + locale = options.delete(:locale) + final_options = @template.merge_translatable_field_options(options, locale) + send(field_type, method, final_options) end end end diff --git a/app/models/banner.rb b/app/models/banner.rb index 37824d01f..10399211b 100644 --- a/app/models/banner.rb +++ b/app/models/banner.rb @@ -6,10 +6,13 @@ class Banner < ActiveRecord::Base translates :title, touch: true translates :description, touch: true globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true + + translation_class.instance_eval do + validates :title, presence: true, length: { minimum: 2 } + validates :description, presence: true + end - validates :title, presence: true, - length: { minimum: 2 } - validates :description, presence: true validates :target_url, presence: true validates :post_started_at, presence: true validates :post_ended_at, presence: true diff --git a/app/views/admin/banners/_form.html.erb b/app/views/admin/banners/_form.html.erb index 28e8a7192..9d6d971a7 100644 --- a/app/views/admin/banners/_form.html.erb +++ b/app/views/admin/banners/_form.html.erb @@ -28,13 +28,26 @@ </div> <div class="row"> - <div class="small-12 medium-6 column"> - <%= f.translatable_text_field :title, - placeholder: t("admin.banners.banner.title"), - data: {js_banner_title: "js_banner_title"}, - label: t("admin.banners.banner.title") %> - </div> + <%= f.translatable_fields do |translations_form, locale| %> + <div class="small-12 medium-6 column"> + <%= translations_form.translatable_text_field :title, + locale: locale, + placeholder: t("admin.banners.banner.title"), + data: {js_banner_title: "js_banner_title"}, + label: t("admin.banners.banner.title") %> + </div> + <div class="small-12 column"> + <%= translations_form.translatable_text_field :description, + locale: locale, + placeholder: t("admin.banners.banner.description"), + data: {js_banner_description: "js_banner_description"}, + label: t("admin.banners.banner.description") %> + </div> + <% end %> + </div> + + <div class="row"> <div class="small-12 medium-6 column"> <%= f.label :target_url, t("admin.banners.banner.target_url") %> <%= f.text_field :target_url, @@ -43,15 +56,6 @@ </div> </div> - <div class="row"> - <div class="small-12 column"> - <%= f.translatable_text_field :description, - placeholder: t("admin.banners.banner.description"), - data: {js_banner_description: "js_banner_description"}, - label: t("admin.banners.banner.description") %> - </div> - </div> - <div class="row"> <div class="small-12 column"> <%= f.label :sections, t("admin.banners.banner.sections_label") %> diff --git a/spec/features/admin/banners_spec.rb b/spec/features/admin/banners_spec.rb index 6eaaea486..7a0e7d76e 100644 --- a/spec/features/admin/banners_spec.rb +++ b/spec/features/admin/banners_spec.rb @@ -89,8 +89,8 @@ feature 'Admin banners magement' do click_link "Create banner" - fill_in 'banner_title_en', with: 'Such banner' - fill_in 'banner_description_en', with: 'many text wow link' + fill_in 'Title', with: 'Such banner' + fill_in 'Description', with: 'many text wow link' fill_in 'banner_target_url', with: 'https://www.url.com' last_week = Time.current - 7.days next_week = Time.current + 7.days @@ -115,7 +115,7 @@ feature 'Admin banners magement' do fill_in 'banner_background_color', with: '#850000' fill_in 'banner_font_color', with: '#ffb2b2' - fill_in 'banner_title_en', with: 'Fun with flags' + fill_in 'Title', with: 'Fun with flags' # This last step simulates the blur event on the page. The color pickers and the text_fields # has onChange events that update each one when the other changes, but this is only fired when @@ -146,8 +146,8 @@ feature 'Admin banners magement' do click_link "Edit banner" - fill_in 'banner_title_en', with: 'Modified title' - fill_in 'banner_description_en', with: 'Edited text' + fill_in 'Title', with: 'Modified title' + fill_in 'Description', with: 'Edited text' page.find("body").click diff --git a/spec/shared/features/translatable.rb b/spec/shared/features/translatable.rb index e3abf5f84..d5907cbba 100644 --- a/spec/shared/features/translatable.rb +++ b/spec/shared/features/translatable.rb @@ -16,6 +16,16 @@ shared_examples "translatable" do |factory_name, path_name, fields| end.to_h end + let(:optional_fields) do + fields.select do |field| + translatable.translations.last.dup.tap { |duplicate| duplicate.send(:"#{field}=", "") }.valid? + end + end + + let(:required_fields) do + fields - optional_fields + end + let(:translatable) { create(factory_name, attributes) } let(:path) { send(path_name, *resource_hierarchy_for(translatable)) } before { login_as(create(:administrator).user) } @@ -70,6 +80,24 @@ shared_examples "translatable" do |factory_name, path_name, fields| expect(page).to have_field(field_for(field, :es), with: updated_text) end + scenario "Update a translation with invalid data", :js do + skip("can't have invalid translations") if required_fields.empty? + + field = required_fields.sample + + visit path + click_link "Español" + + expect(page).to have_field(field_for(field, :es), with: text_for(field, :es)) + + fill_in field_for(field, :es), with: "" + click_button update_button_text + + expect(page).to have_css "#error_explanation" + + # TODO: check the field is now blank. + end + scenario "Remove a translation", :js do visit path @@ -85,13 +113,9 @@ shared_examples "translatable" do |factory_name, path_name, fields| end scenario 'Change value of a translated field to blank', :js do - possible_blanks = fields.select do |field| - translatable.dup.tap { |duplicate| duplicate.send(:"#{field}=", '') }.valid? - end + skip("can't have translatable blank fields") if optional_fields.empty? - skip("can't have translatable blank fields") if possible_blanks.empty? - - field = possible_blanks.sample + field = optional_fields.sample visit path expect(page).to have_field(field_for(field, :en), with: text_for(field, :en)) @@ -105,10 +129,12 @@ shared_examples "translatable" do |factory_name, path_name, fields| scenario "Add a translation for a locale with non-underscored name", :js do visit path - field = fields.sample select "Português brasileiro", from: "translation_locale" - fill_in field_for(field, :pt_br), with: text_for(field, :"pt-BR") + + fields.each do |field| + fill_in field_for(field, :"pt-BR"), with: text_for(field, :"pt-BR") + end click_button update_button_text @@ -116,7 +142,8 @@ shared_examples "translatable" do |factory_name, path_name, fields| select('Português brasileiro', from: 'locale-switcher') - expect(page).to have_field(field_for(field, :pt_br), with: text_for(field, :"pt-BR")) + field = fields.sample + expect(page).to have_field(field_for(field, :"pt-BR"), with: text_for(field, :"pt-BR")) end end @@ -176,7 +203,7 @@ def field_for(field, locale) if translatable_class.name == "I18nContent" "contents_content_#{translatable.key}values_#{field}_#{locale}" else - "#{translatable_class.model_name.singular}_#{field}_#{locale}" + find("[data-locale='#{locale}'][id$='#{field}']")[:id] end end From 1874480ff043c895ae7a2d6532f21aaa8e137444 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Sun, 7 Oct 2018 22:13:34 +0200 Subject: [PATCH 491/565] Simplify passing the locale to translatable fields Creating a new form builder might be too much. My idea was so the view uses more or less the same syntax it would use with Rails' default builder, and so we can use `text_field` instead of `translatable_text_field`. --- app/helpers/translatable_form_helper.rb | 32 ++++++++++--------------- app/views/admin/banners/_form.html.erb | 8 +++---- 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index e96ecfa28..0e3df3885 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -19,23 +19,10 @@ module TranslatableFormHelper end class TranslatableFormBuilder < FoundationRailsHelper::FormBuilder - - def translatable_text_field(method, options = {}) - translatable_field(:text_field, method, options) - end - - def translatable_text_area(method, options = {}) - translatable_field(:text_area, method, options) - end - - def translatable_cktext_area(method, options = {}) - translatable_field(:cktext_area, method, options) - end - def translatable_fields(&block) @object.globalize_locales.map do |locale| Globalize.with_locale(locale) do - fields_for(:translations, @object.translations.where(locale: locale).first_or_initialize) do |translations_form| + fields_for(:translations, @object.translations.where(locale: locale).first_or_initialize, builder: TranslationsFieldsBuilder) do |translations_form| @template.concat translations_form.hidden_field( :_destroy, value: !@template.enable_locale?(@object, locale), @@ -44,18 +31,25 @@ module TranslatableFormHelper @template.concat translations_form.hidden_field(:locale, value: locale) - yield translations_form, locale + yield translations_form end end end.join.html_safe end + end + + class TranslationsFieldsBuilder < FoundationRailsHelper::FormBuilder + %i[text_field text_area cktext_area].each do |field| + define_method field do |attribute, options = {}| + super attribute, translations_options(options) + end + end + private - def translatable_field(field_type, method, options = {}) - locale = options.delete(:locale) - final_options = @template.merge_translatable_field_options(options, locale) - send(field_type, method, final_options) + def translations_options(options) + @template.merge_translatable_field_options(options, @object.locale) end end end diff --git a/app/views/admin/banners/_form.html.erb b/app/views/admin/banners/_form.html.erb index 9d6d971a7..322bd17f4 100644 --- a/app/views/admin/banners/_form.html.erb +++ b/app/views/admin/banners/_form.html.erb @@ -28,18 +28,16 @@ </div> <div class="row"> - <%= f.translatable_fields do |translations_form, locale| %> + <%= f.translatable_fields do |translations_form| %> <div class="small-12 medium-6 column"> - <%= translations_form.translatable_text_field :title, - locale: locale, + <%= translations_form.text_field :title, placeholder: t("admin.banners.banner.title"), data: {js_banner_title: "js_banner_title"}, label: t("admin.banners.banner.title") %> </div> <div class="small-12 column"> - <%= translations_form.translatable_text_field :description, - locale: locale, + <%= translations_form.text_field :description, placeholder: t("admin.banners.banner.description"), data: {js_banner_description: "js_banner_description"}, label: t("admin.banners.banner.description") %> From 6fc33895877c68d415d2381ed24ce2c4f57f79d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 8 Oct 2018 11:13:27 +0200 Subject: [PATCH 492/565] Keep invalid translation params through requests We were reloading the values from the database and ignoring the parameters sent by the browser. --- app/helpers/translatable_form_helper.rb | 15 ++++++++++++++- spec/shared/features/translatable.rb | 4 +++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 0e3df3885..7795cbc12 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -22,7 +22,7 @@ module TranslatableFormHelper def translatable_fields(&block) @object.globalize_locales.map do |locale| Globalize.with_locale(locale) do - fields_for(:translations, @object.translations.where(locale: locale).first_or_initialize, builder: TranslationsFieldsBuilder) do |translations_form| + fields_for(:translations, translation_for(locale), builder: TranslationsFieldsBuilder) do |translations_form| @template.concat translations_form.hidden_field( :_destroy, value: !@template.enable_locale?(@object, locale), @@ -37,6 +37,19 @@ module TranslatableFormHelper end.join.html_safe end + def translation_for(locale) + existing_translation_for(locale) || new_translation_for(locale) + end + + def existing_translation_for(locale) + # Use `select` because `where` uses the database and so ignores + # the `params` sent by the browser + @object.translations.select { |translation| translation.locale == locale }.first + end + + def new_translation_for(locale) + @object.translations.new(locale: locale) + end end class TranslationsFieldsBuilder < FoundationRailsHelper::FormBuilder diff --git a/spec/shared/features/translatable.rb b/spec/shared/features/translatable.rb index d5907cbba..81deb8640 100644 --- a/spec/shared/features/translatable.rb +++ b/spec/shared/features/translatable.rb @@ -95,7 +95,9 @@ shared_examples "translatable" do |factory_name, path_name, fields| expect(page).to have_css "#error_explanation" - # TODO: check the field is now blank. + click_link "Español" + + expect(page).to have_field(field_for(field, :es), with: "") end scenario "Remove a translation", :js do From a8f8a7bc4fd1cce6c929007d819d8d431d64f283 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 8 Oct 2018 14:15:45 +0200 Subject: [PATCH 493/565] Don't disable new invalid translations After adding a new translation with invalid data and sending the form, we were disabling the new translation when displaying the form again to the user, which was confusing. --- app/helpers/globalize_helper.rb | 4 +++- app/helpers/translatable_form_helper.rb | 5 +++-- spec/shared/features/translatable.rb | 17 +++++++++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/app/helpers/globalize_helper.rb b/app/helpers/globalize_helper.rb index cff0b4ccd..c6170260a 100644 --- a/app/helpers/globalize_helper.rb +++ b/app/helpers/globalize_helper.rb @@ -23,7 +23,9 @@ module GlobalizeHelper end def enable_locale?(resource, locale) - resource.translated_locales.include?(locale) || locale == I18n.locale + # Use `map` instead of `pluck` in order to keep the `params` sent + # by the browser when there's invalid data + resource.translations.map(&:locale).include?(locale) || locale == I18n.locale end def highlight_current?(locale) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 7795cbc12..7b4be72cc 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -25,7 +25,6 @@ module TranslatableFormHelper fields_for(:translations, translation_for(locale), builder: TranslationsFieldsBuilder) do |translations_form| @template.concat translations_form.hidden_field( :_destroy, - value: !@template.enable_locale?(@object, locale), class: "destroy_locale", data: { locale: locale }) @@ -48,7 +47,9 @@ module TranslatableFormHelper end def new_translation_for(locale) - @object.translations.new(locale: locale) + @object.translations.new(locale: locale).tap do |translation| + translation.mark_for_destruction unless locale == I18n.locale + end end end diff --git a/spec/shared/features/translatable.rb b/spec/shared/features/translatable.rb index 81deb8640..4c7144511 100644 --- a/spec/shared/features/translatable.rb +++ b/spec/shared/features/translatable.rb @@ -60,6 +60,23 @@ shared_examples "translatable" do |factory_name, path_name, fields| expect(page).to have_field(field_for(field, :fr), with: text_for(field, :fr)) end + scenario "Add an invalid translation", :js do + skip("can't have invalid translations") if required_fields.empty? + + field = required_fields.sample + + visit path + select "Français", from: "translation_locale" + fill_in field_for(field, :fr), with: "" + click_button update_button_text + + expect(page).to have_css "#error_explanation" + + click_link "Français" + + expect(page).to have_field(field_for(field, :fr), with: "") + end + scenario "Update a translation", :js do visit path From 5e6dfe6ed889462d7385f84d63bacce77c7ed556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 8 Oct 2018 14:44:21 +0200 Subject: [PATCH 494/565] Disable removed translations After removing a translation while editing another one with invalid data and sending the form, we were displaying the removed translation to the user. We now remove that translation from the form, but we don't remove it from the database until the form has been sent without errors. --- app/helpers/globalize_helper.rb | 2 +- spec/shared/features/translatable.rb | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/app/helpers/globalize_helper.rb b/app/helpers/globalize_helper.rb index c6170260a..15ad85da5 100644 --- a/app/helpers/globalize_helper.rb +++ b/app/helpers/globalize_helper.rb @@ -25,7 +25,7 @@ module GlobalizeHelper def enable_locale?(resource, locale) # Use `map` instead of `pluck` in order to keep the `params` sent # by the browser when there's invalid data - resource.translations.map(&:locale).include?(locale) || locale == I18n.locale + resource.translations.reject(&:_destroy).map(&:locale).include?(locale) || locale == I18n.locale end def highlight_current?(locale) diff --git a/spec/shared/features/translatable.rb b/spec/shared/features/translatable.rb index 4c7144511..edec51356 100644 --- a/spec/shared/features/translatable.rb +++ b/spec/shared/features/translatable.rb @@ -131,6 +131,30 @@ shared_examples "translatable" do |factory_name, path_name, fields| expect(page).not_to have_link "Español" end + scenario "Remove a translation with invalid data", :js do + skip("can't have invalid translations") if required_fields.empty? + + field = required_fields.sample + + visit path + + click_link "Español" + click_link "Remove language" + + click_link "English" + fill_in field_for(field, :en), with: "" + click_button update_button_text + + expect(page).to have_css "#error_explanation" + expect(page).to have_field(field_for(field, :en), with: "") + expect(page).not_to have_link "Español" + + visit path + click_link "Español" + + expect(page).to have_field(field_for(field, :es), with: text_for(field, :es)) + end + scenario 'Change value of a translated field to blank', :js do skip("can't have translatable blank fields") if optional_fields.empty? From d40cd3995d89e4f46bb4d340dda1e69c25fa925d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 8 Oct 2018 15:52:46 +0200 Subject: [PATCH 495/565] Update admin notifications translatable fields The same way we did for banners. We needed to add new translation keys so the labels are displayed in the correct language. I've kept the original `title` and `body` attributes so they can be used in other places. While backporting, we also added the original translations because they hadn't been backported yet. --- app/controllers/admin/admin_notifications_controller.rb | 3 +-- app/models/admin_notification.rb | 8 ++++++-- app/views/admin/admin_notifications/_form.html.erb | 8 ++++---- config/locales/en/activerecord.yml | 8 ++++++++ spec/features/admin/admin_notifications_spec.rb | 2 +- spec/support/common_actions/notifications.rb | 4 ++-- 6 files changed, 22 insertions(+), 11 deletions(-) diff --git a/app/controllers/admin/admin_notifications_controller.rb b/app/controllers/admin/admin_notifications_controller.rb index 33e99f9ed..430e51f53 100644 --- a/app/controllers/admin/admin_notifications_controller.rb +++ b/app/controllers/admin/admin_notifications_controller.rb @@ -63,8 +63,7 @@ class Admin::AdminNotificationsController < Admin::BaseController private def admin_notification_params - attributes = [:title, :body, :link, :segment_recipient, - *translation_params(AdminNotification)] + attributes = [:link, :segment_recipient, translation_params(AdminNotification)] params.require(:admin_notification).permit(attributes) end diff --git a/app/models/admin_notification.rb b/app/models/admin_notification.rb index 4291206bc..e53150ace 100644 --- a/app/models/admin_notification.rb +++ b/app/models/admin_notification.rb @@ -4,9 +4,13 @@ class AdminNotification < ActiveRecord::Base translates :title, touch: true translates :body, touch: true globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true + + translation_class.instance_eval do + validates :title, presence: true + validates :body, presence: true + end - validates :title, presence: true - validates :body, presence: true validates :segment_recipient, presence: true validate :validate_segment_recipient diff --git a/app/views/admin/admin_notifications/_form.html.erb b/app/views/admin/admin_notifications/_form.html.erb index ba9a77a79..081777ccb 100644 --- a/app/views/admin/admin_notifications/_form.html.erb +++ b/app/views/admin/admin_notifications/_form.html.erb @@ -5,12 +5,12 @@ <%= f.select :segment_recipient, options_for_select(user_segments_options, @admin_notification[:segment_recipient]) %> - - <%= f.translatable_text_field :title %> - <%= f.text_field :link %> - <%= f.translatable_text_area :body %> + <%= f.translatable_fields do |translations_form| %> + <%= translations_form.text_field :title %> + <%= translations_form.text_area :body %> + <% end %> <div class="margin-top"> <%= f.submit t("admin.admin_notifications.#{admin_submit_action(@admin_notification)}.submit_button"), diff --git a/config/locales/en/activerecord.yml b/config/locales/en/activerecord.yml index 84dee7a77..d79b0a070 100644 --- a/config/locales/en/activerecord.yml +++ b/config/locales/en/activerecord.yml @@ -255,6 +255,14 @@ en: subject: Subject from: From body: Email content + admin_notification: + segment_recipient: Recipients + title: Title + link: Link + body: Text + admin_notification/translation: + title: Title + body: Text widget/card: label: Label (optional) title: Title diff --git a/spec/features/admin/admin_notifications_spec.rb b/spec/features/admin/admin_notifications_spec.rb index d72b8529f..a37790b63 100644 --- a/spec/features/admin/admin_notifications_spec.rb +++ b/spec/features/admin/admin_notifications_spec.rb @@ -185,7 +185,7 @@ feature "Admin Notifications" do notification = create(:admin_notification) visit edit_admin_admin_notification_path(notification) - fill_in :admin_notification_title_en, with: '' + fill_in "Title", with: "" click_button "Update notification" expect(page).to have_content error_message diff --git a/spec/support/common_actions/notifications.rb b/spec/support/common_actions/notifications.rb index 8b7615b0a..4730ae42f 100644 --- a/spec/support/common_actions/notifications.rb +++ b/spec/support/common_actions/notifications.rb @@ -43,8 +43,8 @@ module Notifications def fill_in_admin_notification_form(options = {}) select (options[:segment_recipient] || 'All users'), from: :admin_notification_segment_recipient - fill_in :admin_notification_title_en, with: (options[:title] || 'This is the notification title') - fill_in :admin_notification_body_en, with: (options[:body] || 'This is the notification body') + fill_in 'Title', with: (options[:title] || 'This is the notification title') + fill_in 'Text', with: (options[:body] || 'This is the notification body') fill_in :admin_notification_link, with: (options[:link] || 'https://www.decide.madrid.es/vota') end end From d5bd481f7f4f99d09012ce006b14aff7d220b0a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Tue, 9 Oct 2018 00:08:02 +0200 Subject: [PATCH 496/565] Update milestones translatable fields Note the title field was hidden since commit 01b9aa8, even though it was required and translatable. I've removed the required validation rule, since it doesn't seem to make much sense and made the translatable tests harder to write. Also note the method `I18n.localize`, which is used to set the milestone's title, uses `I18n.locale` even if it's inside a `Globalize.with_locale` block, and so the same format is generated for every locale. --- .../budget_investment_milestones_controller.rb | 4 ++-- app/models/budget/investment/milestone.rb | 2 +- .../budget_investment_milestones/_form.html.erb | 14 ++++++++------ .../admin/budget_investment_milestones_spec.rb | 6 +++--- spec/models/budget/investment/milestone_spec.rb | 4 ++-- 5 files changed, 16 insertions(+), 14 deletions(-) diff --git a/app/controllers/admin/budget_investment_milestones_controller.rb b/app/controllers/admin/budget_investment_milestones_controller.rb index 49f2df5bf..f63fee025 100644 --- a/app/controllers/admin/budget_investment_milestones_controller.rb +++ b/app/controllers/admin/budget_investment_milestones_controller.rb @@ -46,8 +46,8 @@ class Admin::BudgetInvestmentMilestonesController < Admin::BaseController def milestone_params image_attributes = [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy] documents_attributes = [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy] - attributes = [:title, :description, :publication_date, :budget_investment_id, :status_id, - *translation_params(Budget::Investment::Milestone), + attributes = [:publication_date, :budget_investment_id, :status_id, + translation_params(Budget::Investment::Milestone), image_attributes: image_attributes, documents_attributes: documents_attributes] params.require(:budget_investment_milestone).permit(*attributes) diff --git a/app/models/budget/investment/milestone.rb b/app/models/budget/investment/milestone.rb index 1790f7323..84b312867 100644 --- a/app/models/budget/investment/milestone.rb +++ b/app/models/budget/investment/milestone.rb @@ -9,11 +9,11 @@ class Budget translates :title, :description, touch: true globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true belongs_to :investment belongs_to :status, class_name: 'Budget::Investment::Status' - validates :title, presence: true validates :investment, presence: true validates :publication_date, presence: true validate :description_or_status_present? diff --git a/app/views/admin/budget_investment_milestones/_form.html.erb b/app/views/admin/budget_investment_milestones/_form.html.erb index ab3ee6cf6..8b335e29a 100644 --- a/app/views/admin/budget_investment_milestones/_form.html.erb +++ b/app/views/admin/budget_investment_milestones/_form.html.erb @@ -2,9 +2,6 @@ <%= translatable_form_for [:admin, @investment.budget, @investment, @milestone] do |f| %> - <%= f.hidden_field :title, value: l(Time.current, format: :datetime), - maxlength: Budget::Investment::Milestone.title_max_length %> - <div class="small-12 medium-6 margin-bottom"> <%= f.select :status_id, @statuses.collect { |s| [s.name, s.id] }, @@ -14,9 +11,14 @@ admin_budget_investment_statuses_path %> </div> - <%= f.translatable_text_area :description, - rows: 5, - label: t("admin.milestones.new.description") %> + <%= f.translatable_fields do |translations_form| %> + <%= translations_form.hidden_field :title, value: l(Time.current, format: :datetime), + maxlength: Budget::Investment::Milestone.title_max_length %> + + <%= translations_form.text_area :description, + rows: 5, + label: t("admin.milestones.new.description") %> + <% end %> <%= f.label :publication_date, t("admin.milestones.new.date") %> <%= f.text_field :publication_date, diff --git a/spec/features/admin/budget_investment_milestones_spec.rb b/spec/features/admin/budget_investment_milestones_spec.rb index 3b2777792..35ed69089 100644 --- a/spec/features/admin/budget_investment_milestones_spec.rb +++ b/spec/features/admin/budget_investment_milestones_spec.rb @@ -47,7 +47,7 @@ feature 'Admin budget investment milestones' do click_link 'Create new milestone' select status.name, from: 'budget_investment_milestone_status_id' - fill_in 'budget_investment_milestone_description_en', with: 'New description milestone' + fill_in 'Description', with: 'New description milestone' fill_in 'budget_investment_milestone_publication_date', with: Date.current click_button 'Create milestone' @@ -69,7 +69,7 @@ feature 'Admin budget investment milestones' do click_link 'Create new milestone' - fill_in 'budget_investment_milestone_description_en', with: 'New description milestone' + fill_in 'Description', with: 'New description milestone' click_button 'Create milestone' @@ -93,7 +93,7 @@ feature 'Admin budget investment milestones' do expect(page).to have_css("img[alt='#{milestone.image.title}']") - fill_in 'budget_investment_milestone_description_en', with: 'Changed description' + fill_in 'Description', with: 'Changed description' fill_in 'budget_investment_milestone_publication_date', with: Date.current fill_in 'budget_investment_milestone_documents_attributes_0_title', with: 'New document title' diff --git a/spec/models/budget/investment/milestone_spec.rb b/spec/models/budget/investment/milestone_spec.rb index ad844865d..59cbe1a68 100644 --- a/spec/models/budget/investment/milestone_spec.rb +++ b/spec/models/budget/investment/milestone_spec.rb @@ -9,9 +9,9 @@ describe Budget::Investment::Milestone do expect(milestone).to be_valid end - it "is not valid without a title" do + it "is valid without a title" do milestone.title = nil - expect(milestone).not_to be_valid + expect(milestone).to be_valid end it "is not valid without a description if status is empty" do From 968a5b11d3d69a96f24d24d90ffbab384a1bc8d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Tue, 9 Oct 2018 18:06:50 +0200 Subject: [PATCH 497/565] Update legislation drafts translatable fields Updating it required reorganizing the form so translatable fields are together. We also needed to add a `hint` option to the form label and input methods so the hint wouldn't show up for every language. Finally, the markdown editor needed to use the same globalize attributes as inputs, labels and hints, which adds a bit of duplication. --- .../javascripts/markdown_editor.js.coffee | 6 +- .../legislation/draft_versions_controller.rb | 6 +- app/helpers/translatable_form_helper.rb | 38 +++++-- app/models/legislation/draft_version.rb | 8 +- .../legislation/draft_versions/_form.html.erb | 98 ++++++++++--------- config/locales/en/activerecord.yml | 4 + .../admin/legislation/draft_versions_spec.rb | 40 ++------ spec/models/legislation/draft_version_spec.rb | 1 + spec/shared/features/translatable.rb | 92 +++++++++++------ 9 files changed, 165 insertions(+), 128 deletions(-) diff --git a/app/assets/javascripts/markdown_editor.js.coffee b/app/assets/javascripts/markdown_editor.js.coffee index 29e74e51c..8e22932ab 100644 --- a/app/assets/javascripts/markdown_editor.js.coffee +++ b/app/assets/javascripts/markdown_editor.js.coffee @@ -3,12 +3,12 @@ App.MarkdownEditor = refresh_preview: (element, md) -> textarea_content = App.MarkdownEditor.find_textarea(element).val() result = md.render(textarea_content) - element.find('#markdown-preview').html(result) + element.find('.markdown-preview').html(result) # Multi-locale (translatable) form fields work by hiding inputs of locales # which are not "active". find_textarea: (editor) -> - editor.find('textarea:visible') + editor.find('textarea') initialize: -> $('.markdown-editor').each -> @@ -26,7 +26,7 @@ App.MarkdownEditor = return editor.find('textarea').on 'scroll', -> - $('#markdown-preview').scrollTop($(this).scrollTop()) + editor.find('.markdown-preview').scrollTop($(this).scrollTop()) editor.find('.fullscreen-toggle').on 'click', -> editor.toggleClass('fullscreen') diff --git a/app/controllers/admin/legislation/draft_versions_controller.rb b/app/controllers/admin/legislation/draft_versions_controller.rb index 703d8a543..4d83382aa 100644 --- a/app/controllers/admin/legislation/draft_versions_controller.rb +++ b/app/controllers/admin/legislation/draft_versions_controller.rb @@ -41,13 +41,9 @@ class Admin::Legislation::DraftVersionsController < Admin::Legislation::BaseCont def draft_version_params params.require(:legislation_draft_version).permit( - :title, - :changelog, :status, :final_version, - :body, - :body_html, - *translation_params(Legislation::DraftVersion) + translation_params(Legislation::DraftVersion) ) end diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 7b4be72cc..868cb7028 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -10,11 +10,6 @@ module TranslatableFormHelper class: "#{options[:class]} js-globalize-attribute".strip, style: "#{options[:style]} #{display_translation?(locale)}".strip, data: options.fetch(:data, {}).merge(locale: locale), - label_options: { - class: "#{options.dig(:label_options, :class)} js-globalize-attribute".strip, - style: "#{options.dig(:label_options, :style)} #{display_translation?(locale)}".strip, - data: (options.dig(:label_options, :data) || {}) .merge(locale: locale) - } ) end @@ -56,14 +51,43 @@ module TranslatableFormHelper class TranslationsFieldsBuilder < FoundationRailsHelper::FormBuilder %i[text_field text_area cktext_area].each do |field| define_method field do |attribute, options = {}| - super attribute, translations_options(options) + final_options = translations_options(options) + + custom_label(attribute, final_options[:label], final_options[:label_options]) + + help_text(final_options[:hint]) + + super(attribute, final_options.merge(label: false, hint: false)) end end + def locale + @object.locale + end + + def label(attribute, text = nil, options = {}) + label_options = options.merge( + class: "#{options[:class]} js-globalize-attribute".strip, + style: "#{options[:style]} #{@template.display_translation?(locale)}".strip, + data: (options[:data] || {}) .merge(locale: locale) + ) + + hint = label_options.delete(:hint) + super(attribute, text, label_options) + help_text(hint) + end + private + def help_text(text) + if text + content_tag :span, text, + class: "help-text js-globalize-attribute", + data: { locale: locale }, + style: @template.display_translation?(locale) + else + "" + end + end def translations_options(options) - @template.merge_translatable_field_options(options, @object.locale) + @template.merge_translatable_field_options(options, locale) end end end diff --git a/app/models/legislation/draft_version.rb b/app/models/legislation/draft_version.rb index 18e4489b7..9e8ded1eb 100644 --- a/app/models/legislation/draft_version.rb +++ b/app/models/legislation/draft_version.rb @@ -10,12 +10,16 @@ class Legislation::DraftVersion < ActiveRecord::Base translates :body_html, touch: true translates :toc_html, touch: true globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true belongs_to :process, class_name: 'Legislation::Process', foreign_key: 'legislation_process_id' has_many :annotations, class_name: 'Legislation::Annotation', foreign_key: 'legislation_draft_version_id', dependent: :destroy - validates :title, presence: true - validates :body, presence: true + translation_class.instance_eval do + validates :title, presence: true + validates :body, presence: true + end + validates :status, presence: true, inclusion: { in: VALID_STATUSES } scope :published, -> { where(status: 'published').order('id DESC') } diff --git a/app/views/admin/legislation/draft_versions/_form.html.erb b/app/views/admin/legislation/draft_versions/_form.html.erb index 672f1b119..729ed071c 100644 --- a/app/views/admin/legislation/draft_versions/_form.html.erb +++ b/app/views/admin/legislation/draft_versions/_form.html.erb @@ -15,19 +15,59 @@ </div> <% end %> - <div class="small-12 medium-9 column"> - <%= f.translatable_text_field :title, - placeholder: t("admin.legislation.draft_versions.form.title_placeholder") %> - </div> + <%= f.translatable_fields do |translations_form| %> + <div class="small-12 medium-9 column"> + <%= translations_form.text_field :title, + placeholder: t("admin.legislation.draft_versions.form.title_placeholder") %> + </div> - <div class="small-12 medium-9 column"> - <%= f.label :changelog %> - <span class="help-text"><%= t("admin.legislation.draft_versions.form.use_markdown") %></span> - <%= f.translatable_text_area :changelog, - label: false, - rows: 5, - placeholder: t("admin.legislation.draft_versions.form.changelog_placeholder") %> - </div> + <div class="small-12 medium-9 column"> + <%= translations_form.text_area :changelog, + hint: t("admin.legislation.draft_versions.form.use_markdown"), + rows: 5, + placeholder: t("admin.legislation.draft_versions.form.changelog_placeholder") %> + </div> + + <div class="small-12 medium-4 column"> + <%= translations_form.label :body, nil, hint: t("admin.legislation.draft_versions.form.use_markdown") %> + </div> + + <%= content_tag :div, + class: "markdown-editor clear js-globalize-attribute", + data: { locale: translations_form.locale }, + style: display_translation?(translations_form.locale) do %> + + <div class="small-12 medium-8 column fullscreen-container"> + <div class="markdown-editor-header truncate"> + <%= t("admin.legislation.draft_versions.form.title_html", + draft_version_title: @draft_version.title, + process_title: @process.title ) %> + </div> + + <div class="markdown-editor-buttons"> + <%= f.submit(class: "button", value: t("admin.legislation.draft_versions.#{admin_submit_action(@draft_version)}.submit_button")) %> + </div> + + <%= link_to "#", class: 'fullscreen-toggle' do %> + <span data-closed-text="<%= t("admin.legislation.draft_versions.form.launch_text_editor")%>" + data-open-text="<%= t("admin.legislation.draft_versions.form.close_text_editor")%>"> + <strong><%= t("admin.legislation.draft_versions.form.launch_text_editor")%></strong> + </span> + + <% end %> + </div> + + <div class="small-12 medium-6 column markdown-area"> + <%= translations_form.text_area :body, + label: false, + rows: 10, + placeholder: t("admin.legislation.draft_versions.form.body_placeholder") %> + </div> + + <div class="small-12 medium-6 column markdown-preview"> + </div> + <% end %> + <% end %> <div class="small-12 medium-9 column"> <%= f.label :status %> @@ -45,40 +85,6 @@ <span class="help-text"><%= t("admin.legislation.draft_versions.form.hints.final_version") %></span> </div> - <div class="small-12 medium-4 column"> - <%= f.label :body %> - <span class="help-text"><%= t("admin.legislation.draft_versions.form.use_markdown") %></span> - </div> - - <div class="markdown-editor clear"> - <div class="small-12 medium-8 column fullscreen-container"> - <div class="markdown-editor-header truncate"> - <%= t("admin.legislation.draft_versions.form.title_html", - draft_version_title: @draft_version.title, - process_title: @process.title ) %> - </div> - - <div class="markdown-editor-buttons"> - <%= f.submit(class: "button", value: t("admin.legislation.draft_versions.#{admin_submit_action(@draft_version)}.submit_button")) %> - </div> - - <%= link_to "#", class: 'fullscreen-toggle' do %> - <span data-closed-text="<%= t("admin.legislation.draft_versions.form.launch_text_editor")%>" - data-open-text="<%= t("admin.legislation.draft_versions.form.close_text_editor")%>"> - <strong><%= t("admin.legislation.draft_versions.form.launch_text_editor")%></strong> - </span> - <% end %> - </div> - <div class="small-12 medium-6 column markdown-area"> - <%= f.translatable_text_area :body, - label: false, - placeholder: t("admin.legislation.draft_versions.form.body_placeholder") %> - </div> - - <div id="markdown-preview" class="small-12 medium-6 column markdown-preview"> - </div> - </div> - <div class="small-12 medium-3 column clear end margin-top"> <%= f.submit(class: "button success expanded", value: t("admin.legislation.draft_versions.#{admin_submit_action(@draft_version)}.submit_button")) %> </div> diff --git a/config/locales/en/activerecord.yml b/config/locales/en/activerecord.yml index d79b0a070..8fe133eb5 100644 --- a/config/locales/en/activerecord.yml +++ b/config/locales/en/activerecord.yml @@ -231,6 +231,10 @@ en: changelog: Changes status: Status final_version: Final version + legislation/draft_version/translation: + title: Version title + body: Text + changelog: Changes legislation/question: title: Title question_options: Options diff --git a/spec/features/admin/legislation/draft_versions_spec.rb b/spec/features/admin/legislation/draft_versions_spec.rb index 185bc05ab..a17c2522e 100644 --- a/spec/features/admin/legislation/draft_versions_spec.rb +++ b/spec/features/admin/legislation/draft_versions_spec.rb @@ -10,7 +10,8 @@ feature 'Admin legislation draft versions' do it_behaves_like "translatable", "legislation_draft_version", "edit_admin_legislation_process_draft_version_path", - %w[title changelog] + %w[title changelog], + { "body" => :markdownit } context "Feature flag" do @@ -58,9 +59,9 @@ feature 'Admin legislation draft versions' do click_link 'Create version' - fill_in 'legislation_draft_version_title_en', with: 'Version 3' - fill_in 'legislation_draft_version_changelog_en', with: 'Version 3 changes' - fill_in 'legislation_draft_version_body_en', with: 'Version 3 body' + fill_in 'Version title', with: 'Version 3' + fill_in 'Changes', with: 'Version 3 changes' + fill_in 'Text', with: 'Version 3 body' within('.end') do click_button 'Create version' @@ -91,11 +92,11 @@ feature 'Admin legislation draft versions' do click_link 'Version 1' - fill_in 'legislation_draft_version_title_en', with: 'Version 1b' + fill_in 'Version title', with: 'Version 1b' click_link 'Launch text editor' - fill_in 'legislation_draft_version_body_en', with: '# Version 1 body\r\n\r\nParagraph\r\n\r\n>Quote' + fill_in 'Text', with: '# Version 1 body\r\n\r\nParagraph\r\n\r\n>Quote' within('.fullscreen') do click_link 'Close text editor' @@ -106,31 +107,4 @@ feature 'Admin legislation draft versions' do expect(page).to have_content 'Version 1b' end end - - context "Special translation behaviour" do - - let!(:draft_version) { create(:legislation_draft_version) } - - scenario 'Add body translation through markup editor', :js do - edit_path = edit_admin_legislation_process_draft_version_path(draft_version.process, draft_version) - - visit edit_path - - select "Français", from: "translation_locale" - - click_link 'Launch text editor' - - fill_in 'legislation_draft_version_body_fr', with: 'Texte en Français' - - click_link 'Close text editor' - click_button "Save changes" - - visit edit_path - - click_link "Français" - click_link 'Launch text editor' - - expect(page).to have_field('legislation_draft_version_body_fr', with: 'Texte en Français') - end - end end diff --git a/spec/models/legislation/draft_version_spec.rb b/spec/models/legislation/draft_version_spec.rb index d88cdcee6..435693174 100644 --- a/spec/models/legislation/draft_version_spec.rb +++ b/spec/models/legislation/draft_version_spec.rb @@ -17,6 +17,7 @@ RSpec.describe Legislation::DraftVersion, type: :model do end it "renders and saves the html from the markdown body field with alternative translation" do + legislation_draft_version.title_fr = "Français" legislation_draft_version.body_fr = body_markdown legislation_draft_version.save! diff --git a/spec/shared/features/translatable.rb b/spec/shared/features/translatable.rb index edec51356..862417ff3 100644 --- a/spec/shared/features/translatable.rb +++ b/spec/shared/features/translatable.rb @@ -1,4 +1,4 @@ -shared_examples "translatable" do |factory_name, path_name, fields| +shared_examples "translatable" do |factory_name, path_name, input_fields, textarea_fields = {}| let(:language_texts) do { es: "en español", @@ -10,6 +10,11 @@ shared_examples "translatable" do |factory_name, path_name, fields| let(:translatable_class) { build(factory_name).class } + let(:input_fields) { input_fields } # So it's accessible by methods + let(:textarea_fields) { textarea_fields } # So it's accessible by methods + + let(:fields) { input_fields + textarea_fields.keys } + let(:attributes) do fields.product(%i[en es]).map do |field, locale| [:"#{field}_#{locale}", text_for(field, locale)] @@ -41,23 +46,19 @@ shared_examples "translatable" do |factory_name, path_name, fields| visit path select "Français", from: "translation_locale" - - fields.each do |field| - fill_in field_for(field, :fr), with: text_for(field, :fr) - end - + fields.each { |field| fill_in_field field, :fr, with: text_for(field, :fr) } click_button update_button_text visit path field = fields.sample - expect(page).to have_field(field_for(field, :en), with: text_for(field, :en)) + expect_page_to_have_translatable_field field, :en, with: text_for(field, :en) click_link "Español" - expect(page).to have_field(field_for(field, :es), with: text_for(field, :es)) + expect_page_to_have_translatable_field field, :es, with: text_for(field, :es) click_link "Français" - expect(page).to have_field(field_for(field, :fr), with: text_for(field, :fr)) + expect_page_to_have_translatable_field field, :fr, with: text_for(field, :fr) end scenario "Add an invalid translation", :js do @@ -66,15 +67,16 @@ shared_examples "translatable" do |factory_name, path_name, fields| field = required_fields.sample visit path + select "Français", from: "translation_locale" - fill_in field_for(field, :fr), with: "" + fill_in_field field, :fr, with: "" click_button update_button_text expect(page).to have_css "#error_explanation" click_link "Français" - expect(page).to have_field(field_for(field, :fr), with: "") + expect_page_to_have_translatable_field field, :fr, with: "" end scenario "Update a translation", :js do @@ -84,17 +86,17 @@ shared_examples "translatable" do |factory_name, path_name, fields| field = fields.sample updated_text = "Corrección de #{text_for(field, :es)}" - fill_in field_for(field, :es), with: updated_text + fill_in_field field, :es, with: updated_text click_button update_button_text visit path - expect(page).to have_field(field_for(field, :en), with: text_for(field, :en)) + expect_page_to_have_translatable_field field, :en, with: text_for(field, :en) select('Español', from: 'locale-switcher') - expect(page).to have_field(field_for(field, :es), with: updated_text) + expect_page_to_have_translatable_field field, :es, with: updated_text end scenario "Update a translation with invalid data", :js do @@ -105,16 +107,16 @@ shared_examples "translatable" do |factory_name, path_name, fields| visit path click_link "Español" - expect(page).to have_field(field_for(field, :es), with: text_for(field, :es)) + expect_page_to_have_translatable_field field, :es, with: text_for(field, :es) - fill_in field_for(field, :es), with: "" + fill_in_field field, :es, with: "" click_button update_button_text expect(page).to have_css "#error_explanation" click_link "Español" - expect(page).to have_field(field_for(field, :es), with: "") + expect_page_to_have_translatable_field field, :es, with: "" end scenario "Remove a translation", :js do @@ -142,17 +144,17 @@ shared_examples "translatable" do |factory_name, path_name, fields| click_link "Remove language" click_link "English" - fill_in field_for(field, :en), with: "" + fill_in_field field, :en, with: "" click_button update_button_text expect(page).to have_css "#error_explanation" - expect(page).to have_field(field_for(field, :en), with: "") + expect_page_to_have_translatable_field field, :en, with: "" expect(page).not_to have_link "Español" visit path click_link "Español" - expect(page).to have_field(field_for(field, :es), with: text_for(field, :es)) + expect_page_to_have_translatable_field field, :es, with: text_for(field, :es) end scenario 'Change value of a translated field to blank', :js do @@ -161,24 +163,20 @@ shared_examples "translatable" do |factory_name, path_name, fields| field = optional_fields.sample visit path - expect(page).to have_field(field_for(field, :en), with: text_for(field, :en)) + expect_page_to_have_translatable_field field, :en, with: text_for(field, :en) - fill_in field_for(field, :en), with: '' + fill_in_field field, :en, with: '' click_button update_button_text visit path - expect(page).to have_field(field_for(field, :en), with: '') + expect_page_to_have_translatable_field field, :en, with: '' end scenario "Add a translation for a locale with non-underscored name", :js do visit path select "Português brasileiro", from: "translation_locale" - - fields.each do |field| - fill_in field_for(field, :"pt-BR"), with: text_for(field, :"pt-BR") - end - + fields.each { |field| fill_in_field field, :"pt-BR", with: text_for(field, :"pt-BR") } click_button update_button_text visit path @@ -186,7 +184,7 @@ shared_examples "translatable" do |factory_name, path_name, fields| select('Português brasileiro', from: 'locale-switcher') field = fields.sample - expect(page).to have_field(field_for(field, :"pt-BR"), with: text_for(field, :"pt-BR")) + expect_page_to_have_translatable_field field, :"pt-BR", with: text_for(field, :"pt-BR") end end @@ -215,11 +213,11 @@ shared_examples "translatable" do |factory_name, path_name, fields| visit path field = fields.sample - expect(page).to have_field(field_for(field, :en), with: text_for(field, :en)) + expect_page_to_have_translatable_field field, :en, with: text_for(field, :en) click_link "Español" - expect(page).to have_field(field_for(field, :es), with: text_for(field, :es)) + expect_page_to_have_translatable_field field, :es, with: text_for(field, :es) end scenario "Select a locale and add it to the form", :js do @@ -231,7 +229,7 @@ shared_examples "translatable" do |factory_name, path_name, fields| click_link "Français" - expect(page).to have_field(field_for(fields.sample, :fr)) + expect_page_to_have_translatable_field fields.sample, :fr, with: "" end end end @@ -250,6 +248,36 @@ def field_for(field, locale) end end +def fill_in_field(field, locale, with:) + if input_fields.include?(field) + fill_in field_for(field, locale), with: with + else + fill_in_textarea(field, textarea_fields[field], locale, with: with) + end +end + +def fill_in_textarea(field, textarea_type, locale, with:) + if textarea_type == :markdownit + click_link class: "fullscreen-toggle" + fill_in field_for(field, locale), with: with + click_link class: "fullscreen-toggle" + end +end + +def expect_page_to_have_translatable_field(field, locale, with:) + if input_fields.include?(field) + expect(page).to have_field field_for(field, locale), with: with + else + textarea_type = textarea_fields[field] + + if textarea_type == :markdownit + click_link class: "fullscreen-toggle" + expect(page).to have_field field_for(field, locale), with: with + click_link class: "fullscreen-toggle" + end + end +end + # FIXME: button texts should be consistent. Right now, buttons don't # even share the same colour. def update_button_text From 9c5a7c58a767f7c309a1d8e194476b16cc124b0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Tue, 9 Oct 2018 22:04:53 +0200 Subject: [PATCH 498/565] Update legislation process translatable fields --- .../admin/legislation/processes_controller.rb | 6 +-- app/models/legislation/process.rb | 6 ++- .../legislation/processes/_form.html.erb | 52 +++++++++---------- config/locales/en/activerecord.yml | 5 ++ .../admin/legislation/processes_spec.rb | 8 +-- 5 files changed, 39 insertions(+), 38 deletions(-) diff --git a/app/controllers/admin/legislation/processes_controller.rb b/app/controllers/admin/legislation/processes_controller.rb index 81de4b966..ac54378b0 100644 --- a/app/controllers/admin/legislation/processes_controller.rb +++ b/app/controllers/admin/legislation/processes_controller.rb @@ -46,10 +46,6 @@ class Admin::Legislation::ProcessesController < Admin::Legislation::BaseControll def allowed_params [ - :title, - :summary, - :description, - :additional_info, :start_date, :end_date, :debate_start_date, @@ -67,7 +63,7 @@ class Admin::Legislation::ProcessesController < Admin::Legislation::BaseControll :result_publication_enabled, :published, :custom_list, - *translation_params(::Legislation::Process), + translation_params(::Legislation::Process), documents_attributes: [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy] ] end diff --git a/app/models/legislation/process.rb b/app/models/legislation/process.rb index bc3df6be4..9da62403d 100644 --- a/app/models/legislation/process.rb +++ b/app/models/legislation/process.rb @@ -14,6 +14,7 @@ class Legislation::Process < ActiveRecord::Base translates :description, touch: true translates :additional_info, touch: true globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true PHASES_AND_PUBLICATIONS = %i(debate_phase allegations_phase proposals_phase draft_publication result_publication).freeze @@ -24,7 +25,10 @@ class Legislation::Process < ActiveRecord::Base has_many :questions, -> { order(:id) }, class_name: 'Legislation::Question', foreign_key: 'legislation_process_id', dependent: :destroy has_many :proposals, -> { order(:id) }, class_name: 'Legislation::Proposal', foreign_key: 'legislation_process_id', dependent: :destroy - validates :title, presence: true + translation_class.instance_eval do + validates :title, presence: true + end + validates :start_date, presence: true validates :end_date, presence: true validates :debate_start_date, presence: true, if: :debate_end_date? diff --git a/app/views/admin/legislation/processes/_form.html.erb b/app/views/admin/legislation/processes/_form.html.erb index 845f08503..7698def0c 100644 --- a/app/views/admin/legislation/processes/_form.html.erb +++ b/app/views/admin/legislation/processes/_form.html.erb @@ -173,37 +173,33 @@ <hr> </div> - <div class="small-12 medium-9 column"> - <%= f.translatable_text_field :title, - placeholder: t("admin.legislation.processes.form.title_placeholder") %> - </div> + <%= f.translatable_fields do |translations_form| %> + <div class="small-12 medium-9 column"> + <%= translations_form.text_field :title, + placeholder: t("admin.legislation.processes.form.title_placeholder") %> + </div> - <div class="small-12 medium-9 column"> - <%= f.label :summary %> - <span class="help-text"><%= t("admin.legislation.processes.form.use_markdown") %></span> - <%= f.translatable_text_area :summary, - rows: 2, - placeholder: t("admin.legislation.processes.form.summary_placeholder"), - label: false %> - </div> + <div class="small-12 medium-9 column"> + <%= translations_form.text_area :summary, + rows: 2, + placeholder: t("admin.legislation.processes.form.summary_placeholder"), + hint: t("admin.legislation.processes.form.use_markdown") %> + </div> - <div class="small-12 medium-9 column"> - <%= f.label :description %> - <span class="help-text"><%= t("admin.legislation.processes.form.use_markdown") %></span> - <%= f.translatable_text_area :description, - rows: 5, - placeholder: t("admin.legislation.processes.form.description_placeholder"), - label: false %> - </div> + <div class="small-12 medium-9 column"> + <%= translations_form.text_area :description, + rows: 5, + placeholder: t("admin.legislation.processes.form.description_placeholder"), + hint: t("admin.legislation.processes.form.use_markdown") %> + </div> - <div class="small-12 medium-9 column"> - <%= f.label :additional_info %> - <span class="help-text"><%= t("admin.legislation.processes.form.use_markdown") %></span> - <%= f.translatable_text_area :additional_info, - rows: 10, - placeholder: t("admin.legislation.processes.form.additional_info_placeholder"), - label: false %> - </div> + <div class="small-12 medium-9 column"> + <%= translations_form.text_area :additional_info, + rows: 10, + placeholder: t("admin.legislation.processes.form.additional_info_placeholder"), + hint: t("admin.legislation.processes.form.use_markdown") %> + </div> + <% end %> <div class="small-12 medium-3 column clear end"> <%= f.submit(class: "button success expanded", value: t("admin.legislation.processes.#{admin_submit_action(@process)}.submit_button")) %> diff --git a/config/locales/en/activerecord.yml b/config/locales/en/activerecord.yml index 8fe133eb5..053020463 100644 --- a/config/locales/en/activerecord.yml +++ b/config/locales/en/activerecord.yml @@ -225,6 +225,11 @@ en: allegations_start_date: Allegations start date allegations_end_date: Allegations end date result_publication_date: Final result publication date + legislation/process/translation: + title: Process Title + summary: Summary + description: Description + additional_info: Additional info legislation/draft_version: title: Version title body: Text diff --git a/spec/features/admin/legislation/processes_spec.rb b/spec/features/admin/legislation/processes_spec.rb index 47aff8078..44b033328 100644 --- a/spec/features/admin/legislation/processes_spec.rb +++ b/spec/features/admin/legislation/processes_spec.rb @@ -43,9 +43,9 @@ feature 'Admin legislation processes' do click_link "New process" - fill_in 'legislation_process_title_en', with: 'An example legislation process' - fill_in 'legislation_process_summary_en', with: 'Summary of the process' - fill_in 'legislation_process_description_en', with: 'Describing the process' + fill_in 'Process Title', with: 'An example legislation process' + fill_in 'Summary', with: 'Summary of the process' + fill_in 'Description', with: 'Describing the process' base_date = Date.current fill_in 'legislation_process[start_date]', with: base_date.strftime("%d/%m/%Y") @@ -98,7 +98,7 @@ feature 'Admin legislation processes' do expect(find("#legislation_process_debate_phase_enabled")).to be_checked expect(find("#legislation_process_published")).to be_checked - fill_in 'legislation_process_summary_en', with: '' + fill_in 'Summary', with: '' click_button "Save changes" expect(page).to have_content "Process updated successfully" From 7cd06bd51dc6c8d20e2379725766417910c9941e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 10 Oct 2018 14:04:52 +0200 Subject: [PATCH 499/565] Update legislation questions translatable fields --- .../admin/legislation/questions_controller.rb | 8 ++--- app/models/legislation/question.rb | 6 +++- app/models/legislation/question_option.rb | 6 +++- .../legislation/questions/_form.html.erb | 14 ++++---- .../_question_option_fields.html.erb | 9 ++++-- .../admin/legislation/questions_spec.rb | 32 ++++++++++++------- 6 files changed, 46 insertions(+), 29 deletions(-) diff --git a/app/controllers/admin/legislation/questions_controller.rb b/app/controllers/admin/legislation/questions_controller.rb index da73e905c..70c923ab3 100644 --- a/app/controllers/admin/legislation/questions_controller.rb +++ b/app/controllers/admin/legislation/questions_controller.rb @@ -9,7 +9,6 @@ class Admin::Legislation::QuestionsController < Admin::Legislation::BaseControll end def new - @question.question_options.build end def create @@ -47,11 +46,8 @@ class Admin::Legislation::QuestionsController < Admin::Legislation::BaseControll def question_params params.require(:legislation_question).permit( - :title, - *translation_params(::Legislation::Question), - question_options_attributes: [:id, :value, - *translation_params(::Legislation::QuestionOption)] - ) + translation_params(::Legislation::Question), + question_options_attributes: [translation_params(::Legislation::QuestionOption)]) end def resource diff --git a/app/models/legislation/question.rb b/app/models/legislation/question.rb index 0c9a5703f..c98c1e3bd 100644 --- a/app/models/legislation/question.rb +++ b/app/models/legislation/question.rb @@ -5,6 +5,7 @@ class Legislation::Question < ActiveRecord::Base translates :title, touch: true globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true belongs_to :author, -> { with_hidden }, class_name: 'User', foreign_key: 'author_id' belongs_to :process, class_name: 'Legislation::Process', foreign_key: 'legislation_process_id' @@ -17,7 +18,10 @@ class Legislation::Question < ActiveRecord::Base accepts_nested_attributes_for :question_options, reject_if: proc { |attributes| attributes.all? { |k, v| v.blank? } }, allow_destroy: true validates :process, presence: true - validates :title, presence: true + + translation_class.instance_eval do + validates :title, presence: true + end scope :sorted, -> { order('id ASC') } diff --git a/app/models/legislation/question_option.rb b/app/models/legislation/question_option.rb index 1ee46ee90..a839d400f 100644 --- a/app/models/legislation/question_option.rb +++ b/app/models/legislation/question_option.rb @@ -4,10 +4,14 @@ class Legislation::QuestionOption < ActiveRecord::Base translates :value, touch: true globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true belongs_to :question, class_name: 'Legislation::Question', foreign_key: 'legislation_question_id', inverse_of: :question_options has_many :answers, class_name: 'Legislation::Answer', foreign_key: 'legislation_question_id', dependent: :destroy, inverse_of: :question validates :question, presence: true - validates :value, presence: true, uniqueness: { scope: :legislation_question_id } + + translation_class.instance_eval do + validates :value, presence: true # TODO: add uniqueness again + end end diff --git a/app/views/admin/legislation/questions/_form.html.erb b/app/views/admin/legislation/questions/_form.html.erb index 10902b78d..dc5efb734 100644 --- a/app/views/admin/legislation/questions/_form.html.erb +++ b/app/views/admin/legislation/questions/_form.html.erb @@ -17,12 +17,14 @@ </div> <% end %> - <div class="small-12 medium-9 column"> - <%= f.translatable_text_area :title, - rows: 5, - placeholder: t("admin.legislation.questions.form.title_placeholder"), - label: t("admin.legislation.questions.form.title") %> - </div> + <%= f.translatable_fields do |translations_form| %> + <div class="small-12 medium-9 column"> + <%= translations_form.text_area :title, + rows: 5, + placeholder: t("admin.legislation.questions.form.title_placeholder"), + label: t("admin.legislation.questions.form.title") %> + </div> + <% end %> <div class="small-12 medium-9 column"> <%= f.label :question_options, t("admin.legislation.questions.form.question_options") %> diff --git a/app/views/admin/legislation/questions/_question_option_fields.html.erb b/app/views/admin/legislation/questions/_question_option_fields.html.erb index 204e7b27a..e1f729a0e 100644 --- a/app/views/admin/legislation/questions/_question_option_fields.html.erb +++ b/app/views/admin/legislation/questions/_question_option_fields.html.erb @@ -1,10 +1,13 @@ <div class="nested-fields"> <div class="field"> <div class="small-12 medium-9 column"> - <%= f.translatable_text_field :value, - placeholder: t("admin.legislation.questions.form.value_placeholder"), - label: false %> + <%= f.translatable_fields do |translations_form| %> + <%= translations_form.text_field :value, + placeholder: t("admin.legislation.questions.form.value_placeholder"), + label: false %> + <% end %> </div> + <div class="small-12 medium-3 column"> <%= link_to_remove_association t("admin.legislation.questions.question_option_fields.remove_option"), f, class: "delete"%> </div> diff --git a/spec/features/admin/legislation/questions_spec.rb b/spec/features/admin/legislation/questions_spec.rb index 1ae23a566..c4f390fa0 100644 --- a/spec/features/admin/legislation/questions_spec.rb +++ b/spec/features/admin/legislation/questions_spec.rb @@ -65,7 +65,7 @@ feature 'Admin legislation questions' do click_link 'Create question' - fill_in 'legislation_question_title_en', with: 'Question 3' + fill_in 'Question', with: 'Question 3' click_button 'Create question' expect(page).to have_content 'Question 3' @@ -92,7 +92,7 @@ feature 'Admin legislation questions' do click_link 'Question 2' - fill_in 'legislation_question_title_en', with: 'Question 2b' + fill_in 'Question', with: 'Question 2b' click_button 'Save changes' expect(page).to have_content 'Question 2b' @@ -123,12 +123,20 @@ feature 'Admin legislation questions' do title_en: "Title in English", title_es: "Título en Español") } - before do - @edit_question_url = edit_admin_legislation_process_question_path(question.process, question) + let(:edit_question_url) do + edit_admin_legislation_process_question_path(question.process, question) + end + + let(:field_en) do + page.all("[data-locale='en'][id^='legislation_question_question_options'][id$='value']").first + end + + let(:field_es) do + page.all("[data-locale='es'][id^='legislation_question_question_options'][id$='value']").first end scenario 'Add translation for question option', :js do - visit @edit_question_url + visit edit_question_url click_on 'Add option' @@ -139,17 +147,17 @@ feature 'Admin legislation questions' do find('#nested-question-options input').set('Opción 1') click_button "Save changes" - visit @edit_question_url + visit edit_question_url - expect(page).to have_field('legislation_question_question_options_attributes_0_value_en', with: 'Option 1') + expect(page).to have_field(field_en[:id], with: 'Option 1') click_link "Español" - expect(page).to have_field('legislation_question_question_options_attributes_0_value_es', with: 'Opción 1') + expect(page).to have_field(field_es[:id], with: 'Opción 1') end scenario 'Add new question option after changing active locale', :js do - visit @edit_question_url + visit edit_question_url click_link "Español" @@ -163,13 +171,13 @@ feature 'Admin legislation questions' do click_button "Save changes" - visit @edit_question_url + visit edit_question_url - expect(page).to have_field('legislation_question_question_options_attributes_0_value_en', with: 'Option 1') + expect(page).to have_field(field_en[:id], with: 'Option 1') click_link "Español" - expect(page).to have_field('legislation_question_question_options_attributes_0_value_es', with: 'Opción 1') + expect(page).to have_field(field_es[:id], with: 'Opción 1') end end end From 601fe666d956fc4bf1810ae9595cb36da7b3cd5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 10 Oct 2018 14:08:35 +0200 Subject: [PATCH 500/565] Fix question options translations not being saved If we enabled the locale and then added an option, the "add option" link added the partial which was generated before enabling the translation, and so it generated a field where the translation was disabled. Enabling the translation after inserting each field solves the issue. --- app/assets/javascripts/globalize.js.coffee | 11 +++++++++++ app/views/admin/legislation/questions/_form.html.erb | 4 +++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/app/assets/javascripts/globalize.js.coffee b/app/assets/javascripts/globalize.js.coffee index 81e336ad6..06b1722f5 100644 --- a/app/assets/javascripts/globalize.js.coffee +++ b/app/assets/javascripts/globalize.js.coffee @@ -39,6 +39,12 @@ App.Globalize = disable_locale: (locale) -> App.Globalize.destroy_locale_field(locale).val(true) + enabled_locales: -> + $.map( + $(".js-globalize-locale-link:visible"), + (element) -> $(element).data("locale") + ) + destroy_locale_field: (locale) -> $(".destroy_locale[data-locale=" + locale + "]") @@ -61,3 +67,8 @@ App.Globalize = $(this).hide() App.Globalize.remove_language(locale) + $(".add_fields_container").on "cocoon:after-insert", -> + $.each( + App.Globalize.enabled_locales(), + (index, locale) -> App.Globalize.enable_locale(locale) + ) diff --git a/app/views/admin/legislation/questions/_form.html.erb b/app/views/admin/legislation/questions/_form.html.erb index dc5efb734..d9db3419d 100644 --- a/app/views/admin/legislation/questions/_form.html.erb +++ b/app/views/admin/legislation/questions/_form.html.erb @@ -36,8 +36,10 @@ <% end %> <div class="small-12 medium-9 column"> - <%= link_to_add_association t("admin.legislation.questions.form.add_option"), + <div class="add_fields_container"> + <%= link_to_add_association t("admin.legislation.questions.form.add_option"), f, :question_options, class: "button hollow" %> + </div> </div> </div> From 6478bb70c2a7a09b14df1bdc01ffa9c99d873d26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 10 Oct 2018 14:37:43 +0200 Subject: [PATCH 501/565] Update polls translatable fields The `:name` attribute is still allowed in the controller because some forks use it when creating a poll from a budget. --- .../admin/poll/polls_controller.rb | 6 ++--- app/models/poll.rb | 5 +++- app/views/admin/poll/polls/_form.html.erb | 23 +++++++++++-------- config/locales/en/activerecord.yml | 4 ++++ spec/features/admin/poll/polls_spec.rb | 8 +++---- 5 files changed, 29 insertions(+), 17 deletions(-) diff --git a/app/controllers/admin/poll/polls_controller.rb b/app/controllers/admin/poll/polls_controller.rb index e93a82d47..863f8769c 100644 --- a/app/controllers/admin/poll/polls_controller.rb +++ b/app/controllers/admin/poll/polls_controller.rb @@ -61,10 +61,10 @@ class Admin::Poll::PollsController < Admin::Poll::BaseController def poll_params image_attributes = [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy] - attributes = [:name, :starts_at, :ends_at, :geozone_restricted, :summary, :description, - :results_enabled, :stats_enabled, geozone_ids: [], + attributes = [:name, :starts_at, :ends_at, :geozone_restricted, :results_enabled, + :stats_enabled, geozone_ids: [], image_attributes: image_attributes] - params.require(:poll).permit(*attributes, *translation_params(Poll)) + params.require(:poll).permit(*attributes, translation_params(Poll)) end def search_params diff --git a/app/models/poll.rb b/app/models/poll.rb index 14b102260..8b5dad7dd 100644 --- a/app/models/poll.rb +++ b/app/models/poll.rb @@ -8,6 +8,7 @@ class Poll < ActiveRecord::Base translates :summary, touch: true translates :description, touch: true globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true RECOUNT_DURATION = 1.week @@ -24,7 +25,9 @@ class Poll < ActiveRecord::Base has_and_belongs_to_many :geozones belongs_to :author, -> { with_hidden }, class_name: 'User', foreign_key: 'author_id' - validates :name, presence: true + translation_class.instance_eval do + validates :name, presence: true + end validate :date_range diff --git a/app/views/admin/poll/polls/_form.html.erb b/app/views/admin/poll/polls/_form.html.erb index 1f7520547..49939e8fd 100644 --- a/app/views/admin/poll/polls/_form.html.erb +++ b/app/views/admin/poll/polls/_form.html.erb @@ -1,9 +1,7 @@ <%= render "admin/shared/globalize_locales", resource: @poll %> <%= translatable_form_for [:admin, @poll] do |f| %> - <div class="small-12 medium-6 column"> - <%= f.translatable_text_field :name %> - </div> + <%= render "shared/errors", resource: @poll %> <div class="clear"> <div class="small-12 medium-6 column"> @@ -19,13 +17,20 @@ </div> </div> - <div class="small-12 column"> - <%=f.translatable_text_area :summary, rows: 4%> - </div> - <div class="small-12 column"> - <%=f.translatable_text_area :description, rows: 8%> - </div> + <%= f.translatable_fields do |translations_form| %> + <div class="small-12 medium-6 column"> + <%= translations_form.text_field :name %> + </div> + + <div class="small-12 column"> + <%= translations_form.text_area :summary, rows: 4 %> + </div> + + <div class="small-12 column"> + <%= translations_form.text_area :description, rows: 8 %> + </div> + <% end %> <div class="small-12 column"> <%= render 'images/admin_image', imageable: @poll, f: f %> diff --git a/config/locales/en/activerecord.yml b/config/locales/en/activerecord.yml index 053020463..9bd206502 100644 --- a/config/locales/en/activerecord.yml +++ b/config/locales/en/activerecord.yml @@ -185,6 +185,10 @@ en: geozone_restricted: "Restricted by geozone" summary: "Summary" description: "Description" + poll/translation: + name: "Name" + summary: "Summary" + description: "Description" poll/question: title: "Question" summary: "Summary" diff --git a/spec/features/admin/poll/polls_spec.rb b/spec/features/admin/poll/polls_spec.rb index b28aff019..fad14a0c2 100644 --- a/spec/features/admin/poll/polls_spec.rb +++ b/spec/features/admin/poll/polls_spec.rb @@ -60,11 +60,11 @@ feature 'Admin polls' do start_date = 1.week.from_now end_date = 2.weeks.from_now - fill_in "poll_name_en", with: "Upcoming poll" + fill_in "Name", with: "Upcoming poll" fill_in 'poll_starts_at', with: start_date.strftime("%d/%m/%Y") fill_in 'poll_ends_at', with: end_date.strftime("%d/%m/%Y") - fill_in 'poll_summary_en', with: "Upcoming poll's summary. This poll..." - fill_in 'poll_description_en', with: "Upcomming poll's description. This poll..." + fill_in 'Summary', with: "Upcoming poll's summary. This poll..." + fill_in 'Description', with: "Upcomming poll's description. This poll..." expect(page).not_to have_css("#poll_results_enabled") expect(page).not_to have_css("#poll_stats_enabled") @@ -88,7 +88,7 @@ feature 'Admin polls' do expect(page).to have_css("img[alt='#{poll.image.title}']") - fill_in "poll_name_en", with: "Next Poll" + fill_in "Name", with: "Next Poll" fill_in 'poll_ends_at', with: end_date.strftime("%d/%m/%Y") click_button "Update poll" From 292609e7ac7f65408765e95d16375e4f8bdc0e7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 10 Oct 2018 16:21:05 +0200 Subject: [PATCH 502/565] Update poll questions translatable fields We need to replace ".title=" by ".title_#{locale}=" in one place because for some reason globalize builds a new translation record when using the latter but it doesn't build one when using the former. --- app/controllers/admin/poll/questions_controller.rb | 4 ++-- app/models/poll/question.rb | 10 ++++++---- app/views/admin/poll/questions/_form.html.erb | 4 +++- config/locales/en/activerecord.yml | 2 ++ spec/features/admin/poll/questions_spec.rb | 6 +++--- 5 files changed, 16 insertions(+), 10 deletions(-) diff --git a/app/controllers/admin/poll/questions_controller.rb b/app/controllers/admin/poll/questions_controller.rb index 913e6824a..f30a8f096 100644 --- a/app/controllers/admin/poll/questions_controller.rb +++ b/app/controllers/admin/poll/questions_controller.rb @@ -56,8 +56,8 @@ class Admin::Poll::QuestionsController < Admin::Poll::BaseController private def question_params - attributes = [:poll_id, :title, :question, :proposal_id] - params.require(:poll_question).permit(*attributes, *translation_params(Poll::Question)) + attributes = [:poll_id, :question, :proposal_id] + params.require(:poll_question).permit(*attributes, translation_params(Poll::Question)) end def search_params diff --git a/app/models/poll/question.rb b/app/models/poll/question.rb index bc20ce166..e8a3e0dd7 100644 --- a/app/models/poll/question.rb +++ b/app/models/poll/question.rb @@ -7,6 +7,7 @@ class Poll::Question < ActiveRecord::Base translates :title, touch: true globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true belongs_to :poll belongs_to :author, -> { with_hidden }, class_name: 'User', foreign_key: 'author_id' @@ -17,12 +18,13 @@ class Poll::Question < ActiveRecord::Base has_many :partial_results belongs_to :proposal - validates :title, presence: true + translation_class.instance_eval do + validates :title, presence: true, length: { minimum: 4 } + end + validates :author, presence: true validates :poll_id, presence: true - validates :title, length: { minimum: 4 } - scope :by_poll_id, ->(poll_id) { where(poll_id: poll_id) } scope :sort_for_list, -> { order('poll_questions.proposal_id IS NULL', :created_at)} @@ -47,7 +49,7 @@ class Poll::Question < ActiveRecord::Base self.author = proposal.author self.author_visible_name = proposal.author.name self.proposal_id = proposal.id - self.title = proposal.title + send(:"title_#{Globalize.locale}=", proposal.title) end end diff --git a/app/views/admin/poll/questions/_form.html.erb b/app/views/admin/poll/questions/_form.html.erb index 0f9065262..9637c14f8 100644 --- a/app/views/admin/poll/questions/_form.html.erb +++ b/app/views/admin/poll/questions/_form.html.erb @@ -15,7 +15,9 @@ label: t("admin.questions.new.poll_label") %> </div> - <%= f.translatable_text_field :title %> + <%= f.translatable_fields do |translations_form| %> + <%= translations_form.text_field :title %> + <% end %> <div class="small-12 medium-4 large-2 margin-top"> <%= f.submit(class: "button success expanded", value: t("shared.save")) %> diff --git a/config/locales/en/activerecord.yml b/config/locales/en/activerecord.yml index 9bd206502..28452f71f 100644 --- a/config/locales/en/activerecord.yml +++ b/config/locales/en/activerecord.yml @@ -194,6 +194,8 @@ en: summary: "Summary" description: "Description" external_url: "Link to additional documentation" + poll/question/translation: + title: "Question" signature_sheet: signable_type: "Signable type" signable_id: "Signable ID" diff --git a/spec/features/admin/poll/questions_spec.rb b/spec/features/admin/poll/questions_spec.rb index 230ba5c28..e5ed6bf96 100644 --- a/spec/features/admin/poll/questions_spec.rb +++ b/spec/features/admin/poll/questions_spec.rb @@ -46,7 +46,7 @@ feature 'Admin poll questions' do click_link "Create question" select 'Movies', from: 'poll_question_poll_id' - fill_in 'poll_question_title_en', with: title + fill_in 'Question', with: title click_button 'Save' @@ -61,7 +61,7 @@ feature 'Admin poll questions' do click_link "Create question" expect(page).to have_current_path(new_admin_question_path, ignore_query: true) - expect(page).to have_field('poll_question_title_en', with: proposal.title) + expect(page).to have_field('Question', with: proposal.title) select 'Proposals', from: 'poll_question_poll_id' @@ -84,7 +84,7 @@ feature 'Admin poll questions' do old_title = question1.title new_title = "Potatoes are great and everyone should have one" - fill_in 'poll_question_title_en', with: new_title + fill_in 'Question', with: new_title click_button 'Save' From e9a5f030899962e5e87982b899517a0e1b8de250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 10 Oct 2018 17:53:13 +0200 Subject: [PATCH 503/565] Update poll question answers translatable fields We needed to bring back support for CKEditor in our translatable form, which we had temporarily remove. And now we support CKEditor in our translatable specs, and so we can remove the duplicated specs for poll question answers. --- .../poll/questions/answers_controller.rb | 9 +- app/helpers/translatable_form_helper.rb | 13 +- app/models/poll/question/answer.rb | 6 +- .../poll/questions/answers/_form.html.erb | 10 +- config/locales/en/activerecord.yml | 3 + config/locales/es/activerecord.yml | 2 +- .../poll/questions/answers/answers_spec.rb | 16 +- spec/features/polls/answers_spec.rb | 4 +- .../poll_question_answers_spec.rb | 149 ------------------ spec/shared/features/translatable.rb | 12 +- 10 files changed, 54 insertions(+), 170 deletions(-) delete mode 100644 spec/features/translations/poll_question_answers_spec.rb diff --git a/app/controllers/admin/poll/questions/answers_controller.rb b/app/controllers/admin/poll/questions/answers_controller.rb index 225665b94..099fc818b 100644 --- a/app/controllers/admin/poll/questions/answers_controller.rb +++ b/app/controllers/admin/poll/questions/answers_controller.rb @@ -11,9 +11,10 @@ class Admin::Poll::Questions::AnswersController < Admin::Poll::BaseController def create @answer = ::Poll::Question::Answer.new(answer_params) + @question = @answer.question if @answer.save - redirect_to admin_question_path(@answer.question), + redirect_to admin_question_path(@question), notice: t("flash.actions.create.poll_question_answer") else render :new @@ -31,7 +32,7 @@ class Admin::Poll::Questions::AnswersController < Admin::Poll::BaseController redirect_to admin_question_path(@answer.question), notice: t("flash.actions.save_changes.notice") else - redirect_to :back + render :edit end end @@ -50,8 +51,8 @@ class Admin::Poll::Questions::AnswersController < Admin::Poll::BaseController def answer_params documents_attributes = [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy] - attributes = [:title, :description, :question_id, documents_attributes: documents_attributes] - params.require(:poll_question_answer).permit(*attributes, *translation_params(Poll::Question::Answer)) + attributes = [:question_id, documents_attributes: documents_attributes] + params.require(:poll_question_answer).permit(*attributes, translation_params(Poll::Question::Answer)) end def load_answer diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 868cb7028..8d14a1d74 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -53,9 +53,20 @@ module TranslatableFormHelper define_method field do |attribute, options = {}| final_options = translations_options(options) - custom_label(attribute, final_options[:label], final_options[:label_options]) + + label_help_text_and_field = + custom_label(attribute, final_options[:label], final_options[:label_options]) + help_text(final_options[:hint]) + super(attribute, final_options.merge(label: false, hint: false)) + + if field == :cktext_area + content_tag :div, + label_help_text_and_field, + class: "js-globalize-attribute", + style: @template.display_translation?(locale), + data: { locale: locale } + else + label_help_text_and_field + end end end diff --git a/app/models/poll/question/answer.rb b/app/models/poll/question/answer.rb index 56655e457..5fd0e19c7 100644 --- a/app/models/poll/question/answer.rb +++ b/app/models/poll/question/answer.rb @@ -5,6 +5,7 @@ class Poll::Question::Answer < ActiveRecord::Base translates :title, touch: true translates :description, touch: true globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true documentable max_documents_allowed: 3, max_file_size: 3.megabytes, @@ -14,7 +15,10 @@ class Poll::Question::Answer < ActiveRecord::Base belongs_to :question, class_name: 'Poll::Question', foreign_key: 'question_id' has_many :videos, class_name: 'Poll::Question::Answer::Video' - validates :title, presence: true + translation_class.instance_eval do + validates :title, presence: true + end + validates :given_order, presence: true, uniqueness: { scope: :question_id } before_validation :set_order, on: :create diff --git a/app/views/admin/poll/questions/answers/_form.html.erb b/app/views/admin/poll/questions/answers/_form.html.erb index 1ca05d9ab..9759f6935 100644 --- a/app/views/admin/poll/questions/answers/_form.html.erb +++ b/app/views/admin/poll/questions/answers/_form.html.erb @@ -6,11 +6,13 @@ <%= f.hidden_field :question_id, value: @answer.question_id || @question.id %> - <%= f.translatable_text_field :title %> + <%= f.translatable_fields do |translations_form| %> + <%= translations_form.text_field :title %> - <div class="ckeditor"> - <%= f.translatable_cktext_area :description, maxlength: Poll::Question.description_max_length %> - </div> + <div class="ckeditor"> + <%= translations_form.cktext_area :description, maxlength: Poll::Question.description_max_length %> + </div> + <% end %> <div class="small-12 medium-4 large-2 margin-top"> <%= f.submit(class: "button success expanded", value: t("shared.save")) %> diff --git a/config/locales/en/activerecord.yml b/config/locales/en/activerecord.yml index 28452f71f..5bb1e9b55 100644 --- a/config/locales/en/activerecord.yml +++ b/config/locales/en/activerecord.yml @@ -262,6 +262,9 @@ en: poll/question/answer: title: Answer description: Description + poll/question/answer/translation: + title: Answer + description: Description poll/question/answer/video: title: Title url: External video diff --git a/config/locales/es/activerecord.yml b/config/locales/es/activerecord.yml index ac197335e..f801bf6c0 100644 --- a/config/locales/es/activerecord.yml +++ b/config/locales/es/activerecord.yml @@ -267,7 +267,7 @@ es: title: Respuesta description: Descripción poll/question/answer/translation: - title: Título + title: Respuesta description: Descripción poll/question/answer/video: title: Título diff --git a/spec/features/admin/poll/questions/answers/answers_spec.rb b/spec/features/admin/poll/questions/answers/answers_spec.rb index dbcf8cf5c..4e3965f01 100644 --- a/spec/features/admin/poll/questions/answers/answers_spec.rb +++ b/spec/features/admin/poll/questions/answers/answers_spec.rb @@ -7,6 +7,12 @@ feature 'Answers' do login_as admin.user end + it_behaves_like "translatable", + "poll_question_answer", + "edit_admin_answer_path", + %w[title], + { "description" => :ckeditor } + scenario 'Create' do question = create(:poll_question) title = 'Whatever the question may be, the answer is always 42' @@ -15,8 +21,8 @@ feature 'Answers' do visit admin_question_path(question) click_link 'Add answer' - fill_in 'poll_question_answer_title_en', with: title - fill_in 'poll_question_answer_description_en', with: description + fill_in 'Answer', with: title + fill_in 'Description', with: description click_button 'Save' @@ -33,8 +39,8 @@ feature 'Answers' do visit admin_question_path(question) click_link 'Add answer' - fill_in 'poll_question_answer_title_en', with: title - fill_in 'poll_question_answer_description_en', with: description + fill_in 'Answer', with: title + fill_in 'Description', with: description click_button 'Save' @@ -53,7 +59,7 @@ feature 'Answers' do old_title = answer.title new_title = 'Ex Machina' - fill_in 'poll_question_answer_title_en', with: new_title + fill_in 'Answer', with: new_title click_button 'Save' diff --git a/spec/features/polls/answers_spec.rb b/spec/features/polls/answers_spec.rb index 6daffc0eb..89bdfeb5d 100644 --- a/spec/features/polls/answers_spec.rb +++ b/spec/features/polls/answers_spec.rb @@ -28,8 +28,8 @@ feature 'Answers' do visit admin_question_path(question) click_link "Add answer" - fill_in "poll_question_answer_title_en", with: "¿Would you like to reform Central Park?" - fill_in "poll_question_answer_description_en", with: "Adding more trees, creating a play area..." + fill_in "Answer", with: "¿Would you like to reform Central Park?" + fill_in "Description", with: "Adding more trees, creating a play area..." click_button "Save" expect(page).to have_content "Answer created successfully" diff --git a/spec/features/translations/poll_question_answers_spec.rb b/spec/features/translations/poll_question_answers_spec.rb deleted file mode 100644 index fded75cfd..000000000 --- a/spec/features/translations/poll_question_answers_spec.rb +++ /dev/null @@ -1,149 +0,0 @@ -# coding: utf-8 -require 'rails_helper' - -feature "Translations" do - - context "Polls" do - - let(:poll) { create(:poll, name_en: "Name in English", - name_es: "Nombre en Español", - summary_en: "Summary in English", - summary_es: "Resumen en Español", - description_en: "Description in English", - description_es: "Descripción en Español") } - - background do - admin = create(:administrator) - login_as(admin.user) - end - - context "Questions" do - - let(:question) { create(:poll_question, poll: poll, - title_en: "Question in English", - title_es: "Pregunta en Español") } - - context "Answers" do - - let(:answer) { create(:poll_question_answer, question: question, - title_en: "Answer in English", - title_es: "Respuesta en Español", - description_en: "Description in English", - description_es: "Descripción en Español") } - - before do - @edit_answer_url = edit_admin_answer_path(answer) - end - - scenario "Add a translation", :js do - visit @edit_answer_url - - select "Français", from: "translation_locale" - fill_in 'poll_question_answer_title_fr', with: 'Answer en Français' - fill_in_ckeditor 'poll_question_answer_description_fr', with: 'Description en Français' - - click_button 'Save' - expect(page).to have_content "Changes saved" - - expect(page).to have_content "Answer in English" - expect(page).to have_content "Description in English" - - select('Español', from: 'locale-switcher') - expect(page).to have_content "Respuesta en Español" - expect(page).to have_content "Descripción en Español" - - select('Français', from: 'locale-switcher') - expect(page).to have_content "Answer en Français" - expect(page).to have_content "Description en Français" - end - - scenario "Update a translation with allowed blank translated field", :js do - visit @edit_answer_url - - click_link "Español" - fill_in 'poll_question_answer_title_es', with: 'Pregunta correcta en Español' - fill_in_ckeditor 'poll_question_answer_description_es', with: '' - - click_button 'Save' - expect(page).to have_content "Changes saved" - - expect(page).to have_content("Answer in English") - expect(page).to have_content("Description in English") - - select('Español', from: 'locale-switcher') - expect(page).to have_content("Pregunta correcta en Español") - expect(page).to_not have_content("Descripción en Español") - end - - scenario "Remove a translation", :js do - visit @edit_answer_url - - click_link "Español" - click_link "Remove language" - - expect(page).not_to have_link "Español" - - click_button "Save" - visit @edit_answer_url - expect(page).not_to have_link "Español" - end - - scenario "Add a translation for a locale with non-underscored name", :js do - visit @edit_answer_url - - select('Português brasileiro', from: 'translation_locale') - fill_in_ckeditor 'poll_question_answer_description_pt_br', with: 'resposta em Português' - click_button 'Save' - - select('Português brasileiro', from: 'locale-switcher') - expect(page).to have_content("resposta em Português") - end - - context "Globalize javascript interface" do - - scenario "Highlight current locale", :js do - visit @edit_answer_url - - expect(find("a.js-globalize-locale-link.is-active")).to have_content "English" - - select('Español', from: 'locale-switcher') - - expect(find("a.js-globalize-locale-link.is-active")).to have_content "Español" - end - - scenario "Highlight selected locale", :js do - visit @edit_answer_url - - expect(find("a.js-globalize-locale-link.is-active")).to have_content "English" - - click_link "Español" - - expect(find("a.js-globalize-locale-link.is-active")).to have_content "Español" - end - - scenario "Show selected locale form", :js do - visit @edit_answer_url - - expect(page).to have_field('poll_question_answer_title_en', with: 'Answer in English') - - click_link "Español" - - expect(page).to have_field('poll_question_answer_title_es', with: 'Respuesta en Español') - end - - scenario "Select a locale and add it to the poll form", :js do - visit @edit_answer_url - - select "Français", from: "translation_locale" - - expect(page).to have_link "Français" - - click_link "Français" - - expect(page).to have_field('poll_question_answer_title_fr') - end - end - end - end - end -end diff --git a/spec/shared/features/translatable.rb b/spec/shared/features/translatable.rb index 862417ff3..c34c8ec9c 100644 --- a/spec/shared/features/translatable.rb +++ b/spec/shared/features/translatable.rb @@ -240,11 +240,11 @@ def text_for(field, locale) end end -def field_for(field, locale) +def field_for(field, locale, visible: true) if translatable_class.name == "I18nContent" "contents_content_#{translatable.key}values_#{field}_#{locale}" else - find("[data-locale='#{locale}'][id$='#{field}']")[:id] + find("[data-locale='#{locale}'][id$='#{field}']", visible: visible)[:id] end end @@ -261,6 +261,8 @@ def fill_in_textarea(field, textarea_type, locale, with:) click_link class: "fullscreen-toggle" fill_in field_for(field, locale), with: with click_link class: "fullscreen-toggle" + elsif textarea_type == :ckeditor + fill_in_ckeditor field_for(field, locale, visible: false), with: with end end @@ -274,6 +276,10 @@ def expect_page_to_have_translatable_field(field, locale, with:) click_link class: "fullscreen-toggle" expect(page).to have_field field_for(field, locale), with: with click_link class: "fullscreen-toggle" + elsif textarea_type == :ckeditor + within(".ckeditor div.js-globalize-attribute[data-locale='#{locale}']") do + within_frame(0) { expect(page).to have_content with } + end end end end @@ -288,7 +294,7 @@ def update_button_text "Update notification" when "Poll" "Update poll" - when "Poll::Question" + when "Poll::Question", "Poll::Question::Answer" "Save" when "Widget::Card" "Save card" From e400cb8eaea4c0be6e4a3232faaaa660fe0710c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 10 Oct 2018 18:12:12 +0200 Subject: [PATCH 504/565] Update site customization pages translatable fields --- .../site_customization/pages_controller.rb | 11 +- app/models/site_customization/page.rb | 16 ++- .../site_customization/pages/_form.html.erb | 15 ++- config/locales/en/activerecord.yml | 4 + .../admin/site_customization/pages_spec.rb | 14 ++- .../site_customization/custom_pages_spec.rb | 119 ------------------ spec/shared/features/translatable.rb | 4 +- 7 files changed, 38 insertions(+), 145 deletions(-) diff --git a/app/controllers/admin/site_customization/pages_controller.rb b/app/controllers/admin/site_customization/pages_controller.rb index e4c6a8ed7..056e0bc3d 100644 --- a/app/controllers/admin/site_customization/pages_controller.rb +++ b/app/controllers/admin/site_customization/pages_controller.rb @@ -35,17 +35,10 @@ class Admin::SiteCustomization::PagesController < Admin::SiteCustomization::Base private def page_params - attributes = [:slug, - :title, - :subtitle, - :content, - :more_info_flag, - :print_content_flag, - :status, - :locale] + attributes = [:slug, :more_info_flag, :print_content_flag, :status, :locale] params.require(:site_customization_page).permit(*attributes, - *translation_params(SiteCustomization::Page) + translation_params(SiteCustomization::Page) ) end diff --git a/app/models/site_customization/page.rb b/app/models/site_customization/page.rb index 34e470759..a17345ba0 100644 --- a/app/models/site_customization/page.rb +++ b/app/models/site_customization/page.rb @@ -1,16 +1,20 @@ class SiteCustomization::Page < ActiveRecord::Base VALID_STATUSES = %w(draft published) - validates :slug, presence: true, - uniqueness: { case_sensitive: false }, - format: { with: /\A[0-9a-zA-Z\-_]*\Z/, message: :slug_format } - validates :title, presence: true - validates :status, presence: true, inclusion: { in: VALID_STATUSES } - translates :title, touch: true translates :subtitle, touch: true translates :content, touch: true globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true + + translation_class.instance_eval do + validates :title, presence: true + end + + validates :slug, presence: true, + uniqueness: { case_sensitive: false }, + format: { with: /\A[0-9a-zA-Z\-_]*\Z/, message: :slug_format } + validates :status, presence: true, inclusion: { in: VALID_STATUSES } scope :published, -> { where(status: 'published').order('id DESC') } scope :with_more_info_flag, -> { where(status: 'published', more_info_flag: true).order('id ASC') } diff --git a/app/views/admin/site_customization/pages/_form.html.erb b/app/views/admin/site_customization/pages/_form.html.erb index fa8fa81f9..5dbbe651e 100644 --- a/app/views/admin/site_customization/pages/_form.html.erb +++ b/app/views/admin/site_customization/pages/_form.html.erb @@ -38,12 +38,15 @@ </div> <div class="small-12 column"> <hr> - <%= f.translatable_text_field :title %> - <%= f.translatable_text_field :subtitle %> - <div class="ckeditor"> - <%= f.translatable_cktext_area :content, - ckeditor: { language: I18n.locale, toolbar: "admin" } %> - </div> + <%= f.translatable_fields do |translations_form| %> + <%= translations_form.text_field :title %> + <%= translations_form.text_field :subtitle %> + <div class="ckeditor"> + <%= translations_form.cktext_area :content, + ckeditor: { language: I18n.locale, toolbar: "admin" } %> + </div> + <% end %> + <div class="small-12 medium-6 large-3 margin-top"> <%= f.submit class: "button success expanded" %> </div> diff --git a/config/locales/en/activerecord.yml b/config/locales/en/activerecord.yml index 5bb1e9b55..0e93a99f2 100644 --- a/config/locales/en/activerecord.yml +++ b/config/locales/en/activerecord.yml @@ -211,6 +211,10 @@ en: more_info_flag: Show in help page print_content_flag: Print content button locale: Language + site_customization/page/translation: + title: Title + subtitle: Subtitle + content: Content site_customization/image: name: Name image: Image diff --git a/spec/features/admin/site_customization/pages_spec.rb b/spec/features/admin/site_customization/pages_spec.rb index 4270df93d..098710ede 100644 --- a/spec/features/admin/site_customization/pages_spec.rb +++ b/spec/features/admin/site_customization/pages_spec.rb @@ -7,6 +7,12 @@ feature "Admin custom pages" do login_as(admin.user) end + it_behaves_like "translatable", + "site_customization_page", + "edit_admin_site_customization_page_path", + %w[title subtitle], + { "content" => :ckeditor } + scenario "Index" do custom_page = create(:site_customization_page) visit admin_site_customization_pages_path @@ -28,10 +34,10 @@ feature "Admin custom pages" do click_link "Create new page" - fill_in "site_customization_page_title_en", with: "An example custom page" - fill_in "site_customization_page_subtitle_en", with: "Page subtitle" + fill_in "Title", with: "An example custom page" + fill_in "Subtitle", with: "Page subtitle" fill_in "site_customization_page_slug", with: "example-page" - fill_in "site_customization_page_content_en", with: "This page is about..." + fill_in "Content", with: "This page is about..." click_button "Create Custom page" @@ -57,7 +63,7 @@ feature "Admin custom pages" do expect(page).to have_selector("h2", text: "An example custom page") expect(page).to have_selector("input[value='custom-example-page']") - fill_in "site_customization_page_title_en", with: "Another example custom page" + fill_in "Title", with: "Another example custom page" fill_in "site_customization_page_slug", with: "another-custom-example-page" click_button "Update Custom page" diff --git a/spec/features/site_customization/custom_pages_spec.rb b/spec/features/site_customization/custom_pages_spec.rb index d9bf01acb..662388ef2 100644 --- a/spec/features/site_customization/custom_pages_spec.rb +++ b/spec/features/site_customization/custom_pages_spec.rb @@ -137,123 +137,4 @@ feature "Custom Pages" do end end end - - context "Translation" do - - let(:custom_page) { create(:site_customization_page, :published, - slug: "example-page", - title_en: "Title in English", - title_es: "Titulo en Español", - subtitle_en: "Subtitle in English", - subtitle_es: "Subtitulo en Español", - content_en: "Content in English", - content_es: "Contenido en Español" - ) } - - background do - admin = create(:administrator) - login_as(admin.user) - end - - before do - @edit_page_url = edit_admin_site_customization_page_path(custom_page) - end - - scenario "Add a translation in Português", :js do - visit @edit_page_url - - select "Português brasileiro", from: "translation_locale" - fill_in 'site_customization_page_title_pt_br', with: 'Titulo em Português' - - click_button 'Update Custom page' - expect(page).to have_content "Page updated successfully" - - visit @edit_page_url - expect(page).to have_field('site_customization_page_title_en', with: 'Title in English') - - click_link "Español" - expect(page).to have_field('site_customization_page_title_es', with: 'Titulo en Español') - - click_link "Português brasileiro" - expect(page).to have_field('site_customization_page_title_pt_br', with: 'Titulo em Português') - end - - scenario "Update a translation", :js do - visit @edit_page_url - - click_link "Español" - fill_in 'site_customization_page_title_es', with: 'Titulo correcta en Español' - - click_button 'Update Custom page' - expect(page).to have_content "Page updated successfully" - - visit custom_page.url - - select('English', from: 'locale-switcher') - - expect(page).to have_content("Title in English") - - select('Español', from: 'locale-switcher') - - expect(page).to have_content("Titulo correcta en Español") - end - - scenario "Remove a translation", :js do - visit @edit_page_url - - click_link "Español" - click_link "Remove language" - - expect(page).not_to have_link "Español" - - click_button "Update Custom page" - visit @edit_page_url - expect(page).not_to have_link "Español" - end - - context "Globalize javascript interface" do - - scenario "Highlight current locale", :js do - visit @edit_page_url - - expect(find("a.js-globalize-locale-link.is-active")).to have_content "English" - - select('Español', from: 'locale-switcher') - - expect(find("a.js-globalize-locale-link.is-active")).to have_content "Español" - end - - scenario "Highlight selected locale", :js do - visit @edit_page_url - - expect(find("a.js-globalize-locale-link.is-active")).to have_content "English" - - click_link "Español" - - expect(find("a.js-globalize-locale-link.is-active")).to have_content "Español" - end - - scenario "Show selected locale form", :js do - visit @edit_page_url - - expect(page).to have_field('site_customization_page_title_en', with: 'Title in English') - - click_link "Español" - - expect(page).to have_field('site_customization_page_title_es', with: 'Titulo en Español') - end - - scenario "Select a locale and add it to the milestone form", :js do - visit @edit_page_url - - select "Français", from: "translation_locale" - - expect(page).to have_link "Français" - - click_link "Français" - - expect(page).to have_field('site_customization_page_title_fr') - end - end - end end diff --git a/spec/shared/features/translatable.rb b/spec/shared/features/translatable.rb index c34c8ec9c..81c034aeb 100644 --- a/spec/shared/features/translatable.rb +++ b/spec/shared/features/translatable.rb @@ -244,7 +244,7 @@ def field_for(field, locale, visible: true) if translatable_class.name == "I18nContent" "contents_content_#{translatable.key}values_#{field}_#{locale}" else - find("[data-locale='#{locale}'][id$='#{field}']", visible: visible)[:id] + find("[data-locale='#{locale}'][id$='_#{field}']", visible: visible)[:id] end end @@ -296,6 +296,8 @@ def update_button_text "Update poll" when "Poll::Question", "Poll::Question::Answer" "Save" + when "SiteCustomization::Page" + "Update Custom page" when "Widget::Card" "Save card" else From 981b13ac9b1e8f370fc98f524c2e9c513395878c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 11 Oct 2018 00:57:26 +0200 Subject: [PATCH 505/565] Update widget cards translatable fields --- .../admin/widget/cards_controller.rb | 5 ++-- app/models/widget/card.rb | 1 + app/views/admin/widget/cards/_form.html.erb | 18 +++++++------- config/locales/en/activerecord.yml | 5 ++++ spec/features/admin/widgets/cards_spec.rb | 24 +++++++++---------- 5 files changed, 30 insertions(+), 23 deletions(-) diff --git a/app/controllers/admin/widget/cards_controller.rb b/app/controllers/admin/widget/cards_controller.rb index f5dce76a1..519d5ff94 100644 --- a/app/controllers/admin/widget/cards_controller.rb +++ b/app/controllers/admin/widget/cards_controller.rb @@ -43,9 +43,8 @@ class Admin::Widget::CardsController < Admin::BaseController image_attributes = [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy] params.require(:widget_card).permit( - :label, :title, :description, :link_text, :link_url, - :button_text, :button_url, :alignment, :header, - *translation_params(Widget::Card), + :link_url, :button_text, :button_url, :alignment, :header, + translation_params(Widget::Card), image_attributes: image_attributes ) end diff --git a/app/models/widget/card.rb b/app/models/widget/card.rb index 73bc3eb00..0f8e176a4 100644 --- a/app/models/widget/card.rb +++ b/app/models/widget/card.rb @@ -9,6 +9,7 @@ class Widget::Card < ActiveRecord::Base translates :description, touch: true translates :link_text, touch: true globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true def self.header where(header: true) diff --git a/app/views/admin/widget/cards/_form.html.erb b/app/views/admin/widget/cards/_form.html.erb index c22225e74..d9e6a955a 100644 --- a/app/views/admin/widget/cards/_form.html.erb +++ b/app/views/admin/widget/cards/_form.html.erb @@ -2,17 +2,19 @@ <%= translatable_form_for [:admin, @card] do |f| %> - <div class="small-12 medium-6"> - <%= f.translatable_text_field :label %> - </div> + <%= f.translatable_fields do |translations_form| %> + <div class="small-12 medium-6"> + <%= translations_form.text_field :label %> + </div> - <%= f.translatable_text_field :title %> + <%= translations_form.text_field :title %> - <%= f.translatable_text_area :description, rows: 5 %> + <%= translations_form.text_area :description, rows: 5 %> - <div class="small-12 medium-6"> - <%= f.translatable_text_field :link_text %> - </div> + <div class="small-12 medium-6"> + <%= translations_form.text_field :link_text %> + </div> + <% end %> <div class="small-12 medium-6"> <%= f.text_field :link_url %> diff --git a/config/locales/en/activerecord.yml b/config/locales/en/activerecord.yml index 0e93a99f2..6f834931e 100644 --- a/config/locales/en/activerecord.yml +++ b/config/locales/en/activerecord.yml @@ -291,6 +291,11 @@ en: description: Description link_text: Link text link_url: Link URL + widget/card/translation: + label: Label (optional) + title: Title + description: Description + link_text: Link text widget/feed: limit: Number of items errors: diff --git a/spec/features/admin/widgets/cards_spec.rb b/spec/features/admin/widgets/cards_spec.rb index 22b1e6bff..b8b29887f 100644 --- a/spec/features/admin/widgets/cards_spec.rb +++ b/spec/features/admin/widgets/cards_spec.rb @@ -16,10 +16,10 @@ feature 'Cards' do visit admin_homepage_path click_link "Create card" - fill_in "widget_card_label_en", with: "Card label" - fill_in "widget_card_title_en", with: "Card text" - fill_in "widget_card_description_en", with: "Card description" - fill_in "widget_card_link_text_en", with: "Link text" + fill_in "Label (optional)", with: "Card label" + fill_in "Title", with: "Card text" + fill_in "Description", with: "Card description" + fill_in "Link text", with: "Link text" fill_in "widget_card_link_url", with: "consul.dev" attach_image_to_card click_button "Create card" @@ -64,10 +64,10 @@ feature 'Cards' do click_link "Edit" end - fill_in "widget_card_label_en", with: "Card label updated" - fill_in "widget_card_title_en", with: "Card text updated" - fill_in "widget_card_description_en", with: "Card description updated" - fill_in "widget_card_link_text_en", with: "Link text updated" + fill_in "Label (optional)", with: "Card label updated" + fill_in "Title", with: "Card text updated" + fill_in "Description", with: "Card description updated" + fill_in "Link text", with: "Link text updated" fill_in "widget_card_link_url", with: "consul.dev updated" click_button "Save card" @@ -104,10 +104,10 @@ feature 'Cards' do visit admin_homepage_path click_link "Create header" - fill_in "widget_card_label_en", with: "Header label" - fill_in "widget_card_title_en", with: "Header text" - fill_in "widget_card_description_en", with: "Header description" - fill_in "widget_card_link_text_en", with: "Link text" + fill_in "Label (optional)", with: "Header label" + fill_in "Title", with: "Header text" + fill_in "Description", with: "Header description" + fill_in "Link text", with: "Link text" fill_in "widget_card_link_url", with: "consul.dev" click_button "Create header" From f2d64833f0b111c41e4f8c69870749d51235aaa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 11 Oct 2018 01:17:27 +0200 Subject: [PATCH 506/565] Simplify methods defining translation styles This refactor is going to be useful when we change these rules within the next few commits. --- app/helpers/globalize_helper.rb | 18 +++++------ app/helpers/site_customization_helper.rb | 10 ++++++- app/helpers/translatable_form_helper.rb | 30 ++++++++----------- .../legislation/draft_versions/_form.html.erb | 2 +- .../admin/shared/_globalize_locales.html.erb | 6 ++-- .../_globalize_locales.html.erb | 6 ++-- 6 files changed, 38 insertions(+), 34 deletions(-) diff --git a/app/helpers/globalize_helper.rb b/app/helpers/globalize_helper.rb index 15ad85da5..d82fe2e43 100644 --- a/app/helpers/globalize_helper.rb +++ b/app/helpers/globalize_helper.rb @@ -11,15 +11,19 @@ module GlobalizeHelper end def display_translation?(locale) - same_locale?(I18n.locale, locale) ? "" : "display: none;" + locale == I18n.locale + end + + def display_translation_style(locale) + "display: none;" unless display_translation?(locale) end def translation_enabled_tag(locale, enabled) hidden_field_tag("enabled_translations[#{locale}]", (enabled ? 1 : 0)) end - def css_to_display_translation?(resource, locale) - enable_locale?(resource, locale) ? "" : "display: none;" + def enable_translation_style(resource, locale) + "display: none;" unless enable_locale?(resource, locale) end def enable_locale?(resource, locale) @@ -28,12 +32,8 @@ module GlobalizeHelper resource.translations.reject(&:_destroy).map(&:locale).include?(locale) || locale == I18n.locale end - def highlight_current?(locale) - same_locale?(I18n.locale, locale) ? 'is-active' : '' - end - - def show_delete?(locale) - display_translation?(locale) + def highlight_class(locale) + "is-active" if display_translation?(locale) end def globalize(locale, &block) diff --git a/app/helpers/site_customization_helper.rb b/app/helpers/site_customization_helper.rb index 1b4968b6c..8b6fccb31 100644 --- a/app/helpers/site_customization_helper.rb +++ b/app/helpers/site_customization_helper.rb @@ -3,7 +3,15 @@ module SiteCustomizationHelper I18nContentTranslation.existing_languages.include?(locale) || locale == I18n.locale end - def site_customization_display_translation?(locale) + def site_customization_display_translation_style(locale) site_customization_enable_translation?(locale) ? "" : "display: none;" end + + def merge_translatable_field_options(options, locale) + options.merge( + class: "#{options[:class]} js-globalize-attribute".strip, + style: "#{options[:style]} #{site_customization_display_translation_style(locale)}".strip, + data: (options[:data] || {}).merge(locale: locale) + ) + end end diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 8d14a1d74..136c518ce 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -5,14 +5,6 @@ module TranslatableFormHelper end end - def merge_translatable_field_options(options, locale) - options.merge( - class: "#{options[:class]} js-globalize-attribute".strip, - style: "#{options[:style]} #{display_translation?(locale)}".strip, - data: options.fetch(:data, {}).merge(locale: locale), - ) - end - class TranslatableFormBuilder < FoundationRailsHelper::FormBuilder def translatable_fields(&block) @object.globalize_locales.map do |locale| @@ -62,7 +54,7 @@ module TranslatableFormHelper content_tag :div, label_help_text_and_field, class: "js-globalize-attribute", - style: @template.display_translation?(locale), + style: display_style, data: { locale: locale } else label_help_text_and_field @@ -75,30 +67,34 @@ module TranslatableFormHelper end def label(attribute, text = nil, options = {}) - label_options = options.merge( - class: "#{options[:class]} js-globalize-attribute".strip, - style: "#{options[:style]} #{@template.display_translation?(locale)}".strip, - data: (options[:data] || {}) .merge(locale: locale) - ) - + label_options = translations_options(options) hint = label_options.delete(:hint) + super(attribute, text, label_options) + help_text(hint) end + def display_style + @template.display_translation_style(locale) + end + private def help_text(text) if text content_tag :span, text, class: "help-text js-globalize-attribute", data: { locale: locale }, - style: @template.display_translation?(locale) + style: display_style else "" end end def translations_options(options) - @template.merge_translatable_field_options(options, locale) + options.merge( + class: "#{options[:class]} js-globalize-attribute".strip, + style: "#{options[:style]} #{display_style}".strip, + data: (options[:data] || {}).merge(locale: locale) + ) end end end diff --git a/app/views/admin/legislation/draft_versions/_form.html.erb b/app/views/admin/legislation/draft_versions/_form.html.erb index 729ed071c..417a303fe 100644 --- a/app/views/admin/legislation/draft_versions/_form.html.erb +++ b/app/views/admin/legislation/draft_versions/_form.html.erb @@ -35,7 +35,7 @@ <%= content_tag :div, class: "markdown-editor clear js-globalize-attribute", data: { locale: translations_form.locale }, - style: display_translation?(translations_form.locale) do %> + style: translations_form.display_style do %> <div class="small-12 medium-8 column fullscreen-container"> <div class="markdown-editor-header truncate"> diff --git a/app/views/admin/shared/_globalize_locales.html.erb b/app/views/admin/shared/_globalize_locales.html.erb index c4a0cf5bc..90315a11b 100644 --- a/app/views/admin/shared/_globalize_locales.html.erb +++ b/app/views/admin/shared/_globalize_locales.html.erb @@ -1,7 +1,7 @@ <% I18n.available_locales.each do |locale| %> <%= link_to t("admin.translations.remove_language"), "#", id: "delete-#{locale}", - style: show_delete?(locale), + style: display_translation_style(locale), class: 'float-right delete js-delete-language', data: { locale: locale } %> @@ -11,8 +11,8 @@ <% I18n.available_locales.each do |locale| %> <li class="tabs-title"> <%= link_to name_for_locale(locale), "#", - style: css_to_display_translation?(resource, locale), - class: "js-globalize-locale-link #{highlight_current?(locale)}", + style: enable_translation_style(resource, locale), + class: "js-globalize-locale-link #{highlight_class(locale)}", data: { locale: locale }, remote: true %> </li> diff --git a/app/views/admin/site_customization/information_texts/_globalize_locales.html.erb b/app/views/admin/site_customization/information_texts/_globalize_locales.html.erb index f472ca263..dcfd9e395 100644 --- a/app/views/admin/site_customization/information_texts/_globalize_locales.html.erb +++ b/app/views/admin/site_customization/information_texts/_globalize_locales.html.erb @@ -1,7 +1,7 @@ <% I18n.available_locales.each do |locale| %> <%= link_to t("admin.translations.remove_language"), "#", id: "delete-#{locale}", - style: show_delete?(locale), + style: display_translation_style(locale), class: 'float-right delete js-delete-language', data: { locale: locale } %> @@ -11,8 +11,8 @@ <% I18n.available_locales.each do |locale| %> <li class="tabs-title"> <%= link_to name_for_locale(locale), "#", - style: site_customization_display_translation?(locale), - class: "js-globalize-locale-link #{highlight_current?(locale)}", + style: site_customization_display_translation_style(locale), + class: "js-globalize-locale-link #{highlight_class(locale)}", data: { locale: locale }, remote: true %> </li> From 1ab3b7f42d8916b96d50b06c6751c92e3b7f3532 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 11 Oct 2018 01:42:42 +0200 Subject: [PATCH 507/565] Don't force translations for the current locale Globalize creates a translation for the current locale, and the only way I've found to change this behaviour is to monkey-patch it. The original code uses `translation.locale` instead of `Globalize.locale`. Since `translation.locale` loads the translation with empty attributes. It both makes the record invalid if there are validations and it makes it almost impossible to create a record with translations which don't include the current locale. See also the following convertations: https://github.com/globalize/globalize/pull/328 https://github.com/globalize/globalize/issues/468 https://github.com/globalize/globalize/pull/578 https://github.com/shioyama/mobility/wiki/Migrating-from-Globalize#blank-translations --- app/helpers/globalize_helper.rb | 20 +++++++++----- app/helpers/translatable_form_helper.rb | 2 +- .../admin/shared/_globalize_locales.html.erb | 4 +-- .../_globalize_locales.html.erb | 4 +-- config/initializers/globalize.rb | 13 +++++++++ spec/features/admin/banners_spec.rb | 27 +++++++++++++++++++ 6 files changed, 58 insertions(+), 12 deletions(-) create mode 100644 config/initializers/globalize.rb diff --git a/app/helpers/globalize_helper.rb b/app/helpers/globalize_helper.rb index d82fe2e43..07cf220b1 100644 --- a/app/helpers/globalize_helper.rb +++ b/app/helpers/globalize_helper.rb @@ -10,12 +10,17 @@ module GlobalizeHelper end end - def display_translation?(locale) - locale == I18n.locale + def display_translation?(resource, locale) + if !resource || resource.translations.blank? || + resource.translations.map(&:locale).include?(I18n.locale) + locale == I18n.locale + else + locale == resource.translations.first.locale + end end - def display_translation_style(locale) - "display: none;" unless display_translation?(locale) + def display_translation_style(resource, locale) + "display: none;" unless display_translation?(resource, locale) end def translation_enabled_tag(locale, enabled) @@ -29,11 +34,12 @@ module GlobalizeHelper def enable_locale?(resource, locale) # Use `map` instead of `pluck` in order to keep the `params` sent # by the browser when there's invalid data - resource.translations.reject(&:_destroy).map(&:locale).include?(locale) || locale == I18n.locale + (resource.translations.blank? && locale == I18n.locale) || + resource.translations.reject(&:_destroy).map(&:locale).include?(locale) end - def highlight_class(locale) - "is-active" if display_translation?(locale) + def highlight_class(resource, locale) + "is-active" if display_translation?(resource, locale) end def globalize(locale, &block) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 136c518ce..77568fcb6 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -74,7 +74,7 @@ module TranslatableFormHelper end def display_style - @template.display_translation_style(locale) + @template.display_translation_style(@object.globalized_model, locale) end private diff --git a/app/views/admin/shared/_globalize_locales.html.erb b/app/views/admin/shared/_globalize_locales.html.erb index 90315a11b..ccce00524 100644 --- a/app/views/admin/shared/_globalize_locales.html.erb +++ b/app/views/admin/shared/_globalize_locales.html.erb @@ -1,7 +1,7 @@ <% I18n.available_locales.each do |locale| %> <%= link_to t("admin.translations.remove_language"), "#", id: "delete-#{locale}", - style: display_translation_style(locale), + style: display_translation_style(resource, locale), class: 'float-right delete js-delete-language', data: { locale: locale } %> @@ -12,7 +12,7 @@ <li class="tabs-title"> <%= link_to name_for_locale(locale), "#", style: enable_translation_style(resource, locale), - class: "js-globalize-locale-link #{highlight_class(locale)}", + class: "js-globalize-locale-link #{highlight_class(resource, locale)}", data: { locale: locale }, remote: true %> </li> diff --git a/app/views/admin/site_customization/information_texts/_globalize_locales.html.erb b/app/views/admin/site_customization/information_texts/_globalize_locales.html.erb index dcfd9e395..722e34d13 100644 --- a/app/views/admin/site_customization/information_texts/_globalize_locales.html.erb +++ b/app/views/admin/site_customization/information_texts/_globalize_locales.html.erb @@ -1,7 +1,7 @@ <% I18n.available_locales.each do |locale| %> <%= link_to t("admin.translations.remove_language"), "#", id: "delete-#{locale}", - style: display_translation_style(locale), + style: site_customization_display_translation_style(locale), class: 'float-right delete js-delete-language', data: { locale: locale } %> @@ -12,7 +12,7 @@ <li class="tabs-title"> <%= link_to name_for_locale(locale), "#", style: site_customization_display_translation_style(locale), - class: "js-globalize-locale-link #{highlight_class(locale)}", + class: "js-globalize-locale-link #{highlight_class(nil, locale)}", data: { locale: locale }, remote: true %> </li> diff --git a/config/initializers/globalize.rb b/config/initializers/globalize.rb new file mode 100644 index 000000000..d0836d0cc --- /dev/null +++ b/config/initializers/globalize.rb @@ -0,0 +1,13 @@ +module Globalize + module ActiveRecord + module InstanceMethods + def save(*) + # Credit for this code belongs to Jack Tomaszewski: + # https://github.com/globalize/globalize/pull/578 + Globalize.with_locale(Globalize.locale || I18n.default_locale) do + super + end + end + end + end +end diff --git a/spec/features/admin/banners_spec.rb b/spec/features/admin/banners_spec.rb index 7a0e7d76e..9c581e03b 100644 --- a/spec/features/admin/banners_spec.rb +++ b/spec/features/admin/banners_spec.rb @@ -110,6 +110,33 @@ feature 'Admin banners magement' do expect(page).to have_link 'Such banner many text wow link', href: 'https://www.url.com' end + scenario "Publish a banner with a translation different than the current locale", :js do + visit new_admin_banner_path + + expect(page).to have_link "English" + + click_link "Remove language" + select "Français", from: "translation_locale" + + fill_in "Title", with: "En Français" + fill_in "Description", with: "Link en Français" + + fill_in "Link", with: "https://www.url.com" + + last_week = Time.current - 1.week + next_week = Time.current + 1.week + + fill_in "Post started at", with: last_week.strftime("%d/%m/%Y") + fill_in "Post ended at", with: next_week.strftime("%d/%m/%Y") + + click_button "Save changes" + click_link "Edit banner" + + expect(page).to have_link "Français" + expect(page).not_to have_link "English" + expect(page).to have_field "Title", with: "En Français" + end + scenario "Update banner color when changing from color picker or text_field", :js do visit new_admin_banner_path From a38eac02dfe39c7ca5e6ceef968b69f8dde24cde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 11 Oct 2018 02:29:08 +0200 Subject: [PATCH 508/565] Refactor globalize models code using a concern I've chosen the name "Globalizable" because "Translatable" already existed. --- app/models/admin_notification.rb | 3 +-- app/models/banner.rb | 3 +-- app/models/budget/investment/milestone.rb | 3 +-- app/models/concerns/globalizable.rb | 8 ++++++++ app/models/legislation/draft_version.rb | 3 +-- app/models/legislation/process.rb | 3 +-- app/models/legislation/question.rb | 3 +-- app/models/legislation/question_option.rb | 3 +-- app/models/poll.rb | 3 +-- app/models/poll/question.rb | 3 +-- app/models/poll/question/answer.rb | 3 +-- app/models/site_customization/page.rb | 3 +-- app/models/widget/card.rb | 3 +-- 13 files changed, 20 insertions(+), 24 deletions(-) create mode 100644 app/models/concerns/globalizable.rb diff --git a/app/models/admin_notification.rb b/app/models/admin_notification.rb index e53150ace..69c195c17 100644 --- a/app/models/admin_notification.rb +++ b/app/models/admin_notification.rb @@ -3,8 +3,7 @@ class AdminNotification < ActiveRecord::Base translates :title, touch: true translates :body, touch: true - globalize_accessors - accepts_nested_attributes_for :translations, allow_destroy: true + include Globalizable translation_class.instance_eval do validates :title, presence: true diff --git a/app/models/banner.rb b/app/models/banner.rb index 10399211b..1f3757644 100644 --- a/app/models/banner.rb +++ b/app/models/banner.rb @@ -5,8 +5,7 @@ class Banner < ActiveRecord::Base translates :title, touch: true translates :description, touch: true - globalize_accessors - accepts_nested_attributes_for :translations, allow_destroy: true + include Globalizable translation_class.instance_eval do validates :title, presence: true, length: { minimum: 2 } diff --git a/app/models/budget/investment/milestone.rb b/app/models/budget/investment/milestone.rb index 84b312867..c71516446 100644 --- a/app/models/budget/investment/milestone.rb +++ b/app/models/budget/investment/milestone.rb @@ -8,8 +8,7 @@ class Budget accepted_content_types: [ "application/pdf" ] translates :title, :description, touch: true - globalize_accessors - accepts_nested_attributes_for :translations, allow_destroy: true + include Globalizable belongs_to :investment belongs_to :status, class_name: 'Budget::Investment::Status' diff --git a/app/models/concerns/globalizable.rb b/app/models/concerns/globalizable.rb new file mode 100644 index 000000000..39b50f81f --- /dev/null +++ b/app/models/concerns/globalizable.rb @@ -0,0 +1,8 @@ +module Globalizable + extend ActiveSupport::Concern + + included do + globalize_accessors + accepts_nested_attributes_for :translations, allow_destroy: true + end +end diff --git a/app/models/legislation/draft_version.rb b/app/models/legislation/draft_version.rb index 9e8ded1eb..5b594dd7b 100644 --- a/app/models/legislation/draft_version.rb +++ b/app/models/legislation/draft_version.rb @@ -9,8 +9,7 @@ class Legislation::DraftVersion < ActiveRecord::Base translates :body, touch: true translates :body_html, touch: true translates :toc_html, touch: true - globalize_accessors - accepts_nested_attributes_for :translations, allow_destroy: true + include Globalizable belongs_to :process, class_name: 'Legislation::Process', foreign_key: 'legislation_process_id' has_many :annotations, class_name: 'Legislation::Annotation', foreign_key: 'legislation_draft_version_id', dependent: :destroy diff --git a/app/models/legislation/process.rb b/app/models/legislation/process.rb index 9da62403d..51302fbb1 100644 --- a/app/models/legislation/process.rb +++ b/app/models/legislation/process.rb @@ -13,8 +13,7 @@ class Legislation::Process < ActiveRecord::Base translates :summary, touch: true translates :description, touch: true translates :additional_info, touch: true - globalize_accessors - accepts_nested_attributes_for :translations, allow_destroy: true + include Globalizable PHASES_AND_PUBLICATIONS = %i(debate_phase allegations_phase proposals_phase draft_publication result_publication).freeze diff --git a/app/models/legislation/question.rb b/app/models/legislation/question.rb index c98c1e3bd..8d01e4a4f 100644 --- a/app/models/legislation/question.rb +++ b/app/models/legislation/question.rb @@ -4,8 +4,7 @@ class Legislation::Question < ActiveRecord::Base include Notifiable translates :title, touch: true - globalize_accessors - accepts_nested_attributes_for :translations, allow_destroy: true + include Globalizable belongs_to :author, -> { with_hidden }, class_name: 'User', foreign_key: 'author_id' belongs_to :process, class_name: 'Legislation::Process', foreign_key: 'legislation_process_id' diff --git a/app/models/legislation/question_option.rb b/app/models/legislation/question_option.rb index a839d400f..0ca583478 100644 --- a/app/models/legislation/question_option.rb +++ b/app/models/legislation/question_option.rb @@ -3,8 +3,7 @@ class Legislation::QuestionOption < ActiveRecord::Base include ActsAsParanoidAliases translates :value, touch: true - globalize_accessors - accepts_nested_attributes_for :translations, allow_destroy: true + include Globalizable belongs_to :question, class_name: 'Legislation::Question', foreign_key: 'legislation_question_id', inverse_of: :question_options has_many :answers, class_name: 'Legislation::Answer', foreign_key: 'legislation_question_id', dependent: :destroy, inverse_of: :question diff --git a/app/models/poll.rb b/app/models/poll.rb index 8b5dad7dd..6d062a86b 100644 --- a/app/models/poll.rb +++ b/app/models/poll.rb @@ -7,8 +7,7 @@ class Poll < ActiveRecord::Base translates :name, touch: true translates :summary, touch: true translates :description, touch: true - globalize_accessors - accepts_nested_attributes_for :translations, allow_destroy: true + include Globalizable RECOUNT_DURATION = 1.week diff --git a/app/models/poll/question.rb b/app/models/poll/question.rb index e8a3e0dd7..e253aab36 100644 --- a/app/models/poll/question.rb +++ b/app/models/poll/question.rb @@ -6,8 +6,7 @@ class Poll::Question < ActiveRecord::Base include ActsAsParanoidAliases translates :title, touch: true - globalize_accessors - accepts_nested_attributes_for :translations, allow_destroy: true + include Globalizable belongs_to :poll belongs_to :author, -> { with_hidden }, class_name: 'User', foreign_key: 'author_id' diff --git a/app/models/poll/question/answer.rb b/app/models/poll/question/answer.rb index 5fd0e19c7..8faf9a0c5 100644 --- a/app/models/poll/question/answer.rb +++ b/app/models/poll/question/answer.rb @@ -4,8 +4,7 @@ class Poll::Question::Answer < ActiveRecord::Base translates :title, touch: true translates :description, touch: true - globalize_accessors - accepts_nested_attributes_for :translations, allow_destroy: true + include Globalizable documentable max_documents_allowed: 3, max_file_size: 3.megabytes, diff --git a/app/models/site_customization/page.rb b/app/models/site_customization/page.rb index a17345ba0..b0c18c96a 100644 --- a/app/models/site_customization/page.rb +++ b/app/models/site_customization/page.rb @@ -4,8 +4,7 @@ class SiteCustomization::Page < ActiveRecord::Base translates :title, touch: true translates :subtitle, touch: true translates :content, touch: true - globalize_accessors - accepts_nested_attributes_for :translations, allow_destroy: true + include Globalizable translation_class.instance_eval do validates :title, presence: true diff --git a/app/models/widget/card.rb b/app/models/widget/card.rb index 0f8e176a4..4a7733e24 100644 --- a/app/models/widget/card.rb +++ b/app/models/widget/card.rb @@ -8,8 +8,7 @@ class Widget::Card < ActiveRecord::Base translates :title, touch: true translates :description, touch: true translates :link_text, touch: true - globalize_accessors - accepts_nested_attributes_for :translations, allow_destroy: true + include Globalizable def self.header where(header: true) From 937cf0bdd367710960da43d32d3dcb0849b803fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 11 Oct 2018 02:40:09 +0200 Subject: [PATCH 509/565] Validate both the model and its translations This way we guarantee there will be at least one translation for a model and we keep compatibility with the rest of the application, which ideally isn't aware of globalize. --- app/models/admin_notification.rb | 7 ++----- app/models/banner.rb | 6 ++---- app/models/concerns/globalizable.rb | 7 +++++++ app/models/legislation/draft_version.rb | 7 ++----- app/models/legislation/process.rb | 5 +---- app/models/legislation/question.rb | 5 +---- app/models/legislation/question_option.rb | 5 +---- app/models/poll.rb | 5 +---- app/models/poll/question.rb | 5 +---- app/models/poll/question/answer.rb | 5 +---- app/models/site_customization/page.rb | 5 +---- 11 files changed, 20 insertions(+), 42 deletions(-) diff --git a/app/models/admin_notification.rb b/app/models/admin_notification.rb index 69c195c17..6fc3e83e3 100644 --- a/app/models/admin_notification.rb +++ b/app/models/admin_notification.rb @@ -5,11 +5,8 @@ class AdminNotification < ActiveRecord::Base translates :body, touch: true include Globalizable - translation_class.instance_eval do - validates :title, presence: true - validates :body, presence: true - end - + validates_translation :title, presence: true + validates_translation :body, presence: true validates :segment_recipient, presence: true validate :validate_segment_recipient diff --git a/app/models/banner.rb b/app/models/banner.rb index 1f3757644..cc05b3970 100644 --- a/app/models/banner.rb +++ b/app/models/banner.rb @@ -7,10 +7,8 @@ class Banner < ActiveRecord::Base translates :description, touch: true include Globalizable - translation_class.instance_eval do - validates :title, presence: true, length: { minimum: 2 } - validates :description, presence: true - end + validates_translation :title, presence: true, length: { minimum: 2 } + validates_translation :description, presence: true validates :target_url, presence: true validates :post_started_at, presence: true diff --git a/app/models/concerns/globalizable.rb b/app/models/concerns/globalizable.rb index 39b50f81f..b07112dfa 100644 --- a/app/models/concerns/globalizable.rb +++ b/app/models/concerns/globalizable.rb @@ -5,4 +5,11 @@ module Globalizable globalize_accessors accepts_nested_attributes_for :translations, allow_destroy: true end + + class_methods do + def validates_translation(method, options = {}) + validates(method, options.merge(if: lambda { |resource| resource.translations.blank? })) + translation_class.instance_eval { validates method, options } + end + end end diff --git a/app/models/legislation/draft_version.rb b/app/models/legislation/draft_version.rb index 5b594dd7b..fbcac76c3 100644 --- a/app/models/legislation/draft_version.rb +++ b/app/models/legislation/draft_version.rb @@ -14,11 +14,8 @@ class Legislation::DraftVersion < ActiveRecord::Base belongs_to :process, class_name: 'Legislation::Process', foreign_key: 'legislation_process_id' has_many :annotations, class_name: 'Legislation::Annotation', foreign_key: 'legislation_draft_version_id', dependent: :destroy - translation_class.instance_eval do - validates :title, presence: true - validates :body, presence: true - end - + validates_translation :title, presence: true + validates_translation :body, presence: true validates :status, presence: true, inclusion: { in: VALID_STATUSES } scope :published, -> { where(status: 'published').order('id DESC') } diff --git a/app/models/legislation/process.rb b/app/models/legislation/process.rb index 51302fbb1..fcf450245 100644 --- a/app/models/legislation/process.rb +++ b/app/models/legislation/process.rb @@ -24,10 +24,7 @@ class Legislation::Process < ActiveRecord::Base has_many :questions, -> { order(:id) }, class_name: 'Legislation::Question', foreign_key: 'legislation_process_id', dependent: :destroy has_many :proposals, -> { order(:id) }, class_name: 'Legislation::Proposal', foreign_key: 'legislation_process_id', dependent: :destroy - translation_class.instance_eval do - validates :title, presence: true - end - + validates_translation :title, presence: true validates :start_date, presence: true validates :end_date, presence: true validates :debate_start_date, presence: true, if: :debate_end_date? diff --git a/app/models/legislation/question.rb b/app/models/legislation/question.rb index 8d01e4a4f..f464920af 100644 --- a/app/models/legislation/question.rb +++ b/app/models/legislation/question.rb @@ -17,10 +17,7 @@ class Legislation::Question < ActiveRecord::Base accepts_nested_attributes_for :question_options, reject_if: proc { |attributes| attributes.all? { |k, v| v.blank? } }, allow_destroy: true validates :process, presence: true - - translation_class.instance_eval do - validates :title, presence: true - end + validates_translation :title, presence: true scope :sorted, -> { order('id ASC') } diff --git a/app/models/legislation/question_option.rb b/app/models/legislation/question_option.rb index 0ca583478..a02d41554 100644 --- a/app/models/legislation/question_option.rb +++ b/app/models/legislation/question_option.rb @@ -9,8 +9,5 @@ class Legislation::QuestionOption < ActiveRecord::Base has_many :answers, class_name: 'Legislation::Answer', foreign_key: 'legislation_question_id', dependent: :destroy, inverse_of: :question validates :question, presence: true - - translation_class.instance_eval do - validates :value, presence: true # TODO: add uniqueness again - end + validates_translation :value, presence: true # TODO: add uniqueness again end diff --git a/app/models/poll.rb b/app/models/poll.rb index 6d062a86b..38c1a7d56 100644 --- a/app/models/poll.rb +++ b/app/models/poll.rb @@ -24,10 +24,7 @@ class Poll < ActiveRecord::Base has_and_belongs_to_many :geozones belongs_to :author, -> { with_hidden }, class_name: 'User', foreign_key: 'author_id' - translation_class.instance_eval do - validates :name, presence: true - end - + validates_translation :name, presence: true validate :date_range scope :current, -> { where('starts_at <= ? and ? <= ends_at', Date.current.beginning_of_day, Date.current.beginning_of_day) } diff --git a/app/models/poll/question.rb b/app/models/poll/question.rb index e253aab36..4f8988caa 100644 --- a/app/models/poll/question.rb +++ b/app/models/poll/question.rb @@ -17,10 +17,7 @@ class Poll::Question < ActiveRecord::Base has_many :partial_results belongs_to :proposal - translation_class.instance_eval do - validates :title, presence: true, length: { minimum: 4 } - end - + validates_translation :title, presence: true, length: { minimum: 4 } validates :author, presence: true validates :poll_id, presence: true diff --git a/app/models/poll/question/answer.rb b/app/models/poll/question/answer.rb index 8faf9a0c5..f3bd4297f 100644 --- a/app/models/poll/question/answer.rb +++ b/app/models/poll/question/answer.rb @@ -14,10 +14,7 @@ class Poll::Question::Answer < ActiveRecord::Base belongs_to :question, class_name: 'Poll::Question', foreign_key: 'question_id' has_many :videos, class_name: 'Poll::Question::Answer::Video' - translation_class.instance_eval do - validates :title, presence: true - end - + validates_translation :title, presence: true validates :given_order, presence: true, uniqueness: { scope: :question_id } before_validation :set_order, on: :create diff --git a/app/models/site_customization/page.rb b/app/models/site_customization/page.rb index b0c18c96a..9940e66d9 100644 --- a/app/models/site_customization/page.rb +++ b/app/models/site_customization/page.rb @@ -6,10 +6,7 @@ class SiteCustomization::Page < ActiveRecord::Base translates :content, touch: true include Globalizable - translation_class.instance_eval do - validates :title, presence: true - end - + validates_translation :title, presence: true validates :slug, presence: true, uniqueness: { case_sensitive: false }, format: { with: /\A[0-9a-zA-Z\-_]*\Z/, message: :slug_format } From 362157d56eb0233968c989a3f83a18eca9071826 Mon Sep 17 00:00:00 2001 From: Angel Perez <iAngel.p93@gmail.com> Date: Mon, 30 Jul 2018 11:56:43 -0400 Subject: [PATCH 510/565] Add I18nContent model specs --- app/models/i18n_content.rb | 5 +-- spec/models/i18n_content_spec.rb | 76 ++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+), 3 deletions(-) create mode 100644 spec/models/i18n_content_spec.rb diff --git a/app/models/i18n_content.rb b/app/models/i18n_content.rb index c291e696c..d4ff2cf1e 100644 --- a/app/models/i18n_content.rb +++ b/app/models/i18n_content.rb @@ -1,7 +1,6 @@ class I18nContent < ActiveRecord::Base - - scope :by_key, -> (key){ where(key: key) } - scope :begins_with_key, -> (key){ where("key ILIKE ?", "#{key}?%") } + scope :by_key, ->(key) { where(key: key) } + scope :begins_with_key, ->(key) { where("key ILIKE ?", "#{key}%") } validates :key, uniqueness: true diff --git a/spec/models/i18n_content_spec.rb b/spec/models/i18n_content_spec.rb new file mode 100644 index 000000000..9b71f4b20 --- /dev/null +++ b/spec/models/i18n_content_spec.rb @@ -0,0 +1,76 @@ +require 'rails_helper' + +RSpec.describe I18nContent, type: :model do + let(:i18n_content) { build(:i18n_content) } + + it 'is valid' do + expect(i18n_content).to be_valid + end + + it 'is not valid if key is not unique' do + new_content = create(:i18n_content) + + expect(i18n_content).not_to be_valid + expect(i18n_content.errors.size).to eq(1) + end + + context 'Scopes' do + it 'return one record when #by_key is used' do + content = create(:i18n_content) + key = 'debates.form.debate_title' + debate_title = create(:i18n_content, key: key) + + expect(I18nContent.all.size).to eq(2) + + query = I18nContent.by_key(key) + + expect(query.size).to eq(1) + expect(query).to eq([debate_title]) + end + + it 'return all matching records when #begins_with_key is used' do + debate_translation = create(:i18n_content) + debate_title = create(:i18n_content, key: 'debates.form.debate_title') + proposal_title = create(:i18n_content, key: 'proposals.form.proposal_title') + + expect(I18nContent.all.size).to eq(3) + + query = I18nContent.begins_with_key('debates') + + expect(query.size).to eq(2) + expect(query).to eq([debate_translation, debate_title]) + expect(query).not_to include(proposal_title) + end + end + + context 'Globalize' do + it 'translates key into multiple languages' do + key = 'devise_views.mailer.confirmation_instructions.welcome' + welcome = build(:i18n_content, key: key, value_en: 'Welcome', value_es: 'Bienvenido') + + expect(welcome.value_en).to eq('Welcome') + expect(welcome.value_es).to eq('Bienvenido') + end + + it 'responds to locales defined on model' do + expect(i18n_content).to respond_to(:value_en) + expect(i18n_content).to respond_to(:value_es) + expect(i18n_content).not_to respond_to(:value_de) + end + + it 'returns nil if translations are not available' do + expect(i18n_content.value_en).to eq('Text in english') + expect(i18n_content.value_es).to eq('Texto en español') + expect(i18n_content.value_nl).to be(nil) + expect(i18n_content.value_fr).to be(nil) + end + + it 'responds accordingly to the current locale' do + expect(i18n_content.value).to eq('Text in english') + + Globalize.locale = :es + + expect(i18n_content.value).to eq('Texto en español') + end + end +end From 9b19a4e95616cc8229be9fa475d0cc1e216aa2c6 Mon Sep 17 00:00:00 2001 From: Angel Perez <iAngel.p93@gmail.com> Date: Tue, 31 Jul 2018 13:54:18 -0400 Subject: [PATCH 511/565] Extract translation logic to helper method --- app/helpers/site_customization_helper.rb | 13 +++++++++++++ .../information_texts/_form_field.html.erb | 11 +---------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/app/helpers/site_customization_helper.rb b/app/helpers/site_customization_helper.rb index 8b6fccb31..a8f01038a 100644 --- a/app/helpers/site_customization_helper.rb +++ b/app/helpers/site_customization_helper.rb @@ -7,6 +7,19 @@ module SiteCustomizationHelper site_customization_enable_translation?(locale) ? "" : "display: none;" end + def translation_for_locale(content, locale) + i18n_content = I18nContent.where(key: content.key).first + + if i18n_content.present? + I18nContentTranslation.where( + i18n_content_id: i18n_content.id, + locale: locale + ).first.try(:value) + else + false + end + end + def merge_translatable_field_options(options, locale) options.merge( class: "#{options[:class]} js-globalize-attribute".strip, diff --git a/app/views/admin/site_customization/information_texts/_form_field.html.erb b/app/views/admin/site_customization/information_texts/_form_field.html.erb index 11dc02b20..3c5ae9b5c 100644 --- a/app/views/admin/site_customization/information_texts/_form_field.html.erb +++ b/app/views/admin/site_customization/information_texts/_form_field.html.erb @@ -1,15 +1,6 @@ <% globalize(locale) do %> - - <% i18n_content = I18nContent.where(key: content.key).first %> - <% if i18n_content.present? %> - <% i18n_content_translation = I18nContentTranslation.where(i18n_content_id: i18n_content.id, locale: locale).first.try(:value) %> - <% else %> - <% i18n_content_translation = false %> - <% end %> - <%= hidden_field_tag "contents[content_#{content.key}][id]", content.key %> <%= text_area_tag "contents[content_#{content.key}]values[value_#{locale}]", - i18n_content_translation || - t(content.key, locale: locale), + translation_for_locale(content, locale) || t(content.key, locale: locale), merge_translatable_field_options({rows: 5}, locale) %> <% end %> From ff6e8c9bcb922c7e4e2292e4da482aafeb6d8814 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ra=C3=BAl=20Fuentes?= <raul.fuentes@m2c.es> Date: Thu, 9 Aug 2018 11:15:21 +0200 Subject: [PATCH 512/565] Move flat_hash to I18nContent model also add unit tests for this function and a description into the model of the behaviour of the function --- .../information_texts_controller.rb | 14 +++----- app/models/i18n_content.rb | 31 ++++++++++++++++++ spec/models/i18n_content_spec.rb | 32 +++++++++++++++++++ 3 files changed, 67 insertions(+), 10 deletions(-) diff --git a/app/controllers/admin/site_customization/information_texts_controller.rb b/app/controllers/admin/site_customization/information_texts_controller.rb index 32483d5ed..292c6e8be 100644 --- a/app/controllers/admin/site_customization/information_texts_controller.rb +++ b/app/controllers/admin/site_customization/information_texts_controller.rb @@ -66,17 +66,11 @@ class Admin::SiteCustomization::InformationTextsController < Admin::SiteCustomiz translations = I18n.backend.send(:translations)[locale.to_sym] translations.each do |k, v| - @content[k.to_s] = flat_hash(v).keys - .map { |s| @existing_keys["#{k.to_s}.#{s}"].nil? ? - I18nContent.new(key: "#{k.to_s}.#{s}") : - @existing_keys["#{k.to_s}.#{s}"] } + @content[k.to_s] = I18nContent.flat_hash(v).keys + .map { |s| @existing_keys["#{k.to_s}.#{s}"].nil? ? + I18nContent.new(key: "#{k.to_s}.#{s}") : + @existing_keys["#{k.to_s}.#{s}"] } end end - def flat_hash(h, f = nil, g = {}) - return g.update({ f => h }) unless h.is_a? Hash - h.each { |k, r| flat_hash(r, [f,k].compact.join('.'), g) } - return g - end - end diff --git a/app/models/i18n_content.rb b/app/models/i18n_content.rb index d4ff2cf1e..f0bd292de 100644 --- a/app/models/i18n_content.rb +++ b/app/models/i18n_content.rb @@ -7,4 +7,35 @@ class I18nContent < ActiveRecord::Base translates :value, touch: true globalize_accessors locales: [:en, :es, :fr, :nl] + # flat_hash function returns a flattened hash, a hash of a single + # level of profundity in which each key is composed from the + # keys of the original hash (whose value is not a hash) by + # typing in the key the route from the first level of the + # original hash + # + # examples + # hash = {'key1' => 'value1', + # 'key2' => {'key3' => 'value2', + # 'key4' => {'key5' => 'value3'}}} + # + # I18nContent.flat_hash(hash) = {"key1"=>"value1", + # "key2.key3"=>"value2", + # "key2.key4.key5"=>"value3"} + # + # I18nContent.flat_hash(hash, 'string') = {"string.key1"=>"value1", + # "string.key2.key3"=>"value2", + # "string.key2.key4.key5"=>"value3"} + # + # I18nContent.flat_hash(hash, 'string', {'key6' => "value4"}) = + # {'key6' => "value4", + # "string.key1"=>"value1", + # "string.key2.key3"=>"value2", + # "string.key2.key4.key5"=>"value3"} + + def self.flat_hash(h, f = nil, g = {}) + return g.update({ f => h }) unless h.is_a? Hash + h.each { |k, r| flat_hash(r, [f,k].compact.join('.'), g) } + return g + end + end diff --git a/spec/models/i18n_content_spec.rb b/spec/models/i18n_content_spec.rb index 9b71f4b20..cc6ea19b8 100644 --- a/spec/models/i18n_content_spec.rb +++ b/spec/models/i18n_content_spec.rb @@ -73,4 +73,36 @@ RSpec.describe I18nContent, type: :model do expect(i18n_content.value).to eq('Texto en español') end end + + context 'flat_hash' do + + it 'using one parameter' do + expect(I18nContent.flat_hash(nil)).to eq({nil=>nil}) + expect(I18nContent.flat_hash('string')).to eq({nil=>'string'}) + expect(I18nContent.flat_hash({w: 'string'})).to eq({"w" => 'string'}) + expect(I18nContent.flat_hash({w: {p: 'string'}})).to eq({"w.p" => 'string'}) + end + + it 'using the two first parameters' do + expect(I18nContent.flat_hash('string', 'f')).to eq({'f'=>'string'}) + expect(I18nContent.flat_hash(nil, 'f')).to eq({"f" => nil}) + expect(I18nContent.flat_hash({w: 'string'}, 'f')).to eq({"f.w" => 'string'}) + expect(I18nContent.flat_hash({w: {p: 'string'}}, 'f')).to eq({"f.w.p" => 'string'}) + end + + it 'using the first and last parameters' do + expect {I18nContent.flat_hash('string', nil, 'not hash')}.to raise_error NoMethodError + expect(I18nContent.flat_hash(nil, nil, {q: 'other string'})).to eq({q: 'other string', nil => nil}) + expect(I18nContent.flat_hash({w: 'string'}, nil, {q: 'other string'})).to eq({q: 'other string', "w" => 'string'}) + expect(I18nContent.flat_hash({w: {p: 'string'}}, nil, {q: 'other string'})).to eq({q: 'other string', "w.p" => 'string'}) + end + + it 'using all parameters' do + expect {I18nContent.flat_hash('string', 'f', 'not hash')}.to raise_error NoMethodError + expect(I18nContent.flat_hash(nil, 'f', {q: 'other string'})).to eq({q: 'other string', "f" => nil}) + expect(I18nContent.flat_hash({w: 'string'}, 'f', {q: 'other string'})).to eq({q: 'other string', "f.w" => 'string'}) + expect(I18nContent.flat_hash({w: {p: 'string'}}, 'f', {q: 'other string'})).to eq({q: 'other string', "f.w.p" => 'string'}) + end + + end end From 64dbf55d558345ab07b25df564b53820538c9f5f Mon Sep 17 00:00:00 2001 From: Angel Perez <iAngel.p93@gmail.com> Date: Thu, 9 Aug 2018 13:28:00 -0400 Subject: [PATCH 513/565] Fix Rubocop warnings [ci skip] --- .../information_texts_controller.rb | 17 ++-- app/models/i18n_content.rb | 50 +++++----- spec/models/i18n_content_spec.rb | 92 ++++++++++++++----- 3 files changed, 108 insertions(+), 51 deletions(-) diff --git a/app/controllers/admin/site_customization/information_texts_controller.rb b/app/controllers/admin/site_customization/information_texts_controller.rb index 292c6e8be..f5908571f 100644 --- a/app/controllers/admin/site_customization/information_texts_controller.rb +++ b/app/controllers/admin/site_customization/information_texts_controller.rb @@ -13,7 +13,7 @@ class Admin::SiteCustomization::InformationTextsController < Admin::SiteCustomiz unless values.empty? values.each do |key, value| - locale = key.split("_").last + locale = key.split('_').last if value == t(content[:id], locale: locale) || value.match(/translation missing/) next @@ -44,6 +44,7 @@ class Admin::SiteCustomization::InformationTextsController < Admin::SiteCustomiz def delete_translations languages_to_delete = params[:enabled_translations].select { |_, v| v == '0' } .keys + languages_to_delete.each do |locale| I18nContentTranslation.destroy_all(locale: locale) end @@ -53,9 +54,9 @@ class Admin::SiteCustomization::InformationTextsController < Admin::SiteCustomiz @existing_keys = {} @tab = params[:tab] || :debates - I18nContent.begins_with_key(@tab) - .all - .map{ |content| @existing_keys[content.key] = content } + I18nContent.begins_with_key(@tab).map { |content| + @existing_keys[content.key] = content + } end def append_or_create_keys @@ -66,10 +67,10 @@ class Admin::SiteCustomization::InformationTextsController < Admin::SiteCustomiz translations = I18n.backend.send(:translations)[locale.to_sym] translations.each do |k, v| - @content[k.to_s] = I18nContent.flat_hash(v).keys - .map { |s| @existing_keys["#{k.to_s}.#{s}"].nil? ? - I18nContent.new(key: "#{k.to_s}.#{s}") : - @existing_keys["#{k.to_s}.#{s}"] } + @content[k.to_s] = I18nContent.flat_hash(v).keys.map { |s| + @existing_keys["#{k.to_s}.#{s}"].nil? ? I18nContent.new(key: "#{k.to_s}.#{s}") : + @existing_keys["#{k.to_s}.#{s}"] + } end end diff --git a/app/models/i18n_content.rb b/app/models/i18n_content.rb index f0bd292de..c018cf4dc 100644 --- a/app/models/i18n_content.rb +++ b/app/models/i18n_content.rb @@ -1,4 +1,5 @@ class I18nContent < ActiveRecord::Base + scope :by_key, ->(key) { where(key: key) } scope :begins_with_key, ->(key) { where("key ILIKE ?", "#{key}%") } @@ -7,34 +8,41 @@ class I18nContent < ActiveRecord::Base translates :value, touch: true globalize_accessors locales: [:en, :es, :fr, :nl] - # flat_hash function returns a flattened hash, a hash of a single - # level of profundity in which each key is composed from the - # keys of the original hash (whose value is not a hash) by - # typing in the key the route from the first level of the - # original hash + # flat_hash returns a flattened hash, a hash with a single level of + # depth in which each key is composed from the keys of the original + # hash (whose value is not a hash) by typing in the key of the route + # from the first level of the original hash # - # examples - # hash = {'key1' => 'value1', - # 'key2' => {'key3' => 'value2', - # 'key4' => {'key5' => 'value3'}}} + # Examples: # - # I18nContent.flat_hash(hash) = {"key1"=>"value1", - # "key2.key3"=>"value2", - # "key2.key4.key5"=>"value3"} + # hash = { + # 'key1' => 'value1', + # 'key2' => { 'key3' => 'value2', + # 'key4' => { 'key5' => 'value3' } } + # } # - # I18nContent.flat_hash(hash, 'string') = {"string.key1"=>"value1", - # "string.key2.key3"=>"value2", - # "string.key2.key4.key5"=>"value3"} + # I18nContent.flat_hash(hash) = { + # 'key1' => 'value1', + # 'key2.key3' => 'value2', + # 'key2.key4.key5' => 'value3' + # } # - # I18nContent.flat_hash(hash, 'string', {'key6' => "value4"}) = - # {'key6' => "value4", - # "string.key1"=>"value1", - # "string.key2.key3"=>"value2", - # "string.key2.key4.key5"=>"value3"} + # I18nContent.flat_hash(hash, 'string') = { + # 'string.key1' => 'value1', + # 'string.key2.key3' => 'value2', + # 'string.key2.key4.key5' => 'value3' + # } + # + # I18nContent.flat_hash(hash, 'string', { 'key6' => 'value4' }) = { + # 'key6' => 'value4', + # 'string.key1' => 'value1', + # 'string.key2.key3' => 'value2', + # 'string.key2.key4.key5' => 'value3' + # } def self.flat_hash(h, f = nil, g = {}) return g.update({ f => h }) unless h.is_a? Hash - h.each { |k, r| flat_hash(r, [f,k].compact.join('.'), g) } + h.map { |k, r| flat_hash(r, [f, k].compact.join('.'), g) } return g end diff --git a/spec/models/i18n_content_spec.rb b/spec/models/i18n_content_spec.rb index cc6ea19b8..61f0d5c35 100644 --- a/spec/models/i18n_content_spec.rb +++ b/spec/models/i18n_content_spec.rb @@ -74,35 +74,83 @@ RSpec.describe I18nContent, type: :model do end end - context 'flat_hash' do + describe '#flat_hash' do + it 'uses one parameter' do + expect(I18nContent.flat_hash(nil)).to eq({ + nil => nil + }) - it 'using one parameter' do - expect(I18nContent.flat_hash(nil)).to eq({nil=>nil}) - expect(I18nContent.flat_hash('string')).to eq({nil=>'string'}) - expect(I18nContent.flat_hash({w: 'string'})).to eq({"w" => 'string'}) - expect(I18nContent.flat_hash({w: {p: 'string'}})).to eq({"w.p" => 'string'}) + expect(I18nContent.flat_hash('string')).to eq({ + nil => 'string' + }) + + expect(I18nContent.flat_hash({ w: 'string' })).to eq({ + 'w' => 'string' + }) + + expect(I18nContent.flat_hash({ w: { p: 'string' } })).to eq({ + 'w.p' => 'string' + }) end - it 'using the two first parameters' do - expect(I18nContent.flat_hash('string', 'f')).to eq({'f'=>'string'}) - expect(I18nContent.flat_hash(nil, 'f')).to eq({"f" => nil}) - expect(I18nContent.flat_hash({w: 'string'}, 'f')).to eq({"f.w" => 'string'}) - expect(I18nContent.flat_hash({w: {p: 'string'}}, 'f')).to eq({"f.w.p" => 'string'}) + it 'uses the first two parameters' do + expect(I18nContent.flat_hash('string', 'f')).to eq({ + 'f' => 'string' + }) + + expect(I18nContent.flat_hash(nil, 'f')).to eq({ + 'f' => nil + }) + + expect(I18nContent.flat_hash({ w: 'string' }, 'f')).to eq({ + 'f.w' => 'string' + }) + + expect(I18nContent.flat_hash({ w: { p: 'string' } }, 'f')).to eq({ + 'f.w.p' => 'string' + }) end - it 'using the first and last parameters' do - expect {I18nContent.flat_hash('string', nil, 'not hash')}.to raise_error NoMethodError - expect(I18nContent.flat_hash(nil, nil, {q: 'other string'})).to eq({q: 'other string', nil => nil}) - expect(I18nContent.flat_hash({w: 'string'}, nil, {q: 'other string'})).to eq({q: 'other string', "w" => 'string'}) - expect(I18nContent.flat_hash({w: {p: 'string'}}, nil, {q: 'other string'})).to eq({q: 'other string', "w.p" => 'string'}) + it 'uses the first and last parameters' do + expect { + I18nContent.flat_hash('string', nil, 'not hash') + }.to raise_error(NoMethodError) + + expect(I18nContent.flat_hash(nil, nil, { q: 'other string' })).to eq({ + q: 'other string', + nil => nil + }) + + expect(I18nContent.flat_hash({ w: 'string' }, nil, { q: 'other string' })).to eq({ + q: 'other string', + 'w' => 'string' + }) + + expect(I18nContent.flat_hash({w: { p: 'string' } }, nil, { q: 'other string' })).to eq({ + q: 'other string', + 'w.p' => 'string' + }) end - it 'using all parameters' do - expect {I18nContent.flat_hash('string', 'f', 'not hash')}.to raise_error NoMethodError - expect(I18nContent.flat_hash(nil, 'f', {q: 'other string'})).to eq({q: 'other string', "f" => nil}) - expect(I18nContent.flat_hash({w: 'string'}, 'f', {q: 'other string'})).to eq({q: 'other string', "f.w" => 'string'}) - expect(I18nContent.flat_hash({w: {p: 'string'}}, 'f', {q: 'other string'})).to eq({q: 'other string', "f.w.p" => 'string'}) - end + it 'uses all parameters' do + expect { + I18nContent.flat_hash('string', 'f', 'not hash') + }.to raise_error NoMethodError + expect(I18nContent.flat_hash(nil, 'f', { q: 'other string' })).to eq({ + q: 'other string', + 'f' => nil + }) + + expect(I18nContent.flat_hash({ w: 'string' }, 'f', { q: 'other string' })).to eq({ + q: 'other string', + 'f.w' => 'string' + }) + + expect(I18nContent.flat_hash({ w: { p: 'string' } }, 'f', { q: 'other string' })).to eq({ + q: 'other string', + 'f.w.p' => 'string' + }) + end end end From 3c033d0ac3493d468b2beaa0c646c8c3266fba3b Mon Sep 17 00:00:00 2001 From: Angel Perez <iAngel.p93@gmail.com> Date: Thu, 16 Aug 2018 11:14:37 -0400 Subject: [PATCH 514/565] Improve readability for I18nContent#begins_with_key spec In order to be consistent with similar specs, the I18nContent#begins_with_key spec was improved by explicitly specifying an I18n key for one (1) factory that relied on its default value --- spec/models/i18n_content_spec.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/spec/models/i18n_content_spec.rb b/spec/models/i18n_content_spec.rb index 61f0d5c35..edf57aec6 100644 --- a/spec/models/i18n_content_spec.rb +++ b/spec/models/i18n_content_spec.rb @@ -29,16 +29,16 @@ RSpec.describe I18nContent, type: :model do end it 'return all matching records when #begins_with_key is used' do - debate_translation = create(:i18n_content) - debate_title = create(:i18n_content, key: 'debates.form.debate_title') - proposal_title = create(:i18n_content, key: 'proposals.form.proposal_title') + debate_text = create(:i18n_content, key: 'debates.form.debate_text') + debate_title = create(:i18n_content, key: 'debates.form.debate_title') + proposal_title = create(:i18n_content, key: 'proposals.form.proposal_title') expect(I18nContent.all.size).to eq(3) query = I18nContent.begins_with_key('debates') expect(query.size).to eq(2) - expect(query).to eq([debate_translation, debate_title]) + expect(query).to eq([debate_text, debate_title]) expect(query).not_to include(proposal_title) end end From ae9cad3c5b1d9bc5b20a198af04d189b8921d6c4 Mon Sep 17 00:00:00 2001 From: Angel Perez <iAngel.p93@gmail.com> Date: Mon, 20 Aug 2018 09:57:39 -0400 Subject: [PATCH 515/565] Avoid ternary operator usage when appending/creating I18n keys When using the OR operator, if the left side of the expression evaluates to false, its right side is taken into consideration. Since in Ruby nil is false, we can avoid using conditionals for this particular scenario --- .../site_customization/information_texts_controller.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/site_customization/information_texts_controller.rb b/app/controllers/admin/site_customization/information_texts_controller.rb index f5908571f..3a5492bcc 100644 --- a/app/controllers/admin/site_customization/information_texts_controller.rb +++ b/app/controllers/admin/site_customization/information_texts_controller.rb @@ -66,10 +66,9 @@ class Admin::SiteCustomization::InformationTextsController < Admin::SiteCustomiz locale = params[:locale] || I18n.locale translations = I18n.backend.send(:translations)[locale.to_sym] - translations.each do |k, v| - @content[k.to_s] = I18nContent.flat_hash(v).keys.map { |s| - @existing_keys["#{k.to_s}.#{s}"].nil? ? I18nContent.new(key: "#{k.to_s}.#{s}") : - @existing_keys["#{k.to_s}.#{s}"] + translations.each do |key, value| + @content[key.to_s] = I18nContent.flat_hash(value).keys.map { |string| + @existing_keys["#{key.to_s}.#{string}"] || I18nContent.new(key: "#{key.to_s}.#{string}") } end end From 4af5e1d46de40924ff734448884d34f3633ec946 Mon Sep 17 00:00:00 2001 From: Angel Perez <iAngel.p93@gmail.com> Date: Mon, 20 Aug 2018 10:43:57 -0400 Subject: [PATCH 516/565] Improve I18nContent#flat_hash readability using concise variable names --- app/models/i18n_content.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/models/i18n_content.rb b/app/models/i18n_content.rb index c018cf4dc..bc7544f6a 100644 --- a/app/models/i18n_content.rb +++ b/app/models/i18n_content.rb @@ -40,10 +40,10 @@ class I18nContent < ActiveRecord::Base # 'string.key2.key4.key5' => 'value3' # } - def self.flat_hash(h, f = nil, g = {}) - return g.update({ f => h }) unless h.is_a? Hash - h.map { |k, r| flat_hash(r, [f, k].compact.join('.'), g) } - return g + def self.flat_hash(input, path = nil, output = {}) + return output.update({ path => input }) unless input.is_a? Hash + input.map { |key, value| flat_hash(value, [path, key].compact.join('.'), output) } + return output end end From 1f033383e55bc44ed738b38ee001963783647cbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 11 Oct 2018 02:06:45 +0200 Subject: [PATCH 517/565] Refactor `globalize_locales` partials to increase DRYness --- .../shared/_common_globalize_locales.html.erb | 27 +++++++++++++++++ .../admin/shared/_globalize_locales.html.erb | 30 ++----------------- .../_globalize_locales.html.erb | 30 ++----------------- 3 files changed, 33 insertions(+), 54 deletions(-) create mode 100644 app/views/admin/shared/_common_globalize_locales.html.erb diff --git a/app/views/admin/shared/_common_globalize_locales.html.erb b/app/views/admin/shared/_common_globalize_locales.html.erb new file mode 100644 index 000000000..d9aac8376 --- /dev/null +++ b/app/views/admin/shared/_common_globalize_locales.html.erb @@ -0,0 +1,27 @@ +<% I18n.available_locales.each do |locale| %> + <%= link_to t("admin.translations.remove_language"), "#", + id: "delete-#{locale}", + style: display_translation_style(resource, locale), + class: 'float-right delete js-delete-language', + data: { locale: locale } %> + +<% end %> + +<ul class="tabs" data-tabs id="globalize_locale"> + <% I18n.available_locales.each do |locale| %> + <li class="tabs-title"> + <%= link_to name_for_locale(locale), "#", + style: display_style.call(locale), + class: "js-globalize-locale-link #{highlight_class(resource, locale)}", + data: { locale: locale }, + remote: true %> + </li> + <% end %> +</ul> + +<div class="small-12 medium-6"> + <%= select_tag :translation_locale, + options_for_locale_select, + prompt: t("admin.translations.add_language"), + class: "js-globalize-locale" %> +</div> diff --git a/app/views/admin/shared/_globalize_locales.html.erb b/app/views/admin/shared/_globalize_locales.html.erb index ccce00524..1dd35e79e 100644 --- a/app/views/admin/shared/_globalize_locales.html.erb +++ b/app/views/admin/shared/_globalize_locales.html.erb @@ -1,27 +1,3 @@ -<% I18n.available_locales.each do |locale| %> - <%= link_to t("admin.translations.remove_language"), "#", - id: "delete-#{locale}", - style: display_translation_style(resource, locale), - class: 'float-right delete js-delete-language', - data: { locale: locale } %> - -<% end %> - -<ul class="tabs" data-tabs id="globalize_locale"> - <% I18n.available_locales.each do |locale| %> - <li class="tabs-title"> - <%= link_to name_for_locale(locale), "#", - style: enable_translation_style(resource, locale), - class: "js-globalize-locale-link #{highlight_class(resource, locale)}", - data: { locale: locale }, - remote: true %> - </li> - <% end %> -</ul> - -<div class="small-12 medium-6"> - <%= select_tag :translation_locale, - options_for_locale_select, - prompt: t("admin.translations.add_language"), - class: "js-globalize-locale" %> -</div> +<%= render "admin/shared/common_globalize_locales", + resource: resource, + display_style: lambda { |locale| enable_translation_style(resource, locale) } %> diff --git a/app/views/admin/site_customization/information_texts/_globalize_locales.html.erb b/app/views/admin/site_customization/information_texts/_globalize_locales.html.erb index 722e34d13..ebb900379 100644 --- a/app/views/admin/site_customization/information_texts/_globalize_locales.html.erb +++ b/app/views/admin/site_customization/information_texts/_globalize_locales.html.erb @@ -1,27 +1,3 @@ -<% I18n.available_locales.each do |locale| %> - <%= link_to t("admin.translations.remove_language"), "#", - id: "delete-#{locale}", - style: site_customization_display_translation_style(locale), - class: 'float-right delete js-delete-language', - data: { locale: locale } %> - -<% end %> - -<ul class="tabs" data-tabs id="globalize_locale"> - <% I18n.available_locales.each do |locale| %> - <li class="tabs-title"> - <%= link_to name_for_locale(locale), "#", - style: site_customization_display_translation_style(locale), - class: "js-globalize-locale-link #{highlight_class(nil, locale)}", - data: { locale: locale }, - remote: true %> - </li> - <% end %> -</ul> - -<div class="small-12 medium-6"> - <%= select_tag :translation_locale, - options_for_locale_select, - prompt: t("admin.translations.add_language"), - class: "js-globalize-locale" %> -</div> +<%= render "admin/shared/common_globalize_locales", + resource: nil, + display_style: lambda { |locale| site_customization_display_translation_style(locale) } %> From 87484015dab898d8a1ba7bce16768687271a2bbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 11 Oct 2018 10:55:23 +0200 Subject: [PATCH 518/565] Update information texts translatable fields This part used the code we deleted in order to make it easier to refactor the rest of the translatable models. Now we add the code back. --- app/assets/javascripts/globalize.js.coffee | 5 +++++ .../information_texts_controller.rb | 15 +++++++++++++-- app/controllers/concerns/translatable.rb | 6 ------ app/helpers/site_customization_helper.rb | 8 -------- app/models/i18n_content.rb | 2 +- .../information_texts/_form_field.html.erb | 5 ++++- spec/shared/features/translatable.rb | 6 +++++- 7 files changed, 28 insertions(+), 19 deletions(-) diff --git a/app/assets/javascripts/globalize.js.coffee b/app/assets/javascripts/globalize.js.coffee index 06b1722f5..01ea9ec61 100644 --- a/app/assets/javascripts/globalize.js.coffee +++ b/app/assets/javascripts/globalize.js.coffee @@ -35,9 +35,11 @@ App.Globalize = enable_locale: (locale) -> App.Globalize.destroy_locale_field(locale).val(false) + App.Globalize.site_customization_enable_locale_field(locale).val(1) disable_locale: (locale) -> App.Globalize.destroy_locale_field(locale).val(true) + App.Globalize.site_customization_enable_locale_field(locale).val(0) enabled_locales: -> $.map( @@ -48,6 +50,9 @@ App.Globalize = destroy_locale_field: (locale) -> $(".destroy_locale[data-locale=" + locale + "]") + site_customization_enable_locale_field: (locale) -> + $("#enabled_translations_" + locale) + refresh_visible_translations: -> locale = $('.js-globalize-locale-link.is-active').data("locale") App.Globalize.display_translations(locale) diff --git a/app/controllers/admin/site_customization/information_texts_controller.rb b/app/controllers/admin/site_customization/information_texts_controller.rb index 3a5492bcc..4706dfd08 100644 --- a/app/controllers/admin/site_customization/information_texts_controller.rb +++ b/app/controllers/admin/site_customization/information_texts_controller.rb @@ -1,5 +1,5 @@ class Admin::SiteCustomization::InformationTextsController < Admin::SiteCustomization::BaseController - include Translatable + before_action :delete_translations, only: [:update] def index fetch_existing_keys @@ -9,7 +9,7 @@ class Admin::SiteCustomization::InformationTextsController < Admin::SiteCustomiz def update content_params.each do |content| - values = content[:values].slice(*translation_params(I18nContent)) + values = content[:values].slice(*translation_params) unless values.empty? values.each do |key, value| @@ -73,4 +73,15 @@ class Admin::SiteCustomization::InformationTextsController < Admin::SiteCustomiz end end + def translation_params + I18nContent.translated_attribute_names.product(enabled_translations).map do |attr_name, loc| + I18nContent.localized_attr_name_for(attr_name, loc) + end + end + + def enabled_translations + params.fetch(:enabled_translations, {}) + .select { |_, v| v == '1' } + .keys + end end diff --git a/app/controllers/concerns/translatable.rb b/app/controllers/concerns/translatable.rb index 272a97e99..94cdcaaab 100644 --- a/app/controllers/concerns/translatable.rb +++ b/app/controllers/concerns/translatable.rb @@ -9,10 +9,4 @@ module Translatable resource_model.translated_attribute_names } end - - def enabled_translations - params.fetch(:enabled_translations, {}) - .select { |_, v| v == '1' } - .keys - end end diff --git a/app/helpers/site_customization_helper.rb b/app/helpers/site_customization_helper.rb index a8f01038a..14dfe1262 100644 --- a/app/helpers/site_customization_helper.rb +++ b/app/helpers/site_customization_helper.rb @@ -19,12 +19,4 @@ module SiteCustomizationHelper false end end - - def merge_translatable_field_options(options, locale) - options.merge( - class: "#{options[:class]} js-globalize-attribute".strip, - style: "#{options[:style]} #{site_customization_display_translation_style(locale)}".strip, - data: (options[:data] || {}).merge(locale: locale) - ) - end end diff --git a/app/models/i18n_content.rb b/app/models/i18n_content.rb index bc7544f6a..d3b5f4858 100644 --- a/app/models/i18n_content.rb +++ b/app/models/i18n_content.rb @@ -6,7 +6,7 @@ class I18nContent < ActiveRecord::Base validates :key, uniqueness: true translates :value, touch: true - globalize_accessors locales: [:en, :es, :fr, :nl] + globalize_accessors # flat_hash returns a flattened hash, a hash with a single level of # depth in which each key is composed from the keys of the original diff --git a/app/views/admin/site_customization/information_texts/_form_field.html.erb b/app/views/admin/site_customization/information_texts/_form_field.html.erb index 3c5ae9b5c..799a76b6e 100644 --- a/app/views/admin/site_customization/information_texts/_form_field.html.erb +++ b/app/views/admin/site_customization/information_texts/_form_field.html.erb @@ -2,5 +2,8 @@ <%= hidden_field_tag "contents[content_#{content.key}][id]", content.key %> <%= text_area_tag "contents[content_#{content.key}]values[value_#{locale}]", translation_for_locale(content, locale) || t(content.key, locale: locale), - merge_translatable_field_options({rows: 5}, locale) %> + rows: 5, + class: "js-globalize-attribute", + style: site_customization_display_translation_style(locale), + data: { locale: locale } %> <% end %> diff --git a/spec/shared/features/translatable.rb b/spec/shared/features/translatable.rb index 81c034aeb..f23b037a3 100644 --- a/spec/shared/features/translatable.rb +++ b/spec/shared/features/translatable.rb @@ -268,7 +268,11 @@ end def expect_page_to_have_translatable_field(field, locale, with:) if input_fields.include?(field) - expect(page).to have_field field_for(field, locale), with: with + if translatable_class.name == "I18nContent" && with.blank? + expect(page).to have_field field_for(field, locale) + else + expect(page).to have_field field_for(field, locale), with: with + end else textarea_type = textarea_fields[field] From a48db19c05ca8df593d6ccae6dc0fb2e9035f9a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 11 Oct 2018 11:09:38 +0200 Subject: [PATCH 519/565] Show error message for just the displayed locale Unfortunately the builder didn't offer any options for the error message and we just had to overwrite the `error_for` methods. --- app/helpers/translatable_form_helper.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 77568fcb6..14d746a4f 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -77,6 +77,16 @@ module TranslatableFormHelper @template.display_translation_style(@object.globalized_model, locale) end + def error_for(attribute, options = {}) + final_options = translations_options(options).merge(class: "error js-globalize-attribute") + + return unless has_error?(attribute) + + error_messages = object.errors[attribute].join(', ') + error_messages = error_messages.html_safe if options[:html_safe_errors] + content_tag(:small, error_messages, final_options) + end + private def help_text(text) if text From 2658bb55f6725a5d83bf02df96bb6f75949327cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 11 Oct 2018 12:03:08 +0200 Subject: [PATCH 520/565] Wrap translation fields in a div This way we can show/hide that div when displaying translations, and we can remove the duplication applying the same logic to the label, the input, the error and the CKEditor. This way we also solve the problem of the textarea of the CKEditor taking space when we switch locales, as well as CKEditor itself taking space even when not displayed. --- app/helpers/translatable_form_helper.rb | 74 ++++++------------- .../legislation/draft_versions/_form.html.erb | 8 +- .../admin/legislation/questions_spec.rb | 11 +-- spec/shared/features/translatable.rb | 6 +- 4 files changed, 35 insertions(+), 64 deletions(-) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 14d746a4f..decab4dd7 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -10,14 +10,16 @@ module TranslatableFormHelper @object.globalize_locales.map do |locale| Globalize.with_locale(locale) do fields_for(:translations, translation_for(locale), builder: TranslationsFieldsBuilder) do |translations_form| - @template.concat translations_form.hidden_field( - :_destroy, - class: "destroy_locale", - data: { locale: locale }) + @template.content_tag :div, translations_options(translations_form.object, locale) do + @template.concat translations_form.hidden_field( + :_destroy, + class: "destroy_locale", + data: { locale: locale }) - @template.concat translations_form.hidden_field(:locale, value: locale) + @template.concat translations_form.hidden_field(:locale, value: locale) - yield translations_form + yield translations_form + end end end end.join.html_safe @@ -38,27 +40,24 @@ module TranslatableFormHelper translation.mark_for_destruction unless locale == I18n.locale end end + + private + + def translations_options(resource, locale) + { + class: " js-globalize-attribute", + style: @template.display_translation_style(resource.globalized_model, locale), + data: { locale: locale } + } + end end class TranslationsFieldsBuilder < FoundationRailsHelper::FormBuilder %i[text_field text_area cktext_area].each do |field| define_method field do |attribute, options = {}| - final_options = translations_options(options) - - label_help_text_and_field = - custom_label(attribute, final_options[:label], final_options[:label_options]) + - help_text(final_options[:hint]) + - super(attribute, final_options.merge(label: false, hint: false)) - - if field == :cktext_area - content_tag :div, - label_help_text_and_field, - class: "js-globalize-attribute", - style: display_style, - data: { locale: locale } - else - label_help_text_and_field - end + custom_label(attribute, options[:label], options[:label_options]) + + help_text(options[:hint]) + + super(attribute, options.merge(label: false, hint: false)) end end @@ -67,44 +66,17 @@ module TranslatableFormHelper end def label(attribute, text = nil, options = {}) - label_options = translations_options(options) + label_options = options.dup hint = label_options.delete(:hint) super(attribute, text, label_options) + help_text(hint) end - def display_style - @template.display_translation_style(@object.globalized_model, locale) - end - - def error_for(attribute, options = {}) - final_options = translations_options(options).merge(class: "error js-globalize-attribute") - - return unless has_error?(attribute) - - error_messages = object.errors[attribute].join(', ') - error_messages = error_messages.html_safe if options[:html_safe_errors] - content_tag(:small, error_messages, final_options) - end - private def help_text(text) if text - content_tag :span, text, - class: "help-text js-globalize-attribute", - data: { locale: locale }, - style: display_style - else - "" + content_tag :span, text, class: "help-text" end end - - def translations_options(options) - options.merge( - class: "#{options[:class]} js-globalize-attribute".strip, - style: "#{options[:style]} #{display_style}".strip, - data: (options[:data] || {}).merge(locale: locale) - ) - end end end diff --git a/app/views/admin/legislation/draft_versions/_form.html.erb b/app/views/admin/legislation/draft_versions/_form.html.erb index 417a303fe..93e955a0b 100644 --- a/app/views/admin/legislation/draft_versions/_form.html.erb +++ b/app/views/admin/legislation/draft_versions/_form.html.erb @@ -32,11 +32,7 @@ <%= translations_form.label :body, nil, hint: t("admin.legislation.draft_versions.form.use_markdown") %> </div> - <%= content_tag :div, - class: "markdown-editor clear js-globalize-attribute", - data: { locale: translations_form.locale }, - style: translations_form.display_style do %> - + <div class="markdown-editor"> <div class="small-12 medium-8 column fullscreen-container"> <div class="markdown-editor-header truncate"> <%= t("admin.legislation.draft_versions.form.title_html", @@ -66,7 +62,7 @@ <div class="small-12 medium-6 column markdown-preview"> </div> - <% end %> + </div> <% end %> <div class="small-12 medium-9 column"> diff --git a/spec/features/admin/legislation/questions_spec.rb b/spec/features/admin/legislation/questions_spec.rb index c4f390fa0..fa48b7e4f 100644 --- a/spec/features/admin/legislation/questions_spec.rb +++ b/spec/features/admin/legislation/questions_spec.rb @@ -127,12 +127,13 @@ feature 'Admin legislation questions' do edit_admin_legislation_process_question_path(question.process, question) end - let(:field_en) do - page.all("[data-locale='en'][id^='legislation_question_question_options'][id$='value']").first - end + let(:field_en) { field_for(:en) } + let(:field_es) { field_for(:es) } - let(:field_es) do - page.all("[data-locale='es'][id^='legislation_question_question_options'][id$='value']").first + def field_for(locale) + within(page.all(".translatable_fields[data-locale='#{locale}']").last) do + page.first("[id^='legislation_question_question_option'][id$='value']") + end end scenario 'Add translation for question option', :js do diff --git a/spec/shared/features/translatable.rb b/spec/shared/features/translatable.rb index f23b037a3..ba5f5f2d5 100644 --- a/spec/shared/features/translatable.rb +++ b/spec/shared/features/translatable.rb @@ -244,7 +244,9 @@ def field_for(field, locale, visible: true) if translatable_class.name == "I18nContent" "contents_content_#{translatable.key}values_#{field}_#{locale}" else - find("[data-locale='#{locale}'][id$='_#{field}']", visible: visible)[:id] + within(".translatable_fields[data-locale='#{locale}']") do + find("input[id$='_#{field}'], textarea[id$='_#{field}']", visible: visible)[:id] + end end end @@ -281,7 +283,7 @@ def expect_page_to_have_translatable_field(field, locale, with:) expect(page).to have_field field_for(field, locale), with: with click_link class: "fullscreen-toggle" elsif textarea_type == :ckeditor - within(".ckeditor div.js-globalize-attribute[data-locale='#{locale}']") do + within("div.js-globalize-attribute[data-locale='#{locale}'] .ckeditor ") do within_frame(0) { expect(page).to have_content with } end end From 28ed6aa1363ab456b07e780aa222080d3f73e482 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 11 Oct 2018 12:03:35 +0200 Subject: [PATCH 521/565] Make private methods private --- app/helpers/translatable_form_helper.rb | 32 ++++++++++++------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index decab4dd7..e07b71435 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -25,24 +25,24 @@ module TranslatableFormHelper end.join.html_safe end - def translation_for(locale) - existing_translation_for(locale) || new_translation_for(locale) - end - - def existing_translation_for(locale) - # Use `select` because `where` uses the database and so ignores - # the `params` sent by the browser - @object.translations.select { |translation| translation.locale == locale }.first - end - - def new_translation_for(locale) - @object.translations.new(locale: locale).tap do |translation| - translation.mark_for_destruction unless locale == I18n.locale - end - end - private + def translation_for(locale) + existing_translation_for(locale) || new_translation_for(locale) + end + + def existing_translation_for(locale) + # Use `select` because `where` uses the database and so ignores + # the `params` sent by the browser + @object.translations.select { |translation| translation.locale == locale }.first + end + + def new_translation_for(locale) + @object.translations.new(locale: locale).tap do |translation| + translation.mark_for_destruction unless locale == I18n.locale + end + end + def translations_options(resource, locale) { class: " js-globalize-attribute", From 7b9b65043f9ff252e191d6b08cf6829cc82dde2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 11 Oct 2018 12:05:10 +0200 Subject: [PATCH 522/565] Fix ambiguous field in test --- app/helpers/translatable_form_helper.rb | 2 +- spec/features/admin/widgets/cards_spec.rb | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index e07b71435..977c73628 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -45,7 +45,7 @@ module TranslatableFormHelper def translations_options(resource, locale) { - class: " js-globalize-attribute", + class: "translatable_fields js-globalize-attribute", style: @template.display_translation_style(resource.globalized_model, locale), data: { locale: locale } } diff --git a/spec/features/admin/widgets/cards_spec.rb b/spec/features/admin/widgets/cards_spec.rb index b8b29887f..3b67caab1 100644 --- a/spec/features/admin/widgets/cards_spec.rb +++ b/spec/features/admin/widgets/cards_spec.rb @@ -64,10 +64,13 @@ feature 'Cards' do click_link "Edit" end - fill_in "Label (optional)", with: "Card label updated" - fill_in "Title", with: "Card text updated" - fill_in "Description", with: "Card description updated" - fill_in "Link text", with: "Link text updated" + within(".translatable_fields") do + fill_in "Label (optional)", with: "Card label updated" + fill_in "Title", with: "Card text updated" + fill_in "Description", with: "Card description updated" + fill_in "Link text", with: "Link text updated" + end + fill_in "widget_card_link_url", with: "consul.dev updated" click_button "Save card" From 01ed66e9bbc5633b751e7a8fdd3cf25c88f010a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 15 Oct 2018 13:05:55 +0200 Subject: [PATCH 523/565] Fix alignment in last translatable fields When we grouped the fields together, the last one turned into a `last-child`, which foundation automatically aligns to the right. The markdown editor also needed to be tweaked a little bit. --- app/views/admin/legislation/draft_versions/_form.html.erb | 2 +- app/views/admin/legislation/processes/_form.html.erb | 2 +- app/views/admin/legislation/questions/_form.html.erb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/views/admin/legislation/draft_versions/_form.html.erb b/app/views/admin/legislation/draft_versions/_form.html.erb index 93e955a0b..89ab41823 100644 --- a/app/views/admin/legislation/draft_versions/_form.html.erb +++ b/app/views/admin/legislation/draft_versions/_form.html.erb @@ -32,7 +32,7 @@ <%= translations_form.label :body, nil, hint: t("admin.legislation.draft_versions.form.use_markdown") %> </div> - <div class="markdown-editor"> + <div class="markdown-editor clear"> <div class="small-12 medium-8 column fullscreen-container"> <div class="markdown-editor-header truncate"> <%= t("admin.legislation.draft_versions.form.title_html", diff --git a/app/views/admin/legislation/processes/_form.html.erb b/app/views/admin/legislation/processes/_form.html.erb index 7698def0c..addb63522 100644 --- a/app/views/admin/legislation/processes/_form.html.erb +++ b/app/views/admin/legislation/processes/_form.html.erb @@ -193,7 +193,7 @@ hint: t("admin.legislation.processes.form.use_markdown") %> </div> - <div class="small-12 medium-9 column"> + <div class="small-12 medium-9 column end"> <%= translations_form.text_area :additional_info, rows: 10, placeholder: t("admin.legislation.processes.form.additional_info_placeholder"), diff --git a/app/views/admin/legislation/questions/_form.html.erb b/app/views/admin/legislation/questions/_form.html.erb index d9db3419d..ae9bad19a 100644 --- a/app/views/admin/legislation/questions/_form.html.erb +++ b/app/views/admin/legislation/questions/_form.html.erb @@ -18,7 +18,7 @@ <% end %> <%= f.translatable_fields do |translations_form| %> - <div class="small-12 medium-9 column"> + <div class="small-12 medium-9 column end"> <%= translations_form.text_area :title, rows: 5, placeholder: t("admin.legislation.questions.form.title_placeholder"), From 1c75df92d72528c45756f75c7526654df8c6eedb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 15 Oct 2018 16:23:18 +0200 Subject: [PATCH 524/565] Fix updating translatables without current locale The current locale wasn't being marked for destruction and so saving the record tried to create a new translation for the current locale. --- app/helpers/translatable_form_helper.rb | 8 +++++++- spec/shared/features/translatable.rb | 23 +++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 977c73628..0232131fb 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -39,7 +39,9 @@ module TranslatableFormHelper def new_translation_for(locale) @object.translations.new(locale: locale).tap do |translation| - translation.mark_for_destruction unless locale == I18n.locale + unless locale == I18n.locale && no_other_translations?(translation) + translation.mark_for_destruction + end end end @@ -50,6 +52,10 @@ module TranslatableFormHelper data: { locale: locale } } end + + def no_other_translations?(translation) + (@object.translations - [translation]).reject(&:_destroy).empty? + end end class TranslationsFieldsBuilder < FoundationRailsHelper::FormBuilder diff --git a/spec/shared/features/translatable.rb b/spec/shared/features/translatable.rb index ba5f5f2d5..8e1334bbd 100644 --- a/spec/shared/features/translatable.rb +++ b/spec/shared/features/translatable.rb @@ -119,6 +119,29 @@ shared_examples "translatable" do |factory_name, path_name, input_fields, textar expect_page_to_have_translatable_field field, :es, with: "" end + scenario "Update a translation not having the current locale", :js do + translatable.translations.destroy_all + + translatable.translations.create( + fields.map { |field| [field, text_for(field, :fr)] }.to_h.merge(locale: :fr) + ) + + visit path + + expect(page).not_to have_link "English" + expect(page).to have_link "Français" + + click_button update_button_text + + expect(page).not_to have_css "#error_explanation" + expect(page).not_to have_link "English" + + visit path + + expect(page).not_to have_link "English" + expect(page).to have_link "Français" + end + scenario "Remove a translation", :js do visit path From 015cdcc55737f40d28f66fb45fe1378410ebc205 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 15 Oct 2018 15:29:52 +0200 Subject: [PATCH 525/565] Simplify creating a process in questions specs --- spec/features/admin/legislation/questions_spec.rb | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/spec/features/admin/legislation/questions_spec.rb b/spec/features/admin/legislation/questions_spec.rb index fa48b7e4f..dcb6cc450 100644 --- a/spec/features/admin/legislation/questions_spec.rb +++ b/spec/features/admin/legislation/questions_spec.rb @@ -7,6 +7,8 @@ feature 'Admin legislation questions' do login_as(admin.user) end + let!(:process) { create(:legislation_process, title: "An example legislation process") } + it_behaves_like "translatable", "legislation_question", "edit_admin_legislation_process_question_path", @@ -23,7 +25,6 @@ feature 'Admin legislation questions' do end scenario 'Disabled with a feature flag' do - process = create(:legislation_process) expect{ visit admin_legislation_process_questions_path(process) }.to raise_exception(FeatureFlags::FeatureDisabled) end @@ -32,7 +33,6 @@ feature 'Admin legislation questions' do context "Index" do scenario 'Displaying legislation process questions' do - process = create(:legislation_process, title: 'An example legislation process') question = create(:legislation_question, process: process, title: 'Question 1') question = create(:legislation_question, process: process, title: 'Question 2') @@ -48,8 +48,6 @@ feature 'Admin legislation questions' do context 'Create' do scenario 'Valid legislation question' do - process = create(:legislation_process, title: 'An example legislation process') - visit admin_root_path within('#side_menu') do @@ -74,7 +72,6 @@ feature 'Admin legislation questions' do context 'Update' do scenario 'Valid legislation question', :js do - process = create(:legislation_process, title: 'An example legislation process') question = create(:legislation_question, title: 'Question 2', process: process) visit admin_root_path @@ -101,7 +98,6 @@ feature 'Admin legislation questions' do context 'Delete' do scenario 'Legislation question', :js do - process = create(:legislation_process, title: 'An example legislation process') create(:legislation_question, title: 'Question 1', process: process) question = create(:legislation_question, title: 'Question 2', process: process) question_option = create(:legislation_question_option, question: question, value: 'Yes') From 3165b9b9f4d21ef9785a4e22eeba0974f9478ba4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 15 Oct 2018 16:33:46 +0200 Subject: [PATCH 526/565] Fix legislation options not being updated We broke this behaviour by introducing translations and not allowing the `id` parameter anymore. --- .../admin/legislation/questions_controller.rb | 2 +- .../admin/legislation/questions_spec.rb | 82 +++++++++++-------- 2 files changed, 50 insertions(+), 34 deletions(-) diff --git a/app/controllers/admin/legislation/questions_controller.rb b/app/controllers/admin/legislation/questions_controller.rb index 70c923ab3..8b6621773 100644 --- a/app/controllers/admin/legislation/questions_controller.rb +++ b/app/controllers/admin/legislation/questions_controller.rb @@ -47,7 +47,7 @@ class Admin::Legislation::QuestionsController < Admin::Legislation::BaseControll def question_params params.require(:legislation_question).permit( translation_params(::Legislation::Question), - question_options_attributes: [translation_params(::Legislation::QuestionOption)]) + question_options_attributes: [:id, translation_params(::Legislation::QuestionOption)]) end def resource diff --git a/spec/features/admin/legislation/questions_spec.rb b/spec/features/admin/legislation/questions_spec.rb index dcb6cc450..80a331717 100644 --- a/spec/features/admin/legislation/questions_spec.rb +++ b/spec/features/admin/legislation/questions_spec.rb @@ -113,11 +113,8 @@ feature 'Admin legislation questions' do end end - context "Special translation behaviour" do - - let!(:question) { create(:legislation_question, - title_en: "Title in English", - title_es: "Título en Español") } + context "Legislation options" do + let!(:question) { create(:legislation_question) } let(:edit_question_url) do edit_admin_legislation_process_question_path(question.process, question) @@ -132,49 +129,68 @@ feature 'Admin legislation questions' do end end - scenario 'Add translation for question option', :js do + scenario "Edit an existing option", :js do + create(:legislation_question_option, question: question, value: "Original") + visit edit_question_url - - click_on 'Add option' - - find('#nested-question-options input').set('Option 1') - - click_link "Español" - - find('#nested-question-options input').set('Opción 1') - + find("#nested-question-options input").set("Changed") click_button "Save changes" + + expect(page).not_to have_css "#error_explanation" + visit edit_question_url - - expect(page).to have_field(field_en[:id], with: 'Option 1') - - click_link "Español" - - expect(page).to have_field(field_es[:id], with: 'Opción 1') + expect(page).to have_field(field_en[:id], with: "Changed") end - scenario 'Add new question option after changing active locale', :js do - visit edit_question_url + context "Special translation behaviour" do + before do + question.update_attributes(title_en: "Title in English", title_es: "Título en Español") + end - click_link "Español" + scenario 'Add translation for question option', :js do + visit edit_question_url - click_on 'Add option' + click_on 'Add option' - find('#nested-question-options input').set('Opción 1') + find('#nested-question-options input').set('Option 1') - click_link "English" + click_link "Español" - find('#nested-question-options input').set('Option 1') + find('#nested-question-options input').set('Opción 1') - click_button "Save changes" + click_button "Save changes" + visit edit_question_url - visit edit_question_url + expect(page).to have_field(field_en[:id], with: 'Option 1') - expect(page).to have_field(field_en[:id], with: 'Option 1') + click_link "Español" - click_link "Español" + expect(page).to have_field(field_es[:id], with: 'Opción 1') + end - expect(page).to have_field(field_es[:id], with: 'Opción 1') + scenario 'Add new question option after changing active locale', :js do + visit edit_question_url + + click_link "Español" + + click_on 'Add option' + + find('#nested-question-options input').set('Opción 1') + + click_link "English" + + find('#nested-question-options input').set('Option 1') + + click_button "Save changes" + + visit edit_question_url + + expect(page).to have_field(field_en[:id], with: 'Option 1') + + click_link "Español" + + expect(page).to have_field(field_es[:id], with: 'Opción 1') + end end end end From b024363faede6cf5dfa908428e208a2978d4e584 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 15 Oct 2018 17:01:19 +0200 Subject: [PATCH 527/565] Fix removing an option for legislation questions We were allowing the `_destroy` field for translations, but not for the options themselves. --- .../admin/legislation/questions_controller.rb | 4 ++- .../admin/legislation/questions_spec.rb | 33 ++++++++++++++++--- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/app/controllers/admin/legislation/questions_controller.rb b/app/controllers/admin/legislation/questions_controller.rb index 8b6621773..70fb37f68 100644 --- a/app/controllers/admin/legislation/questions_controller.rb +++ b/app/controllers/admin/legislation/questions_controller.rb @@ -47,7 +47,9 @@ class Admin::Legislation::QuestionsController < Admin::Legislation::BaseControll def question_params params.require(:legislation_question).permit( translation_params(::Legislation::Question), - question_options_attributes: [:id, translation_params(::Legislation::QuestionOption)]) + question_options_attributes: [:id, :_destroy, + translation_params(::Legislation::QuestionOption)] + ) end def resource diff --git a/spec/features/admin/legislation/questions_spec.rb b/spec/features/admin/legislation/questions_spec.rb index 80a331717..e0df289b6 100644 --- a/spec/features/admin/legislation/questions_spec.rb +++ b/spec/features/admin/legislation/questions_spec.rb @@ -120,12 +120,14 @@ feature 'Admin legislation questions' do edit_admin_legislation_process_question_path(question.process, question) end - let(:field_en) { field_for(:en) } - let(:field_es) { field_for(:es) } + let(:field_en) { fields_for(:en).first } + let(:field_es) { fields_for(:es).first } - def field_for(locale) - within(page.all(".translatable_fields[data-locale='#{locale}']").last) do - page.first("[id^='legislation_question_question_option'][id$='value']") + def fields_for(locale) + within("#nested-question-options") do + page.all( + "[data-locale='#{locale}'] [id^='legislation_question_question_option'][id$='value']" + ) end end @@ -142,6 +144,27 @@ feature 'Admin legislation questions' do expect(page).to have_field(field_en[:id], with: "Changed") end + scenario "Remove an option", :js do + create(:legislation_question_option, question: question, value: "Yes") + create(:legislation_question_option, question: question, value: "No") + + visit edit_question_url + + expect(page).to have_field fields_for(:en).first[:id], with: "Yes" + expect(page).to have_field fields_for(:en).last[:id], with: "No" + + page.first(:link, "Remove option").click + + expect(page).not_to have_field fields_for(:en).first[:id], with: "Yes" + expect(page).to have_field fields_for(:en).last[:id], with: "No" + + click_button "Save changes" + visit edit_question_url + + expect(page).not_to have_field fields_for(:en).first[:id], with: "Yes" + expect(page).to have_field fields_for(:en).last[:id], with: "No" + end + context "Special translation behaviour" do before do question.update_attributes(title_en: "Title in English", title_es: "Título en Español") From 9fc235727e0d0827716b5f1ba49ad04db6d0d250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 15 Oct 2018 17:25:24 +0200 Subject: [PATCH 528/565] Extract method in translatable builder This way we fix the rubocop warning for line too long and make the code a bit easier to read. --- app/helpers/translatable_form_helper.rb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 0232131fb..f4b79e0f5 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -9,7 +9,7 @@ module TranslatableFormHelper def translatable_fields(&block) @object.globalize_locales.map do |locale| Globalize.with_locale(locale) do - fields_for(:translations, translation_for(locale), builder: TranslationsFieldsBuilder) do |translations_form| + fields_for_translation(translation_for(locale)) do |translations_form| @template.content_tag :div, translations_options(translations_form.object, locale) do @template.concat translations_form.hidden_field( :_destroy, @@ -27,6 +27,12 @@ module TranslatableFormHelper private + def fields_for_translation(translation, &block) + fields_for(:translations, translation, builder: TranslationsFieldsBuilder) do |f| + yield f + end + end + def translation_for(locale) existing_translation_for(locale) || new_translation_for(locale) end From 44f71b24db84c7939474d627e7fe90924f3f165f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 15 Oct 2018 17:26:09 +0200 Subject: [PATCH 529/565] Fix rubocop line too long warning --- app/controllers/admin/poll/questions/answers_controller.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/controllers/admin/poll/questions/answers_controller.rb b/app/controllers/admin/poll/questions/answers_controller.rb index 099fc818b..d8b564ca3 100644 --- a/app/controllers/admin/poll/questions/answers_controller.rb +++ b/app/controllers/admin/poll/questions/answers_controller.rb @@ -52,7 +52,10 @@ class Admin::Poll::Questions::AnswersController < Admin::Poll::BaseController def answer_params documents_attributes = [:id, :title, :attachment, :cached_attachment, :user_id, :_destroy] attributes = [:question_id, documents_attributes: documents_attributes] - params.require(:poll_question_answer).permit(*attributes, translation_params(Poll::Question::Answer)) + + params.require(:poll_question_answer).permit( + *attributes, translation_params(Poll::Question::Answer) + ) end def load_answer From ed990c24d087aae07a8bf8fad21331e9162999c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 15 Oct 2018 17:39:23 +0200 Subject: [PATCH 530/565] Fix "Add option" link position The new options were being added inside the `.column` div, when they needed to be added before it. --- app/views/admin/legislation/questions/_form.html.erb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/admin/legislation/questions/_form.html.erb b/app/views/admin/legislation/questions/_form.html.erb index ae9bad19a..91a8951ad 100644 --- a/app/views/admin/legislation/questions/_form.html.erb +++ b/app/views/admin/legislation/questions/_form.html.erb @@ -35,8 +35,8 @@ <%= render 'question_option_fields', f: ff %> <% end %> - <div class="small-12 medium-9 column"> - <div class="add_fields_container"> + <div class="add_fields_container"> + <div class="small-12 medium-9 column"> <%= link_to_add_association t("admin.legislation.questions.form.add_option"), f, :question_options, class: "button hollow" %> </div> From f475f4ff3f20fc976ee84a1c3238c82bb66d56a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 15 Oct 2018 17:48:11 +0200 Subject: [PATCH 531/565] Remove reference to site customization page locale We don't use that attribute since we added translations for this model. --- app/controllers/admin/site_customization/pages_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/admin/site_customization/pages_controller.rb b/app/controllers/admin/site_customization/pages_controller.rb index 056e0bc3d..82c6990da 100644 --- a/app/controllers/admin/site_customization/pages_controller.rb +++ b/app/controllers/admin/site_customization/pages_controller.rb @@ -35,7 +35,7 @@ class Admin::SiteCustomization::PagesController < Admin::SiteCustomization::Base private def page_params - attributes = [:slug, :more_info_flag, :print_content_flag, :status, :locale] + attributes = [:slug, :more_info_flag, :print_content_flag, :status] params.require(:site_customization_page).permit(*attributes, translation_params(SiteCustomization::Page) From 9aa07e3b74639cd291cef9bd9afa51ff3be48b1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 15 Oct 2018 17:49:41 +0200 Subject: [PATCH 532/565] Follow naming conventions for HTML classes and IDs We use underscores for IDs and hyphens for classes. --- app/assets/javascripts/globalize.js.coffee | 6 +++--- app/assets/javascripts/legislation_admin.js.coffee | 2 +- app/helpers/translatable_form_helper.rb | 4 ++-- app/views/admin/legislation/questions/_form.html.erb | 4 ++-- .../admin/shared/_common_globalize_locales.html.erb | 2 +- spec/features/admin/legislation/questions_spec.rb | 12 ++++++------ spec/features/admin/widgets/cards_spec.rb | 2 +- spec/shared/features/translatable.rb | 2 +- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/app/assets/javascripts/globalize.js.coffee b/app/assets/javascripts/globalize.js.coffee index 01ea9ec61..02c46ff94 100644 --- a/app/assets/javascripts/globalize.js.coffee +++ b/app/assets/javascripts/globalize.js.coffee @@ -16,7 +16,7 @@ App.Globalize = else $(this).hide() $('.js-delete-language').hide() - $('#delete-' + locale).show() + $('#delete_' + locale).show() highlight_locale: (element) -> $('.js-globalize-locale-link').removeClass('is-active'); @@ -48,7 +48,7 @@ App.Globalize = ) destroy_locale_field: (locale) -> - $(".destroy_locale[data-locale=" + locale + "]") + $(".destroy-locale[data-locale=" + locale + "]") site_customization_enable_locale_field: (locale) -> $("#enabled_translations_" + locale) @@ -72,7 +72,7 @@ App.Globalize = $(this).hide() App.Globalize.remove_language(locale) - $(".add_fields_container").on "cocoon:after-insert", -> + $(".add-fields-container").on "cocoon:after-insert", -> $.each( App.Globalize.enabled_locales(), (index, locale) -> App.Globalize.enable_locale(locale) diff --git a/app/assets/javascripts/legislation_admin.js.coffee b/app/assets/javascripts/legislation_admin.js.coffee index f7f9ea17a..5aa19f083 100644 --- a/app/assets/javascripts/legislation_admin.js.coffee +++ b/app/assets/javascripts/legislation_admin.js.coffee @@ -12,5 +12,5 @@ App.LegislationAdmin = else $(this).val("") - $("#nested-question-options").on "cocoon:after-insert", -> + $("#nested_question_options").on "cocoon:after-insert", -> App.Globalize.refresh_visible_translations() diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index f4b79e0f5..5c9575ab6 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -13,7 +13,7 @@ module TranslatableFormHelper @template.content_tag :div, translations_options(translations_form.object, locale) do @template.concat translations_form.hidden_field( :_destroy, - class: "destroy_locale", + class: "destroy-locale", data: { locale: locale }) @template.concat translations_form.hidden_field(:locale, value: locale) @@ -53,7 +53,7 @@ module TranslatableFormHelper def translations_options(resource, locale) { - class: "translatable_fields js-globalize-attribute", + class: "translatable-fields js-globalize-attribute", style: @template.display_translation_style(resource.globalized_model, locale), data: { locale: locale } } diff --git a/app/views/admin/legislation/questions/_form.html.erb b/app/views/admin/legislation/questions/_form.html.erb index 91a8951ad..6bfe3f54c 100644 --- a/app/views/admin/legislation/questions/_form.html.erb +++ b/app/views/admin/legislation/questions/_form.html.erb @@ -30,12 +30,12 @@ <%= f.label :question_options, t("admin.legislation.questions.form.question_options") %> </div> - <div id="nested-question-options"> + <div id="nested_question_options"> <%= f.fields_for :question_options do |ff| %> <%= render 'question_option_fields', f: ff %> <% end %> - <div class="add_fields_container"> + <div class="add-fields-container"> <div class="small-12 medium-9 column"> <%= link_to_add_association t("admin.legislation.questions.form.add_option"), f, :question_options, class: "button hollow" %> diff --git a/app/views/admin/shared/_common_globalize_locales.html.erb b/app/views/admin/shared/_common_globalize_locales.html.erb index d9aac8376..a51fa1432 100644 --- a/app/views/admin/shared/_common_globalize_locales.html.erb +++ b/app/views/admin/shared/_common_globalize_locales.html.erb @@ -1,6 +1,6 @@ <% I18n.available_locales.each do |locale| %> <%= link_to t("admin.translations.remove_language"), "#", - id: "delete-#{locale}", + id: "delete_#{locale}", style: display_translation_style(resource, locale), class: 'float-right delete js-delete-language', data: { locale: locale } %> diff --git a/spec/features/admin/legislation/questions_spec.rb b/spec/features/admin/legislation/questions_spec.rb index e0df289b6..adff3c3eb 100644 --- a/spec/features/admin/legislation/questions_spec.rb +++ b/spec/features/admin/legislation/questions_spec.rb @@ -124,7 +124,7 @@ feature 'Admin legislation questions' do let(:field_es) { fields_for(:es).first } def fields_for(locale) - within("#nested-question-options") do + within("#nested_question_options") do page.all( "[data-locale='#{locale}'] [id^='legislation_question_question_option'][id$='value']" ) @@ -135,7 +135,7 @@ feature 'Admin legislation questions' do create(:legislation_question_option, question: question, value: "Original") visit edit_question_url - find("#nested-question-options input").set("Changed") + find("#nested_question_options input").set("Changed") click_button "Save changes" expect(page).not_to have_css "#error_explanation" @@ -175,11 +175,11 @@ feature 'Admin legislation questions' do click_on 'Add option' - find('#nested-question-options input').set('Option 1') + find('#nested_question_options input').set('Option 1') click_link "Español" - find('#nested-question-options input').set('Opción 1') + find('#nested_question_options input').set('Opción 1') click_button "Save changes" visit edit_question_url @@ -198,11 +198,11 @@ feature 'Admin legislation questions' do click_on 'Add option' - find('#nested-question-options input').set('Opción 1') + find('#nested_question_options input').set('Opción 1') click_link "English" - find('#nested-question-options input').set('Option 1') + find('#nested_question_options input').set('Option 1') click_button "Save changes" diff --git a/spec/features/admin/widgets/cards_spec.rb b/spec/features/admin/widgets/cards_spec.rb index 3b67caab1..97571bf32 100644 --- a/spec/features/admin/widgets/cards_spec.rb +++ b/spec/features/admin/widgets/cards_spec.rb @@ -64,7 +64,7 @@ feature 'Cards' do click_link "Edit" end - within(".translatable_fields") do + within(".translatable-fields") do fill_in "Label (optional)", with: "Card label updated" fill_in "Title", with: "Card text updated" fill_in "Description", with: "Card description updated" diff --git a/spec/shared/features/translatable.rb b/spec/shared/features/translatable.rb index 8e1334bbd..bd485334a 100644 --- a/spec/shared/features/translatable.rb +++ b/spec/shared/features/translatable.rb @@ -267,7 +267,7 @@ def field_for(field, locale, visible: true) if translatable_class.name == "I18nContent" "contents_content_#{translatable.key}values_#{field}_#{locale}" else - within(".translatable_fields[data-locale='#{locale}']") do + within(".translatable-fields[data-locale='#{locale}']") do find("input[id$='_#{field}'], textarea[id$='_#{field}']", visible: visible)[:id] end end From d10f07b0b4d96fe05973b6fbe2de981a0fb333d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 15 Oct 2018 17:56:09 +0200 Subject: [PATCH 533/565] Make it easier to know destroy_field is an input By using the input and finding it by its name, it's easier to see the difference between this input and the delete-language link. --- app/assets/javascripts/globalize.js.coffee | 2 +- app/helpers/translatable_form_helper.rb | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/app/assets/javascripts/globalize.js.coffee b/app/assets/javascripts/globalize.js.coffee index 02c46ff94..92dcef6e8 100644 --- a/app/assets/javascripts/globalize.js.coffee +++ b/app/assets/javascripts/globalize.js.coffee @@ -48,7 +48,7 @@ App.Globalize = ) destroy_locale_field: (locale) -> - $(".destroy-locale[data-locale=" + locale + "]") + $("input[id$=_destroy][data-locale=" + locale + "]") site_customization_enable_locale_field: (locale) -> $("#enabled_translations_" + locale) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 5c9575ab6..8ab619634 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -13,7 +13,6 @@ module TranslatableFormHelper @template.content_tag :div, translations_options(translations_form.object, locale) do @template.concat translations_form.hidden_field( :_destroy, - class: "destroy-locale", data: { locale: locale }) @template.concat translations_form.hidden_field(:locale, value: locale) From cf4c30b1434c901580cd46dcf0501afe68a4e80c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 15 Oct 2018 18:03:20 +0200 Subject: [PATCH 534/565] Prefix classes used in JavaScript with "js-" The same way it's done in the rest of the application. --- app/assets/javascripts/globalize.js.coffee | 4 ++-- app/views/admin/legislation/questions/_form.html.erb | 2 +- app/views/admin/shared/_common_globalize_locales.html.erb | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/globalize.js.coffee b/app/assets/javascripts/globalize.js.coffee index 92dcef6e8..d0869cc8e 100644 --- a/app/assets/javascripts/globalize.js.coffee +++ b/app/assets/javascripts/globalize.js.coffee @@ -16,7 +16,7 @@ App.Globalize = else $(this).hide() $('.js-delete-language').hide() - $('#delete_' + locale).show() + $('#js_delete_' + locale).show() highlight_locale: (element) -> $('.js-globalize-locale-link').removeClass('is-active'); @@ -72,7 +72,7 @@ App.Globalize = $(this).hide() App.Globalize.remove_language(locale) - $(".add-fields-container").on "cocoon:after-insert", -> + $(".js-add-fields-container").on "cocoon:after-insert", -> $.each( App.Globalize.enabled_locales(), (index, locale) -> App.Globalize.enable_locale(locale) diff --git a/app/views/admin/legislation/questions/_form.html.erb b/app/views/admin/legislation/questions/_form.html.erb index 6bfe3f54c..a6d91d906 100644 --- a/app/views/admin/legislation/questions/_form.html.erb +++ b/app/views/admin/legislation/questions/_form.html.erb @@ -35,7 +35,7 @@ <%= render 'question_option_fields', f: ff %> <% end %> - <div class="add-fields-container"> + <div class="js-add-fields-container"> <div class="small-12 medium-9 column"> <%= link_to_add_association t("admin.legislation.questions.form.add_option"), f, :question_options, class: "button hollow" %> diff --git a/app/views/admin/shared/_common_globalize_locales.html.erb b/app/views/admin/shared/_common_globalize_locales.html.erb index a51fa1432..3f7bc888f 100644 --- a/app/views/admin/shared/_common_globalize_locales.html.erb +++ b/app/views/admin/shared/_common_globalize_locales.html.erb @@ -1,6 +1,6 @@ <% I18n.available_locales.each do |locale| %> <%= link_to t("admin.translations.remove_language"), "#", - id: "delete_#{locale}", + id: "js_delete_#{locale}", style: display_translation_style(resource, locale), class: 'float-right delete js-delete-language', data: { locale: locale } %> From 98cfe8c5036383f152c03a8c1a8e68f2f99c0d5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Tue, 16 Oct 2018 19:51:15 +0200 Subject: [PATCH 535/565] Remove question option uniqueness validation Having translations makes this validation too complex and not worth the effort, since now we can't just scope in a single column but we need to scope in the translations locale and the question ID. --- app/models/legislation/question_option.rb | 2 +- spec/models/legislation/question_option_spec.rb | 9 --------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/app/models/legislation/question_option.rb b/app/models/legislation/question_option.rb index a02d41554..35520b35b 100644 --- a/app/models/legislation/question_option.rb +++ b/app/models/legislation/question_option.rb @@ -9,5 +9,5 @@ class Legislation::QuestionOption < ActiveRecord::Base has_many :answers, class_name: 'Legislation::Answer', foreign_key: 'legislation_question_id', dependent: :destroy, inverse_of: :question validates :question, presence: true - validates_translation :value, presence: true # TODO: add uniqueness again + validates_translation :value, presence: true end diff --git a/spec/models/legislation/question_option_spec.rb b/spec/models/legislation/question_option_spec.rb index 1fd7eb307..eb23961ec 100644 --- a/spec/models/legislation/question_option_spec.rb +++ b/spec/models/legislation/question_option_spec.rb @@ -6,13 +6,4 @@ RSpec.describe Legislation::QuestionOption, type: :model do it "is valid" do expect(legislation_question_option).to be_valid end - - it "is unique per question" do - question = create(:legislation_question) - valid_question_option = create(:legislation_question_option, question: question, value: "uno") - - invalid_question_option = build(:legislation_question_option, question: question, value: "uno") - - expect(invalid_question_option).not_to be_valid - end end From 0c1228a7ce721c094e0727d2a61baa1959e5140a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 17 Oct 2018 01:07:23 +0200 Subject: [PATCH 536/565] Fix crash with no translation for default locale When we were visiting a page showing the content of a record which uses globalize and our locale was the default one and there was no translation for the default locale, the application was crashing in some places because there are no fallbacks for the default locale. For example, when visiting a legislation process, the line with `CGI.escape(title)` was crashing because `title` was `nil` for the default locale. We've decided to solve this issue by using any available translations as globalize fallbacks instead of showing a 404 error or a translation missing error because these solutions would (we thinkg) either require modifying many places in the application or making the translatable logic even more complex. Initially we tried to add this solution to an initializer, but it must be called after initializing the application so I18n.fallbacks[locale] gets the value defined in config.i18n.fallbacks. Also note the line: fallbacks[locale] = I18n.fallbacks[locale] + I18n.available_locales Doesn't mention `I18n.default_locale` because the method `I18n.fallbacks[locale]` automatically adds the default locale. --- config/application.rb | 2 + config/initializers/globalize.rb | 6 +++ spec/features/legislation/processes_spec.rb | 8 +++ spec/models/admin_notification_spec.rb | 2 + spec/models/concerns/globalizable.rb | 56 +++++++++++++++++++++ 5 files changed, 74 insertions(+) create mode 100644 spec/models/concerns/globalizable.rb diff --git a/config/application.rb b/config/application.rb index ad39ae88f..77e52538f 100644 --- a/config/application.rb +++ b/config/application.rb @@ -48,6 +48,8 @@ module Consul config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}')] config.i18n.load_path += Dir[Rails.root.join('config', 'locales', 'custom', '**', '*.{rb,yml}')] + config.after_initialize { Globalize.set_fallbacks_to_all_available_locales } + config.assets.paths << Rails.root.join("app", "assets", "fonts") # Do not swallow errors in after_commit/after_rollback callbacks. diff --git a/config/initializers/globalize.rb b/config/initializers/globalize.rb index d0836d0cc..d5834f217 100644 --- a/config/initializers/globalize.rb +++ b/config/initializers/globalize.rb @@ -11,3 +11,9 @@ module Globalize end end end + +def Globalize.set_fallbacks_to_all_available_locales + Globalize.fallbacks = I18n.available_locales.each_with_object({}) do |locale, fallbacks| + fallbacks[locale] = (I18n.fallbacks[locale] + I18n.available_locales).uniq + end +end diff --git a/spec/features/legislation/processes_spec.rb b/spec/features/legislation/processes_spec.rb index 9989c5ee8..17c750d81 100644 --- a/spec/features/legislation/processes_spec.rb +++ b/spec/features/legislation/processes_spec.rb @@ -141,6 +141,14 @@ feature 'Legislation' do expect(page).to_not have_content("Additional information") end + + scenario "Shows another translation when the default locale isn't available" do + process = create(:legislation_process, title_fr: "Français") + process.translations.where(locale: :en).first.destroy + + visit legislation_process_path(process) + expect(page).to have_content("Français") + end end context 'debate phase' do diff --git a/spec/models/admin_notification_spec.rb b/spec/models/admin_notification_spec.rb index eeb974e83..daaae0c32 100644 --- a/spec/models/admin_notification_spec.rb +++ b/spec/models/admin_notification_spec.rb @@ -3,6 +3,8 @@ require 'rails_helper' describe AdminNotification do let(:admin_notification) { build(:admin_notification) } + it_behaves_like "globalizable", :admin_notification + it "is valid" do expect(admin_notification).to be_valid end diff --git a/spec/models/concerns/globalizable.rb b/spec/models/concerns/globalizable.rb new file mode 100644 index 000000000..b63734117 --- /dev/null +++ b/spec/models/concerns/globalizable.rb @@ -0,0 +1,56 @@ +require "spec_helper" + +shared_examples_for "globalizable" do |factory_name| + let(:record) { create(factory_name) } + let(:field) { record.translated_attribute_names.first } + + describe "Fallbacks" do + before do + allow(I18n).to receive(:available_locales).and_return(%i[ar de en es fr]) + + record.update_attribute(field, "In English") + + { es: "En español", de: "Deutsch" }.each do |locale, text| + Globalize.with_locale(locale) do + record.translated_attribute_names.each do |attribute| + record.update_attribute(attribute, record.send(attribute)) + end + + record.update_attribute(field, text) + end + end + end + + after do + allow(I18n).to receive(:available_locales).and_call_original + allow(I18n.fallbacks).to receive(:[]).and_call_original + Globalize.set_fallbacks_to_all_available_locales + end + + context "With a defined fallback" do + before do + allow(I18n.fallbacks).to receive(:[]).and_return([:fr, :es]) + Globalize.set_fallbacks_to_all_available_locales + end + + it "Falls back to the defined fallback" do + Globalize.with_locale(:fr) do + expect(record.send(field)).to eq "En español" + end + end + end + + context "Without a defined fallback" do + before do + allow(I18n.fallbacks).to receive(:[]).and_return([:fr]) + Globalize.set_fallbacks_to_all_available_locales + end + + it "Falls back to the first available locale" do + Globalize.with_locale(:fr) do + expect(record.send(field)).to eq "Deutsch" + end + end + end + end +end From 7f5f144837a345aa1f614a917144fef923083379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 17 Oct 2018 01:10:13 +0200 Subject: [PATCH 537/565] Don't run specs if there are custom fallbacks This spec depends on French falling back to Spanish and was failing on forks using a different fallback. --- spec/features/admin/poll/questions_spec.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/spec/features/admin/poll/questions_spec.rb b/spec/features/admin/poll/questions_spec.rb index e5ed6bf96..4374800f2 100644 --- a/spec/features/admin/poll/questions_spec.rb +++ b/spec/features/admin/poll/questions_spec.rb @@ -141,6 +141,10 @@ feature 'Admin poll questions' do end scenario "uses fallback if name is not translated to current locale", :js do + unless globalize_french_fallbacks.first == :es + skip("Spec only useful when French falls back to Spanish") + end + visit @edit_question_url expect(page).to have_select('poll_question_poll_id', options: [poll.name_en]) @@ -150,4 +154,8 @@ feature 'Admin poll questions' do expect(page).to have_select('poll_question_poll_id', options: [poll.name_es]) end end + + def globalize_french_fallbacks + Globalize.fallbacks(:fr).reject { |locale| locale.match(/fr/) } + end end From b745ddc9dd1df2309e9201bceedbd9d09e0b2c61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 18 Oct 2018 00:31:51 +0200 Subject: [PATCH 538/565] Simplify code checking whether to enable a locale --- app/helpers/globalize_helper.rb | 9 +++++---- app/models/concerns/globalizable.rb | 4 ++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/helpers/globalize_helper.rb b/app/helpers/globalize_helper.rb index 07cf220b1..575e81c8e 100644 --- a/app/helpers/globalize_helper.rb +++ b/app/helpers/globalize_helper.rb @@ -32,10 +32,11 @@ module GlobalizeHelper end def enable_locale?(resource, locale) - # Use `map` instead of `pluck` in order to keep the `params` sent - # by the browser when there's invalid data - (resource.translations.blank? && locale == I18n.locale) || - resource.translations.reject(&:_destroy).map(&:locale).include?(locale) + if resource.translations.any? + resource.locales_not_marked_for_destruction.include?(locale) + else + locale == I18n.locale + end end def highlight_class(resource, locale) diff --git a/app/models/concerns/globalizable.rb b/app/models/concerns/globalizable.rb index b07112dfa..386047f8b 100644 --- a/app/models/concerns/globalizable.rb +++ b/app/models/concerns/globalizable.rb @@ -4,6 +4,10 @@ module Globalizable included do globalize_accessors accepts_nested_attributes_for :translations, allow_destroy: true + + def locales_not_marked_for_destruction + translations.reject(&:_destroy).map(&:locale) + end end class_methods do From c8d3c8fc1b5720e8a6a91df59c37af19ce323700 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 18 Oct 2018 00:34:27 +0200 Subject: [PATCH 539/565] Use `detect` instead of `select.first` --- app/helpers/translatable_form_helper.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 8ab619634..4c46e0507 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -37,9 +37,7 @@ module TranslatableFormHelper end def existing_translation_for(locale) - # Use `select` because `where` uses the database and so ignores - # the `params` sent by the browser - @object.translations.select { |translation| translation.locale == locale }.first + @object.translations.detect { |translation| translation.locale == locale } end def new_translation_for(locale) From 0f759f1e1627801385f604c6f73502089e3352ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Thu, 18 Oct 2018 01:53:32 +0200 Subject: [PATCH 540/565] Extract method to render form fields for a locale --- app/helpers/translatable_form_helper.rb | 29 ++++++++++++++----------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb index 4c46e0507..01b0dd2a7 100644 --- a/app/helpers/translatable_form_helper.rb +++ b/app/helpers/translatable_form_helper.rb @@ -8,24 +8,27 @@ module TranslatableFormHelper class TranslatableFormBuilder < FoundationRailsHelper::FormBuilder def translatable_fields(&block) @object.globalize_locales.map do |locale| - Globalize.with_locale(locale) do - fields_for_translation(translation_for(locale)) do |translations_form| - @template.content_tag :div, translations_options(translations_form.object, locale) do - @template.concat translations_form.hidden_field( - :_destroy, - data: { locale: locale }) - - @template.concat translations_form.hidden_field(:locale, value: locale) - - yield translations_form - end - end - end + Globalize.with_locale(locale) { fields_for_locale(locale, &block) } end.join.html_safe end private + def fields_for_locale(locale, &block) + fields_for_translation(translation_for(locale)) do |translations_form| + @template.content_tag :div, translations_options(translations_form.object, locale) do + @template.concat translations_form.hidden_field( + :_destroy, + data: { locale: locale } + ) + + @template.concat translations_form.hidden_field(:locale, value: locale) + + yield translations_form + end + end + end + def fields_for_translation(translation, &block) fields_for(:translations, translation, builder: TranslationsFieldsBuilder) do |f| yield f From 8f4d600b47448014438f006e54c8f9cd0aaa1fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Tue, 23 Oct 2018 13:53:37 +0200 Subject: [PATCH 541/565] Fix spec assuming German isn't available Since we've recently added German to the available languages, and we might support every language in the future, we're using the fictional world language to check a locale which isn't available. Another option could be to set the available locales in the test environment (or the rspec helper), but then we'd have to make sure it's executed before the call to `globalize_accessors` in the model, and it might be confusing for developers. --- spec/models/i18n_content_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/models/i18n_content_spec.rb b/spec/models/i18n_content_spec.rb index edf57aec6..17eaefe8f 100644 --- a/spec/models/i18n_content_spec.rb +++ b/spec/models/i18n_content_spec.rb @@ -55,7 +55,7 @@ RSpec.describe I18nContent, type: :model do it 'responds to locales defined on model' do expect(i18n_content).to respond_to(:value_en) expect(i18n_content).to respond_to(:value_es) - expect(i18n_content).not_to respond_to(:value_de) + expect(i18n_content).not_to respond_to(:value_wl) end it 'returns nil if translations are not available' do From c9fadc7c3d4a8333d47a600af62152bc6dc883a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Tue, 23 Oct 2018 14:23:10 +0200 Subject: [PATCH 542/565] Fix poll question with non-underscored locales Ruby can't have hyphens in method names, so sending something like `title_pt-BR=` would raise an exception. --- app/models/poll/question.rb | 2 +- spec/models/poll/question_spec.rb | 31 ++++++++++++++++++++++++------- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/app/models/poll/question.rb b/app/models/poll/question.rb index 4f8988caa..9ffd7ab93 100644 --- a/app/models/poll/question.rb +++ b/app/models/poll/question.rb @@ -45,7 +45,7 @@ class Poll::Question < ActiveRecord::Base self.author = proposal.author self.author_visible_name = proposal.author.name self.proposal_id = proposal.id - send(:"title_#{Globalize.locale}=", proposal.title) + send(:"#{localized_attr_name_for(:title, Globalize.locale)}=", proposal.title) end end diff --git a/spec/models/poll/question_spec.rb b/spec/models/poll/question_spec.rb index c43cedace..5a1265bda 100644 --- a/spec/models/poll/question_spec.rb +++ b/spec/models/poll/question_spec.rb @@ -16,14 +16,31 @@ RSpec.describe Poll::Question, type: :model do end describe "#copy_attributes_from_proposal" do + before { create_list(:geozone, 3) } + let(:proposal) { create(:proposal) } + it "copies the attributes from the proposal" do - create_list(:geozone, 3) - p = create(:proposal) - poll_question.copy_attributes_from_proposal(p) - expect(poll_question.author).to eq(p.author) - expect(poll_question.author_visible_name).to eq(p.author.name) - expect(poll_question.proposal_id).to eq(p.id) - expect(poll_question.title).to eq(p.title) + poll_question.copy_attributes_from_proposal(proposal) + expect(poll_question.author).to eq(proposal.author) + expect(poll_question.author_visible_name).to eq(proposal.author.name) + expect(poll_question.proposal_id).to eq(proposal.id) + expect(poll_question.title).to eq(proposal.title) + end + + context "locale with non-underscored name" do + before do + I18n.locale = :"pt-BR" + Globalize.locale = I18n.locale + end + + it "correctly creates a translation" do + poll_question.copy_attributes_from_proposal(proposal) + translation = poll_question.translations.first + + expect(poll_question.title).to eq(proposal.title) + expect(translation.title).to eq(proposal.title) + expect(translation.locale).to eq(:"pt-BR") + end end end From c774ae67a0b610be4342621448714e385826450e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Fri, 5 Oct 2018 14:15:24 +0200 Subject: [PATCH 543/565] Add task to migrate data to translation tables We forgot to do it when we created the translation tables, and so now we need to make sure we don't overwrite existing translations. --- lib/tasks/globalize.rake | 34 ++++++++++++++ spec/lib/tasks/globalize_spec.rb | 76 ++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 lib/tasks/globalize.rake create mode 100644 spec/lib/tasks/globalize_spec.rb diff --git a/lib/tasks/globalize.rake b/lib/tasks/globalize.rake new file mode 100644 index 000000000..37acb06cb --- /dev/null +++ b/lib/tasks/globalize.rake @@ -0,0 +1,34 @@ +namespace :globalize do + desc "Migrates existing data to translation tables" + task migrate_data: :environment do + [ + AdminNotification, + Banner, + Budget::Investment::Milestone, + I18nContent, + Legislation::DraftVersion, + Legislation::Process, + Legislation::Question, + Legislation::QuestionOption, + Poll, + Poll::Question, + Poll::Question::Answer, + SiteCustomization::Page, + Widget::Card + ].each do |model_class| + Logger.new(STDOUT).info "Migrating #{model_class} data" + + fields = model_class.translated_attribute_names + + model_class.find_each do |record| + fields.each do |field| + if record.send(:"#{field}_#{I18n.locale}").blank? + record.send(:"#{field}_#{I18n.locale}=", record.untranslated_attributes[field.to_s]) + end + end + + record.save! + end + end + end +end diff --git a/spec/lib/tasks/globalize_spec.rb b/spec/lib/tasks/globalize_spec.rb new file mode 100644 index 000000000..2b00353d3 --- /dev/null +++ b/spec/lib/tasks/globalize_spec.rb @@ -0,0 +1,76 @@ +require "rails_helper" +require "rake" + +describe "Globalize tasks" do + + describe "#migrate_data" do + + before do + Rake.application.rake_require "tasks/globalize" + Rake::Task.define_task(:environment) + end + + let :run_rake_task do + Rake::Task["globalize:migrate_data"].reenable + Rake.application.invoke_task "globalize:migrate_data" + end + + context "Original data with no translated data" do + let(:poll) do + create(:poll).tap do |poll| + poll.translations.delete_all + poll.update_column(:name, "Original") + poll.reload + end + end + + it "copies the original data" do + expect(poll.send(:"name_#{I18n.locale}")).to be nil + expect(poll.name).to eq("Original") + + run_rake_task + poll.reload + + expect(poll.name).to eq("Original") + expect(poll.send(:"name_#{I18n.locale}")).to eq("Original") + end + end + + context "Original data with blank translated data" do + let(:banner) do + create(:banner).tap do |banner| + banner.update_column(:title, "Original") + banner.translations.first.update_column(:title, "") + end + end + + it "copies the original data" do + expect(banner.title).to eq("") + + run_rake_task + banner.reload + + expect(banner.title).to eq("Original") + expect(banner.send(:"title_#{I18n.locale}")).to eq("Original") + end + end + + context "Original data with translated data" do + let(:notification) do + create(:admin_notification, title: "Translated").tap do |notification| + notification.update_column(:title, "Original") + end + end + + it "maintains the translated data" do + expect(notification.title).to eq("Translated") + + run_rake_task + notification.reload + + expect(notification.title).to eq("Translated") + expect(notification.send(:"title_#{I18n.locale}")).to eq("Translated") + end + end + end +end From 232d5b0edd55d775cf17e25052d06cdbc964655f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Fri, 5 Oct 2018 14:19:44 +0200 Subject: [PATCH 544/565] Migrate custom pages data to their locale --- lib/tasks/globalize.rake | 10 ++++++-- spec/lib/tasks/globalize_spec.rb | 43 ++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/lib/tasks/globalize.rake b/lib/tasks/globalize.rake index 37acb06cb..69e10508e 100644 --- a/lib/tasks/globalize.rake +++ b/lib/tasks/globalize.rake @@ -22,8 +22,14 @@ namespace :globalize do model_class.find_each do |record| fields.each do |field| - if record.send(:"#{field}_#{I18n.locale}").blank? - record.send(:"#{field}_#{I18n.locale}=", record.untranslated_attributes[field.to_s]) + locale = if model_class == SiteCustomization::Page && record.locale.present? + record.locale + else + I18n.locale + end + + if record.send(:"#{field}_#{locale}").blank? + record.send(:"#{field}_#{locale}=", record.untranslated_attributes[field.to_s]) end end diff --git a/spec/lib/tasks/globalize_spec.rb b/spec/lib/tasks/globalize_spec.rb index 2b00353d3..7d3dbbba5 100644 --- a/spec/lib/tasks/globalize_spec.rb +++ b/spec/lib/tasks/globalize_spec.rb @@ -72,5 +72,48 @@ describe "Globalize tasks" do expect(notification.send(:"title_#{I18n.locale}")).to eq("Translated") end end + + context "Custom page with a different locale and no translations" do + let(:page) do + create(:site_customization_page, locale: :fr).tap do |page| + page.translations.delete_all + page.update_column(:title, "en Français") + page.reload + end + end + + it "copies the original data to both the page's locale" do + expect(page.title).to eq("en Français") + expect(page.title_fr).to be nil + expect(page.send(:"title_#{I18n.locale}")).to be nil + + run_rake_task + page.reload + + expect(page.title).to eq("en Français") + expect(page.title_fr).to eq("en Français") + expect(page.send(:"title_#{I18n.locale}")).to be nil + end + end + + context "Custom page with a different locale and existing translations" do + let(:page) do + create(:site_customization_page, title: "In English", locale: :fr).tap do |page| + page.update_column(:title, "en Français") + end + end + + it "copies the original data to the page's locale" do + expect(page.title_fr).to be nil + expect(page.title).to eq("In English") + + run_rake_task + page.reload + + expect(page.title).to eq("In English") + expect(page.title_fr).to eq("en Français") + expect(page.send(:"title_#{I18n.locale}")).to eq("In English") + end + end end end From b9906209ea795273f0020253cf0e67f3c96fbc8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 17 Oct 2018 03:51:50 +0200 Subject: [PATCH 545/565] Use `migrate_data` option for globalize This way the task to migrate the data doesn't have to be run manually if these migrations weren't already executed. --- ...20180323190027_add_translate_milestones.rb | 11 ++++--- ...115545_create_i18n_content_translations.rb | 5 +++- .../20180727140800_add_banner_translations.rb | 7 +++-- ...20800_add_homepage_content_translations.rb | 11 ++++--- .../20180730213824_add_poll_translations.rb | 9 ++++-- ...800_add_admin_notification_translations.rb | 7 +++-- ...31173147_add_poll_question_translations.rb | 3 +- ...9_add_poll_question_answer_translations.rb | 7 +++-- ..._collaborative_legislation_translations.rb | 30 ++++++++++++------- .../20180924071722_add_translate_pages.rb | 14 +++++---- 10 files changed, 69 insertions(+), 35 deletions(-) diff --git a/db/migrate/20180323190027_add_translate_milestones.rb b/db/migrate/20180323190027_add_translate_milestones.rb index 6e27583a8..6767d8e84 100644 --- a/db/migrate/20180323190027_add_translate_milestones.rb +++ b/db/migrate/20180323190027_add_translate_milestones.rb @@ -1,9 +1,12 @@ class AddTranslateMilestones < ActiveRecord::Migration def self.up - Budget::Investment::Milestone.create_translation_table!({ - title: :string, - description: :text - }) + Budget::Investment::Milestone.create_translation_table!( + { + title: :string, + description: :text + }, + { migrate_data: true } + ) end def self.down diff --git a/db/migrate/20180718115545_create_i18n_content_translations.rb b/db/migrate/20180718115545_create_i18n_content_translations.rb index e472f0622..8e6fde21c 100644 --- a/db/migrate/20180718115545_create_i18n_content_translations.rb +++ b/db/migrate/20180718115545_create_i18n_content_translations.rb @@ -6,7 +6,10 @@ class CreateI18nContentTranslations < ActiveRecord::Migration reversible do |dir| dir.up do - I18nContent.create_translation_table! :value => :text + I18nContent.create_translation_table!( + { value: :text }, + { migrate_data: true } + ) end dir.down do diff --git a/db/migrate/20180727140800_add_banner_translations.rb b/db/migrate/20180727140800_add_banner_translations.rb index 7678a34a1..4c4c9391e 100644 --- a/db/migrate/20180727140800_add_banner_translations.rb +++ b/db/migrate/20180727140800_add_banner_translations.rb @@ -2,8 +2,11 @@ class AddBannerTranslations < ActiveRecord::Migration def self.up Banner.create_translation_table!( - title: :string, - description: :text + { + title: :string, + description: :text + }, + { migrate_data: true } ) end diff --git a/db/migrate/20180730120800_add_homepage_content_translations.rb b/db/migrate/20180730120800_add_homepage_content_translations.rb index 415964536..b344f95c3 100644 --- a/db/migrate/20180730120800_add_homepage_content_translations.rb +++ b/db/migrate/20180730120800_add_homepage_content_translations.rb @@ -2,10 +2,13 @@ class AddHomepageContentTranslations < ActiveRecord::Migration def self.up Widget::Card.create_translation_table!( - label: :string, - title: :string, - description: :text, - link_text: :string + { + label: :string, + title: :string, + description: :text, + link_text: :string + }, + { migrate_data: true } ) end diff --git a/db/migrate/20180730213824_add_poll_translations.rb b/db/migrate/20180730213824_add_poll_translations.rb index 4a4fa72a4..75495d327 100644 --- a/db/migrate/20180730213824_add_poll_translations.rb +++ b/db/migrate/20180730213824_add_poll_translations.rb @@ -2,9 +2,12 @@ class AddPollTranslations < ActiveRecord::Migration def self.up Poll.create_translation_table!( - name: :string, - summary: :text, - description: :text + { + name: :string, + summary: :text, + description: :text + }, + { migrate_data: true } ) end diff --git a/db/migrate/20180731150800_add_admin_notification_translations.rb b/db/migrate/20180731150800_add_admin_notification_translations.rb index 519751fd7..fb76a42d2 100644 --- a/db/migrate/20180731150800_add_admin_notification_translations.rb +++ b/db/migrate/20180731150800_add_admin_notification_translations.rb @@ -2,8 +2,11 @@ class AddAdminNotificationTranslations < ActiveRecord::Migration def self.up AdminNotification.create_translation_table!( - title: :string, - body: :text + { + title: :string, + body: :text + }, + { migrate_data: true } ) end diff --git a/db/migrate/20180731173147_add_poll_question_translations.rb b/db/migrate/20180731173147_add_poll_question_translations.rb index a167ea00a..f62fbc161 100644 --- a/db/migrate/20180731173147_add_poll_question_translations.rb +++ b/db/migrate/20180731173147_add_poll_question_translations.rb @@ -2,7 +2,8 @@ class AddPollQuestionTranslations < ActiveRecord::Migration def self.up Poll::Question.create_translation_table!( - title: :string + { title: :string }, + { migrate_data: true } ) end diff --git a/db/migrate/20180801114529_add_poll_question_answer_translations.rb b/db/migrate/20180801114529_add_poll_question_answer_translations.rb index 91643f443..3203d7a1f 100644 --- a/db/migrate/20180801114529_add_poll_question_answer_translations.rb +++ b/db/migrate/20180801114529_add_poll_question_answer_translations.rb @@ -2,8 +2,11 @@ class AddPollQuestionAnswerTranslations < ActiveRecord::Migration def self.up Poll::Question::Answer.create_translation_table!( - title: :string, - description: :text + { + title: :string, + description: :text + }, + { migrate_data: true } ) end diff --git a/db/migrate/20180801140800_add_collaborative_legislation_translations.rb b/db/migrate/20180801140800_add_collaborative_legislation_translations.rb index 7c0fb9eb3..569689a73 100644 --- a/db/migrate/20180801140800_add_collaborative_legislation_translations.rb +++ b/db/migrate/20180801140800_add_collaborative_legislation_translations.rb @@ -2,25 +2,33 @@ class AddCollaborativeLegislationTranslations < ActiveRecord::Migration def self.up Legislation::Process.create_translation_table!( - title: :string, - summary: :text, - description: :text, - additional_info: :text, + { + title: :string, + summary: :text, + description: :text, + additional_info: :text, + }, + { migrate_data: true } ) Legislation::Question.create_translation_table!( - title: :text + { title: :text }, + { migrate_data: true } ) Legislation::DraftVersion.create_translation_table!( - title: :string, - changelog: :text, - body: :text, - body_html: :text, - toc_html: :text + { + title: :string, + changelog: :text, + body: :text, + body_html: :text, + toc_html: :text + }, + { migrate_data: true } ) Legislation::QuestionOption.create_translation_table!( - value: :string + { value: :string }, + { migrate_data: true } ) end diff --git a/db/migrate/20180924071722_add_translate_pages.rb b/db/migrate/20180924071722_add_translate_pages.rb index 6dc939dec..250f46dee 100644 --- a/db/migrate/20180924071722_add_translate_pages.rb +++ b/db/migrate/20180924071722_add_translate_pages.rb @@ -1,10 +1,14 @@ class AddTranslatePages < ActiveRecord::Migration def self.up - SiteCustomization::Page.create_translation_table!({ - title: :string, - subtitle: :string, - content: :text - }) + SiteCustomization::Page.create_translation_table!( + { + title: :string, + subtitle: :string, + content: :text + }, + { migrate_data: true } + ) + change_column :site_customization_pages, :title, :string, :null => true end From 9b671a81329c04703cc0a5949966181304304f89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 17 Oct 2018 03:55:59 +0200 Subject: [PATCH 546/565] Log failed data migrations In theory, it should never happen, but that's why exceptions exist. --- lib/tasks/globalize.rake | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/tasks/globalize.rake b/lib/tasks/globalize.rake index 69e10508e..02c1e5f02 100644 --- a/lib/tasks/globalize.rake +++ b/lib/tasks/globalize.rake @@ -1,6 +1,9 @@ namespace :globalize do desc "Migrates existing data to translation tables" task migrate_data: :environment do + logger = Logger.new(STDOUT) + logger.formatter = proc { |severity, _datetime, _progname, msg| "#{severity} #{msg}\n" } + [ AdminNotification, Banner, @@ -16,7 +19,7 @@ namespace :globalize do SiteCustomization::Page, Widget::Card ].each do |model_class| - Logger.new(STDOUT).info "Migrating #{model_class} data" + logger.info "Migrating #{model_class} data" fields = model_class.translated_attribute_names @@ -33,7 +36,11 @@ namespace :globalize do end end - record.save! + begin + record.save! + rescue ActiveRecord::RecordInvalid + logger.error "Failed to save #{model_class} with id #{record.id}" + end end end end From 10b0d8232d7a6399acb2b14ec19f4a30597fe8b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 17 Oct 2018 13:41:14 +0200 Subject: [PATCH 547/565] Add task to simulate data migration This way we can check everything is OK before actually migrating the data to the translations tables. --- lib/tasks/globalize.rake | 49 ++++++++++++++++++++++++++++---- spec/lib/tasks/globalize_spec.rb | 30 +++++++++++++++++++ 2 files changed, 73 insertions(+), 6 deletions(-) diff --git a/lib/tasks/globalize.rake b/lib/tasks/globalize.rake index 02c1e5f02..f71a252ae 100644 --- a/lib/tasks/globalize.rake +++ b/lib/tasks/globalize.rake @@ -1,9 +1,5 @@ namespace :globalize do - desc "Migrates existing data to translation tables" - task migrate_data: :environment do - logger = Logger.new(STDOUT) - logger.formatter = proc { |severity, _datetime, _progname, msg| "#{severity} #{msg}\n" } - + def translatable_classes [ AdminNotification, Banner, @@ -18,7 +14,13 @@ namespace :globalize do Poll::Question::Answer, SiteCustomization::Page, Widget::Card - ].each do |model_class| + ] + end + + def migrate_data + @errored = false + + translatable_classes.each do |model_class| logger.info "Migrating #{model_class} data" fields = model_class.translated_attribute_names @@ -40,8 +42,43 @@ namespace :globalize do record.save! rescue ActiveRecord::RecordInvalid logger.error "Failed to save #{model_class} with id #{record.id}" + @errored = true end end end end + + def logger + @logger ||= Logger.new(STDOUT).tap do |logger| + logger.formatter = proc { |severity, _datetime, _progname, msg| "#{severity} #{msg}\n" } + end + end + + def errored? + @errored + end + + desc "Simulates migrating existing data to translation tables" + task simulate_migrate_data: :environment do + logger.info "Starting migrate data simulation" + + ActiveRecord::Base.transaction do + migrate_data + raise ActiveRecord::Rollback + end + + if errored? + logger.error "Simulation failed! Please check the errors and solve them before proceeding." + raise "Simulation failed!" + else + logger.info "Migrate data simulation ended successfully" + end + end + + desc "Migrates existing data to translation tables" + task migrate_data: :simulate_migrate_data do + logger.info "Starting data migration" + migrate_data + logger.info "Finished data migration" + end end diff --git a/spec/lib/tasks/globalize_spec.rb b/spec/lib/tasks/globalize_spec.rb index 7d3dbbba5..84592f566 100644 --- a/spec/lib/tasks/globalize_spec.rb +++ b/spec/lib/tasks/globalize_spec.rb @@ -11,6 +11,7 @@ describe "Globalize tasks" do end let :run_rake_task do + Rake::Task["globalize:simulate_migrate_data"].reenable Rake::Task["globalize:migrate_data"].reenable Rake.application.invoke_task "globalize:migrate_data" end @@ -115,5 +116,34 @@ describe "Globalize tasks" do expect(page.send(:"title_#{I18n.locale}")).to eq("In English") end end + + context "Invalid data" do + let!(:valid_process) do + create(:legislation_process).tap do |process| + process.translations.delete_all + process.update_column(:title, "Title") + process.reload + end + end + + let!(:invalid_process) do + create(:legislation_process).tap do |process| + process.translations.delete_all + process.update_column(:title, "") + process.reload + end + end + + it "simulates the task and aborts without creating any translations" do + expect(valid_process).to be_valid + expect(invalid_process).not_to be_valid + + expect { run_rake_task }.to raise_exception("Simulation failed!") + + expect(Legislation::Process::Translation.count).to eq 0 + expect(valid_process.reload.title).to eq "Title" + expect(invalid_process.reload.title).to eq "" + end + end end end From adf03b9e1b49bcf2d0a0a89dd8e5518d20c7d0eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 22 Oct 2018 11:13:07 +0200 Subject: [PATCH 548/565] Don't abort the migration if the simulation fails We think aborting the migration will generate more headaches to system administrators, who will have to manually check and fix every invalid record before anything can be migrated. --- lib/tasks/globalize.rake | 11 +++++++---- spec/lib/tasks/globalize_spec.rb | 9 +++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/lib/tasks/globalize.rake b/lib/tasks/globalize.rake index f71a252ae..ca47eaa2c 100644 --- a/lib/tasks/globalize.rake +++ b/lib/tasks/globalize.rake @@ -41,7 +41,7 @@ namespace :globalize do begin record.save! rescue ActiveRecord::RecordInvalid - logger.error "Failed to save #{model_class} with id #{record.id}" + logger.warn "Failed to save #{model_class} with id #{record.id}" @errored = true end end @@ -68,17 +68,20 @@ namespace :globalize do end if errored? - logger.error "Simulation failed! Please check the errors and solve them before proceeding." - raise "Simulation failed!" + logger.warn "Some database records will not be migrated" else logger.info "Migrate data simulation ended successfully" end end desc "Migrates existing data to translation tables" - task migrate_data: :simulate_migrate_data do + task migrate_data: :environment do logger.info "Starting data migration" migrate_data logger.info "Finished data migration" + + if errored? + logger.warn "Some database records couldn't be migrated; please check the log messages" + end end end diff --git a/spec/lib/tasks/globalize_spec.rb b/spec/lib/tasks/globalize_spec.rb index 84592f566..5b9d4a435 100644 --- a/spec/lib/tasks/globalize_spec.rb +++ b/spec/lib/tasks/globalize_spec.rb @@ -11,7 +11,6 @@ describe "Globalize tasks" do end let :run_rake_task do - Rake::Task["globalize:simulate_migrate_data"].reenable Rake::Task["globalize:migrate_data"].reenable Rake.application.invoke_task "globalize:migrate_data" end @@ -134,14 +133,16 @@ describe "Globalize tasks" do end end - it "simulates the task and aborts without creating any translations" do + it "ignores invalid data and migrates valid data" do expect(valid_process).to be_valid expect(invalid_process).not_to be_valid - expect { run_rake_task }.to raise_exception("Simulation failed!") + run_rake_task - expect(Legislation::Process::Translation.count).to eq 0 + expect(valid_process.translations.count).to eq 1 expect(valid_process.reload.title).to eq "Title" + + expect(invalid_process.translations.count).to eq 0 expect(invalid_process.reload.title).to eq "" end end From 70195a1c9135371845737d74b2655558c9cd656e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 22 Oct 2018 11:29:32 +0200 Subject: [PATCH 549/565] Fix bug with non-underscored locales Ruby can't have hyphens in method names, so sending something like `record.title_pt-BR` would raise an exception. Using globalize's `localized_attr_name_for` method fixes the bug. Thanks Marko for the tip. --- lib/tasks/globalize.rake | 6 ++++-- spec/lib/tasks/globalize_spec.rb | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/lib/tasks/globalize.rake b/lib/tasks/globalize.rake index ca47eaa2c..51a23042e 100644 --- a/lib/tasks/globalize.rake +++ b/lib/tasks/globalize.rake @@ -33,8 +33,10 @@ namespace :globalize do I18n.locale end - if record.send(:"#{field}_#{locale}").blank? - record.send(:"#{field}_#{locale}=", record.untranslated_attributes[field.to_s]) + translated_field = record.localized_attr_name_for(field, locale) + + if record.send(translated_field).blank? + record.send(:"#{translated_field}=", record.untranslated_attributes[field.to_s]) end end diff --git a/spec/lib/tasks/globalize_spec.rb b/spec/lib/tasks/globalize_spec.rb index 5b9d4a435..b685bb95e 100644 --- a/spec/lib/tasks/globalize_spec.rb +++ b/spec/lib/tasks/globalize_spec.rb @@ -146,5 +146,23 @@ describe "Globalize tasks" do expect(invalid_process.reload.title).to eq "" end end + + context "locale with non-underscored name" do + before { I18n.locale = :"pt-BR" } + + let!(:milestone) do + create(:budget_investment_milestone).tap do |milestone| + milestone.translations.delete_all + milestone.update_column(:title, "Português") + milestone.reload + end + end + + it "runs the migration successfully" do + run_rake_task + + expect(milestone.reload.title).to eq "Português" + end + end end end From bf79ddb858a5e4c8773794b1a82d6fb6cd811df0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Fri, 26 Oct 2018 11:34:08 +0200 Subject: [PATCH 550/565] Remove rubocop_todo file No developers are maintaining it anymore. --- .rubocop.yml | 1 - .rubocop_todo.yml | 71 ----------------------------------------------- 2 files changed, 72 deletions(-) delete mode 100644 .rubocop_todo.yml diff --git a/.rubocop.yml b/.rubocop.yml index 93a1a6ce9..b076ce64b 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,4 +1,3 @@ -inherit_from: .rubocop_todo.yml require: rubocop-rspec AllCops: diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml deleted file mode 100644 index f3a40d8ab..000000000 --- a/.rubocop_todo.yml +++ /dev/null @@ -1,71 +0,0 @@ -# This configuration was generated by -# `rubocop --auto-gen-config` -# on 2018-02-10 21:25:09 +0100 using RuboCop version 0.52.1. -# The point is for the user to remove these configuration records -# one by one as the offenses are removed from the code base. -# Note that changes in the inspected code, or installation of new -# versions of RuboCop, may require this file to be generated again. - -# Offense count: 10 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle. -# SupportedStyles: normal, rails -Layout/IndentationConsistency: - Exclude: - - 'spec/features/tracks_spec.rb' - - 'spec/models/budget/investment_spec.rb' - - 'spec/models/legislation/draft_version_spec.rb' - - 'spec/models/proposal_spec.rb' - -# Offense count: 1225 -# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns. -# URISchemes: http, https -Metrics/LineLength: - Max: 248 - -# Offense count: 4 -# Cop supports --auto-correct. -Performance/RedundantMatch: - Exclude: - - 'app/controllers/valuation/budget_investments_controller.rb' - - 'app/controllers/valuation/spending_proposals_controller.rb' - -# Offense count: 11 -RSpec/DescribeClass: - Exclude: - - 'spec/customization_engine_spec.rb' - - 'spec/i18n_spec.rb' - - 'spec/lib/acts_as_paranoid_aliases_spec.rb' - - 'spec/lib/cache_spec.rb' - - 'spec/lib/graphql_spec.rb' - - 'spec/lib/tasks/communities_spec.rb' - - 'spec/lib/tasks/dev_seed_spec.rb' - - 'spec/lib/tasks/map_location_spec.rb' - - 'spec/lib/tasks/settings_spec.rb' - - 'spec/models/abilities/organization_spec.rb' - - 'spec/views/welcome/index.html.erb_spec.rb' - -# Offense count: 2 -# Configuration parameters: SkipBlocks, EnforcedStyle. -# SupportedStyles: described_class, explicit -RSpec/DescribedClass: - Exclude: - - 'spec/controllers/concerns/has_filters_spec.rb' - - 'spec/controllers/concerns/has_orders_spec.rb' - -# Offense count: 6 -RSpec/ExpectActual: - Exclude: - - 'spec/routing/**/*' - - 'spec/features/admin/budget_investments_spec.rb' - -# Offense count: 830 -# Configuration parameters: AssignmentOnly. -RSpec/InstanceVariable: - Enabled: false - -# Offense count: 1 -# Configuration parameters: IgnoreSymbolicNames. -RSpec/VerifiedDoubles: - Exclude: - - 'spec/models/verification/management/email_spec.rb' From 6a42f6fee20b828d271f4b96c3a946dabcf27d9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Fri, 26 Oct 2018 11:37:07 +0200 Subject: [PATCH 551/565] Add basic rubocop configuraton for Hound This way we can ask contributors to follow some basic guidelines like removing trailing whitespaces while not overwhelming them with all our rules. --- .hound.yml | 2 ++ .rubocop.yml | 29 +---------------------------- .rubocop_basic.yml | 28 ++++++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 28 deletions(-) create mode 100644 .hound.yml create mode 100644 .rubocop_basic.yml diff --git a/.hound.yml b/.hound.yml new file mode 100644 index 000000000..a9bd7cf34 --- /dev/null +++ b/.hound.yml @@ -0,0 +1,2 @@ +rubocop: + config_file: .rubocop_basic.yml \ No newline at end of file diff --git a/.rubocop.yml b/.rubocop.yml index b076ce64b..02cf06874 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,35 +1,8 @@ -require: rubocop-rspec - -AllCops: - DisplayCopNames: true - DisplayStyleGuide: true - Include: - - '**/Rakefile' - - '**/config.ru' - Exclude: - - 'db/**/*' - - 'config/**/*' - - 'script/**/*' - TargetRubyVersion: 2.3 - # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop - # to ignore them, so only the ones explicitly set in this file are enabled. - DisabledByDefault: true +inherit_from: .rubocop_basic.yml Metrics/LineLength: Max: 100 -Layout/IndentationConsistency: - EnforcedStyle: rails - -Layout/EndOfLine: - EnforcedStyle: lf - -Layout/TrailingBlankLines: - Enabled: true - -Layout/TrailingWhitespace: - Enabled: true - Bundler/DuplicatedGem: Enabled: true diff --git a/.rubocop_basic.yml b/.rubocop_basic.yml new file mode 100644 index 000000000..3c95a8a60 --- /dev/null +++ b/.rubocop_basic.yml @@ -0,0 +1,28 @@ +require: rubocop-rspec + +AllCops: + DisplayCopNames: true + DisplayStyleGuide: true + Include: + - '**/Rakefile' + - '**/config.ru' + Exclude: + - 'db/**/*' + - 'config/**/*' + - 'script/**/*' + TargetRubyVersion: 2.3 + # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop + # to ignore them, so only the ones explicitly set in this file are enabled. + DisabledByDefault: true + +Layout/IndentationConsistency: + EnforcedStyle: rails + +Layout/EndOfLine: + EnforcedStyle: lf + +Layout/TrailingBlankLines: + Enabled: true + +Layout/TrailingWhitespace: + Enabled: true From a7a9355a58744194b496ab1a69b09b7a74ff3bd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Fri, 26 Oct 2018 12:13:06 +0200 Subject: [PATCH 552/565] Enable SCSS rules in Hound --- .hound.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.hound.yml b/.hound.yml index a9bd7cf34..26cdad927 100644 --- a/.hound.yml +++ b/.hound.yml @@ -1,2 +1,4 @@ rubocop: - config_file: .rubocop_basic.yml \ No newline at end of file + config_file: .rubocop_basic.yml +scss: + config_file: .scss-lint.yml \ No newline at end of file From dc135333715baf98919081f02e24645e00d7a740 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 8 Aug 2018 12:33:09 +0200 Subject: [PATCH 553/565] Make Capybara check the page between comment votes As pointed out in PR consul#2734: "After clicking the first link, there's an AJAX request which replaces the existing `.in-favor a` and `.against a` links with new elements. So if Capybara tries to click the existing `.against a` link at the same moment it's being replaced, clicking the link won't generate a new request". Making Capybara check the page for new content before clicking the second link solves the problem. This commit solves issues afecting both Madrid's fork and the original CONSUL repo. --- spec/features/comments/legislation_questions_spec.rb | 5 +++++ spec/features/comments/proposals_spec.rb | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/spec/features/comments/legislation_questions_spec.rb b/spec/features/comments/legislation_questions_spec.rb index bc75ecbb7..f9de25023 100644 --- a/spec/features/comments/legislation_questions_spec.rb +++ b/spec/features/comments/legislation_questions_spec.rb @@ -499,6 +499,11 @@ feature 'Commenting legislation questions' do within("#comment_#{@comment.id}_votes") do find('.in_favor a').click + + within('.in_favor') do + expect(page).to have_content "1" + end + find('.against a').click within('.in_favor') do diff --git a/spec/features/comments/proposals_spec.rb b/spec/features/comments/proposals_spec.rb index e7156019f..2b067f556 100644 --- a/spec/features/comments/proposals_spec.rb +++ b/spec/features/comments/proposals_spec.rb @@ -464,6 +464,11 @@ feature 'Commenting proposals' do within("#comment_#{@comment.id}_votes") do find('.in_favor a').click + + within('.in_favor') do + expect(page).to have_content "1" + end + find('.against a').click within('.in_favor') do From a8d2fbab57bf45d7467e42d951ed727f04947ebc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Mon, 29 Oct 2018 11:10:05 +0100 Subject: [PATCH 554/565] Remove described class cop We've agreed `User.new` is easier to read than `described_class.new` and since we are ignoring Hound's comments regarding this topic, we might as well remove it. --- .rubocop.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 02cf06874..3b7a92436 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -252,9 +252,6 @@ RSpec/DescribeMethod: RSpec/DescribeSymbol: Enabled: true -RSpec/DescribedClass: - Enabled: true - RSpec/EmptyExampleGroup: Enabled: true From bfe9ae6ab0b0f075e15fc9857efe99ee460b102e Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Wed, 24 Oct 2018 19:51:44 +0200 Subject: [PATCH 555/565] Add counter of emails sent to newsletter preview --- app/models/newsletter.rb | 1 + app/views/admin/newsletters/show.html.erb | 6 ++++++ config/locales/en/admin.yml | 3 +++ spec/features/admin/emails/newsletters_spec.rb | 14 ++++++++++++++ 4 files changed, 24 insertions(+) diff --git a/app/models/newsletter.rb b/app/models/newsletter.rb index b99e3e2ca..35ed57b91 100644 --- a/app/models/newsletter.rb +++ b/app/models/newsletter.rb @@ -1,4 +1,5 @@ class Newsletter < ActiveRecord::Base + has_many :activities, as: :actionable validates :subject, presence: true validates :segment_recipient, presence: true diff --git a/app/views/admin/newsletters/show.html.erb b/app/views/admin/newsletters/show.html.erb index c6b043c12..450b12d16 100644 --- a/app/views/admin/newsletters/show.html.erb +++ b/app/views/admin/newsletters/show.html.erb @@ -26,6 +26,12 @@ <%= segment_name(@newsletter.segment_recipient) %> <%= t("admin.newsletters.show.affected_users", n: recipients_count) %> </div> + + <div class="small-12 column"> + <strong> + <%= t("admin.newsletters.show.sent_emails", count: @newsletter.activities.count) %> + </strong> + </div> </div> <div class="small-12 column"> diff --git a/config/locales/en/admin.yml b/config/locales/en/admin.yml index aa7a23f8e..c1f940981 100644 --- a/config/locales/en/admin.yml +++ b/config/locales/en/admin.yml @@ -641,6 +641,9 @@ en: title: Newsletter preview send: Send affected_users: (%{n} affected users) + sent_emails: + one: 1 email sent + other: "%{count} emails sent" sent_at: Sent at subject: Subject segment_recipient: Recipients diff --git a/spec/features/admin/emails/newsletters_spec.rb b/spec/features/admin/emails/newsletters_spec.rb index 9371c2f6e..102620245 100644 --- a/spec/features/admin/emails/newsletters_spec.rb +++ b/spec/features/admin/emails/newsletters_spec.rb @@ -146,6 +146,20 @@ feature "Admin newsletter emails" do end end + context "Counter of emails sent", :js do + scenario "Display counter" do + newsletter = create(:newsletter, segment_recipient: "administrators") + visit admin_newsletter_path(newsletter) + + accept_confirm { click_link "Send" } + + expect(page).to have_content "Newsletter sent successfully" + + expect(page).to have_content "1 affected users" + expect(page).to have_content "1 email sent" + end + end + scenario "Select list of users to send newsletter" do UserSegments::SEGMENTS.each do |user_segment| visit new_admin_newsletter_path From ac7d1ebf272682f49cd4e264c61ad0f0e779fe1b Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Wed, 24 Oct 2018 16:31:14 +0200 Subject: [PATCH 556/565] Increase delayed jobs max run time --- config/initializers/delayed_job_config.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/initializers/delayed_job_config.rb b/config/initializers/delayed_job_config.rb index eebdf0843..325d3561d 100644 --- a/config/initializers/delayed_job_config.rb +++ b/config/initializers/delayed_job_config.rb @@ -6,7 +6,7 @@ end Delayed::Worker.destroy_failed_jobs = false Delayed::Worker.sleep_delay = 2 Delayed::Worker.max_attempts = 3 -Delayed::Worker.max_run_time = 30.minutes +Delayed::Worker.max_run_time = 1500.minutes Delayed::Worker.read_ahead = 10 Delayed::Worker.default_queue_name = 'default' Delayed::Worker.raise_signal_exceptions = :term From 816f0c55c0c6cdace7bde67b200a32317fb9796a Mon Sep 17 00:00:00 2001 From: decabeza <alberto@decabeza.es> Date: Wed, 31 Oct 2018 11:42:00 +0100 Subject: [PATCH 557/565] Adds new social share partial for proposals --- app/views/proposals/_social_share.html.erb | 10 ++++++++++ app/views/proposals/_votes.html.erb | 9 +++------ app/views/proposals/show.html.erb | 8 ++------ app/views/shared/_social_share.html.erb | 14 +++++++++----- config/locales/en/general.yml | 3 +++ 5 files changed, 27 insertions(+), 17 deletions(-) create mode 100644 app/views/proposals/_social_share.html.erb diff --git a/app/views/proposals/_social_share.html.erb b/app/views/proposals/_social_share.html.erb new file mode 100644 index 000000000..b675fe192 --- /dev/null +++ b/app/views/proposals/_social_share.html.erb @@ -0,0 +1,10 @@ +<%= render 'shared/social_share', + share_title: share_title, + title: proposal.title, + url: proposal_url(proposal), + description: t("proposals.share.message", + summary: proposal.summary, + org: setting['org_name']), + mobile: t("proposals.share.message_mobile", + summary: proposal.summary, + handle: setting['twitter_handle']) %> diff --git a/app/views/proposals/_votes.html.erb b/app/views/proposals/_votes.html.erb index 92b680493..6624448fe 100644 --- a/app/views/proposals/_votes.html.erb +++ b/app/views/proposals/_votes.html.erb @@ -10,7 +10,8 @@ <%= t("proposals.proposal.supports", count: proposal.total_votes) %>  <span> <abbr> - <%= t("proposals.proposal.supports_necessary", number: number_with_delimiter(Proposal.votes_needed_for_success)) %> + <%= t("proposals.proposal.supports_necessary", + number: number_with_delimiter(Proposal.votes_needed_for_success)) %> </abbr> </span> </span> @@ -60,11 +61,7 @@ <% if voted_for?(@proposal_votes, proposal) && setting['twitter_handle'] %> <div class="share-supported"> - <%= render partial: 'shared/social_share', locals: { - title: proposal.title, - url: proposal_url(proposal), - description: proposal.summary - } %> + <%= render 'proposals/social_share', proposal: proposal, share_title: false %> </div> <% end %> </div> diff --git a/app/views/proposals/show.html.erb b/app/views/proposals/show.html.erb index 9794c0365..2c40a7075 100644 --- a/app/views/proposals/show.html.erb +++ b/app/views/proposals/show.html.erb @@ -192,12 +192,8 @@ { proposal: @proposal, vote_url: vote_proposal_path(@proposal, value: 'yes') } %> <% end %> </div> - <%= render partial: 'shared/social_share', locals: { - share_title: t("proposals.show.share"), - title: @proposal.title, - url: proposal_url(@proposal), - description: @proposal.summary - } %> + + <%= render 'proposals/social_share', proposal: @proposal, share_title: t("proposals.show.share") %> <% if current_user %> <div class="sidebar-divider"></div> diff --git a/app/views/shared/_social_share.html.erb b/app/views/shared/_social_share.html.erb index 7148f4f0a..f2346c30c 100644 --- a/app/views/shared/_social_share.html.erb +++ b/app/views/shared/_social_share.html.erb @@ -1,13 +1,17 @@ +<% description = local_assigns.fetch(:description, '') %> +<% description = truncate(ActionView::Base.full_sanitizer.sanitize(description), length: 140) %> <% if local_assigns[:share_title].present? %> <div id="social-share" class="sidebar-divider"></div> <p class="sidebar-title"><%= share_title %></p> <% end %> <div class="social-share-full"> - <%= social_share_button_tag("#{title} #{setting['twitter_hashtag']}", - :url => local_assigns[:url], - :image => local_assigns[:image_url].present? ? local_assigns[:image_url] : '', - :desc => local_assigns[:description].present? ? local_assigns[:description] : '' ) %> - <a href="whatsapp://send?text=<%= CGI.escape(title) %> <%= url %>" + <%= social_share_button_tag("#{title} #{setting['twitter_hashtag']} #{setting['twitter_handle']}", + url: local_assigns[:url], + image: local_assigns.fetch(:image_url, ''), + desc: description, + 'data-twitter-title': local_assigns[:mobile], + 'data-telegram-title': local_assigns[:mobile])%> + <a href="whatsapp://send?text=<%= local_assigns[:mobile]%> <%= url %>" class="show-for-small-only" data-action="share/whatsapp/share"> <span class="icon-whatsapp whatsapp"></span> <span class="show-for-sr"><%= t("social.whatsapp") %></span> diff --git a/config/locales/en/general.yml b/config/locales/en/general.yml index 5de10978f..096fbc83e 100644 --- a/config/locales/en/general.yml +++ b/config/locales/en/general.yml @@ -450,6 +450,9 @@ en: update: form: submit_button: Save changes + share: + message: "I supported the proposal %{summary} in %{org}. If you're interested, support it too!" + message_mobile: "I supported the proposal %{summary} in %{handle}. If you're interested, support it too!" polls: all: "All" no_dates: "no date assigned" From 1a15cb6a42b32b65914fbb0f2c5b712a3c013d01 Mon Sep 17 00:00:00 2001 From: decabeza <alberto@decabeza.es> Date: Wed, 31 Oct 2018 11:51:44 +0100 Subject: [PATCH 558/565] Refactors social meta tags spec --- db/dev_seeds/settings.rb | 3 +- spec/features/social_media_meta_tags_spec.rb | 39 +++++++++----------- spec/support/matchers/have_meta.rb | 15 ++++++++ spec/support/matchers/have_property.rb | 15 ++++++++ 4 files changed, 49 insertions(+), 23 deletions(-) create mode 100644 spec/support/matchers/have_meta.rb create mode 100644 spec/support/matchers/have_property.rb diff --git a/db/dev_seeds/settings.rb b/db/dev_seeds/settings.rb index 756ba9785..388742217 100644 --- a/db/dev_seeds/settings.rb +++ b/db/dev_seeds/settings.rb @@ -56,7 +56,8 @@ section "Creating Settings" do Setting.create(key: 'mailer_from_name', value: 'CONSUL') Setting.create(key: 'mailer_from_address', value: 'noreply@consul.dev') Setting.create(key: 'meta_title', value: 'CONSUL') - Setting.create(key: 'meta_description', value: 'Citizen Participation & Open Gov Application') + Setting.create(key: 'meta_description', value: 'Citizen participation tool for an open, '\ + 'transparent and democratic government') Setting.create(key: 'meta_keywords', value: 'citizen participation, open government') Setting.create(key: 'verification_offices_url', value: 'http://oficinas-atencion-ciudadano.url/') Setting.create(key: 'min_age_to_participate', value: '16') diff --git a/spec/features/social_media_meta_tags_spec.rb b/spec/features/social_media_meta_tags_spec.rb index dcaef7aee..0eb1d30f6 100644 --- a/spec/features/social_media_meta_tags_spec.rb +++ b/spec/features/social_media_meta_tags_spec.rb @@ -5,16 +5,9 @@ feature 'Social media meta tags' do context 'Setting social media meta tags' do let(:meta_keywords) { 'citizen, participation, open government' } - let(:meta_title) { 'CONSUL TEST' } - let(:meta_description) do - "<p>Paragraph</p> <a href=\"http://google.es\">link</a> Lorem ipsum dolr"\ - " sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididt"\ - " ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostud"\ - end - let(:sanitized_truncated_meta_description) do - "Paragraph link Lorem ipsum dolr sit amet, consectetur adipisicing elit,"\ - " sed do eiusmod tempor incididt ut labore et dolore magna aliqua. ..." - end + let(:meta_title) { 'CONSUL' } + let(:meta_description) { 'Citizen participation tool for an open, '\ + 'transparent and democratic government.' } let(:twitter_handle) { '@consul_test' } let(:url) { 'http://consul.dev' } let(:facebook_handle) { 'consultest' } @@ -43,19 +36,21 @@ feature 'Social media meta tags' do scenario 'Social media meta tags partial render settings content' do visit root_path + expect(page).to have_meta "keywords", with: meta_keywords + expect(page).to have_meta "twitter:site", with: twitter_handle + expect(page).to have_meta "twitter:title", with: meta_title + expect(page).to have_meta "twitter:description", with: meta_description + expect(page).to have_meta "twitter:image", + with:'http://www.example.com/social_media_icon_twitter.png' - expect(page).to have_css 'meta[name="keywords"][content="' + meta_keywords + '"]', visible: false - expect(page).to have_css 'meta[name="twitter:site"][content="' + twitter_handle + '"]', visible: false - expect(page).to have_css 'meta[name="twitter:title"][content="' + meta_title + '"]', visible: false - expect(page).to have_css 'meta[name="twitter:description"][content="' + sanitized_truncated_meta_description + '"]', visible: false - expect(page).to have_css 'meta[name="twitter:image"][content="http://www.example.com/social_media_icon_twitter.png"]', visible: false - expect(page).to have_css 'meta[property="og:title"][content="' + meta_title + '"]', visible: false - expect(page).to have_css 'meta[property="article:publisher"][content="' + url + '"]', visible: false - expect(page).to have_css 'meta[property="article:author"][content="https://www.facebook.com/' + facebook_handle + '"]', visible: false - expect(page).to have_css 'meta[property="og:url"][content="http://www.example.com/"]', visible: false - expect(page).to have_css 'meta[property="og:image"][content="http://www.example.com/social_media_icon.png"]', visible: false - expect(page).to have_css 'meta[property="og:site_name"][content="' + org_name + '"]', visible: false - expect(page).to have_css 'meta[property="og:description"][content="' + sanitized_truncated_meta_description + '"]', visible: false + expect(page).to have_property "og:title", with: meta_title + expect(page).to have_property "article:publisher", with: url + expect(page).to have_property "article:author", with: 'https://www.facebook.com/' + + facebook_handle + expect(page).to have_property "og:url", with: 'http://www.example.com/' + expect(page).to have_property "og:image", with: 'http://www.example.com/social_media_icon.png' + expect(page).to have_property "og:site_name", with: org_name + expect(page).to have_property "og:description", with: meta_description end end diff --git a/spec/support/matchers/have_meta.rb b/spec/support/matchers/have_meta.rb new file mode 100644 index 000000000..cdee080a1 --- /dev/null +++ b/spec/support/matchers/have_meta.rb @@ -0,0 +1,15 @@ +RSpec::Matchers.define :have_meta do |name, with:| + match do + has_css?("meta[name='#{name}'][content='#{with}']", visible: false) + end + + failure_message do + meta = first("meta[name='#{name}']", visible: false) + + if meta + "expected to find meta tag #{name} with '#{with}', but had '#{meta[:content]}'" + else + "expected to find meta tag #{name} but there were no matches." + end + end +end diff --git a/spec/support/matchers/have_property.rb b/spec/support/matchers/have_property.rb new file mode 100644 index 000000000..17d83ccd0 --- /dev/null +++ b/spec/support/matchers/have_property.rb @@ -0,0 +1,15 @@ +RSpec::Matchers.define :have_property do |property, with:| + match do + has_css?("meta[property='#{property}'][content='#{with}']", visible: false) + end + + failure_message do + meta = first("meta[property='#{property}']", visible: false) + + if meta + "expected to find meta tag #{property} with '#{with}', but had '#{meta[:content]}'" + else + "expected to find meta tag #{property} but there were no matches." + end + end +end From 745c9cd72bdc8b037f9b7b7fd9b3a11dcf869d35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= <javim@elretirao.net> Date: Wed, 29 Aug 2018 08:49:55 +0200 Subject: [PATCH 559/565] Don't check already present page content The content 'An example legislation process' is already present before we click the "All" link. Not checking the page content properly sometimes resulted in the second click being executed before the first request had been completed, making the spec fail. By checking the "All" link isn't present anymore, we guarantee the request has been completed before trying to click the 'An example legislation process' link. --- spec/features/admin/legislation/draft_versions_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/features/admin/legislation/draft_versions_spec.rb b/spec/features/admin/legislation/draft_versions_spec.rb index a17c2522e..8aac1d201 100644 --- a/spec/features/admin/legislation/draft_versions_spec.rb +++ b/spec/features/admin/legislation/draft_versions_spec.rb @@ -85,7 +85,7 @@ feature 'Admin legislation draft versions' do click_link "All" - expect(page).to have_content 'An example legislation process' + expect(page).not_to have_link "All" click_link 'An example legislation process' click_link 'Drafting' From 54950d14c963b5626437a62196389f3861fa4c3a Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Wed, 31 Oct 2018 13:31:52 +0100 Subject: [PATCH 560/565] Add Changelog for release 0.17 --- CHANGELOG.md | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 82 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index adfaaac31..32820619e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,86 @@ # Changelog The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). +and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html) + +## [0.17.0](https://github.com/consul/consul/compare/v0.16...v0.17) - 2018-10-31 + +### Added +- **Multi-language:** \[Backport\] Migrate globalize data [\#2986](https://github.com/consul/consul/pull/2986) ([javierm](https://github.com/javierm)) +- **Multi-language:** \[Backport\] Update custom pages translations [\#2952](https://github.com/consul/consul/pull/2952) ([javierm](https://github.com/javierm)) +- **Multi-language:** \[Backport\] Make homepage content translatable [\#2924](https://github.com/consul/consul/pull/2924) ([javierm](https://github.com/javierm)) +- **Multi-language:** \[Backport\] Make collaborative legislation translatable [\#2912](https://github.com/consul/consul/pull/2912) ([javierm](https://github.com/javierm)) +- **Multi-language:** \[Backport\] Make admin notifications translatable [\#2910](https://github.com/consul/consul/pull/2910) ([javierm](https://github.com/javierm)) +- **Multi-language:** \[Backport\] Refactor translatable specs [\#2903](https://github.com/consul/consul/pull/2903) ([javierm](https://github.com/javierm)) +- **Multi-language:** \[Backport\] Refactor code shared by admin-translatable resources [\#2896](https://github.com/consul/consul/pull/2896) ([javierm](https://github.com/javierm)) +- **Multi-language:** \[Backport\] Change Translatable implementation to accommodate new requirements [\#2886](https://github.com/consul/consul/pull/2886) ([javierm](https://github.com/javierm)) +- **Multi-language:** \[Backport\] Make banners translatable [\#2865](https://github.com/consul/consul/pull/2865) ([MariaCheca](https://github.com/MariaCheca)) +- **Multi-language:** \[Backport\] Fix translatable bugs [\#2985](https://github.com/consul/consul/pull/2985) ([javierm](https://github.com/javierm)) +- **Multi-language:** Make polls translatable [\#2914](https://github.com/consul/consul/pull/2914) ([microweb10](https://github.com/microweb10)) +- **Multi-language:** Updates translatable custom pages [\#2913](https://github.com/consul/consul/pull/2913) ([papayalabs](https://github.com/papayalabs)) +- **Translations:** Add all available languages [\#2964](https://github.com/consul/consul/pull/2964) ([voodoorai2000](https://github.com/voodoorai2000)) +- **Translations:** Fix locale folder names [\#2963](https://github.com/consul/consul/pull/2963) ([voodoorai2000](https://github.com/voodoorai2000)) +- **Translations:** Update translations from Crowdin [\#2961](https://github.com/consul/consul/pull/2961) ([voodoorai2000](https://github.com/voodoorai2000)) +- **Translations:** Display language name or language key [\#2949](https://github.com/consul/consul/pull/2949) ([voodoorai2000](https://github.com/voodoorai2000)) +- **Translations:** Avoid InvalidPluralizationData exception when missing translations [\#2936](https://github.com/consul/consul/pull/2936) ([voodoorai2000](https://github.com/voodoorai2000)) +- **Translations:** \[Backport\] Changes allegations dates label [\#2915](https://github.com/consul/consul/pull/2915) ([decabeza](https://github.com/decabeza)) +- **Maintenance-Rubocop:** Add Hound basic configuration [\#2987](https://github.com/consul/consul/pull/2987) ([javierm](https://github.com/javierm)) +- **Maintenance-Rubocop:** \[Backport\] Update rubocop rules [\#2925](https://github.com/consul/consul/pull/2925) ([javierm](https://github.com/javierm)) +- **Maintenance-Rubocop:** Fix Rubocop warnings for Admin controllers [\#2880](https://github.com/consul/consul/pull/2880) ([aitbw](https://github.com/aitbw)) +- **UX:** \[Backport\] Adds status icons on polls poll group [\#2860](https://github.com/consul/consul/pull/2860) ([MariaCheca](https://github.com/MariaCheca)) +- **UX:** Feature help page [\#2933](https://github.com/consul/consul/pull/2933) ([decabeza](https://github.com/decabeza)) +- **UX:** Adds enable help page task [\#2960](https://github.com/consul/consul/pull/2960) ([decabeza](https://github.com/decabeza)) +- **Budgets:** \[Backport\] Allow select winner legislation proposals [\#2950](https://github.com/consul/consul/pull/2950) ([javierm](https://github.com/javierm)) +- **Legislation-Proposals:** \[Backport\] Add legislation proposal's categories [\#2948](https://github.com/consul/consul/pull/2948) ([javierm](https://github.com/javierm)) +- **Legislation-Proposals:** \[Backport\] Admin permissions in legislation proposals [\#2945](https://github.com/consul/consul/pull/2945) ([javierm](https://github.com/javierm)) +- **Legislation-Proposals:** \[Backport\] Random legislation proposal's order & pagination [\#2942](https://github.com/consul/consul/pull/2942) ([javierm](https://github.com/javierm)) +- **Legislation-Proposals:** Legislation proposals imageable [\#2922](https://github.com/consul/consul/pull/2922) ([decabeza](https://github.com/decabeza)) +- **CKeditor:** \[Backport\] Bring back CKEditor images button [\#2977](https://github.com/consul/consul/pull/2977) ([javierm](https://github.com/javierm)) +- **CKeditor:** Ckeditor4 update [\#2876](https://github.com/consul/consul/pull/2876) ([javierm](https://github.com/javierm)) +- **Installation:** Add placeholder configuration for SMTP [\#2900](https://github.com/consul/consul/pull/2900) ([voodoorai2000](https://github.com/voodoorai2000)) + +### Changed +- **Newsletters:** \[Backport\] Newsletter updates [\#2992](https://github.com/consul/consul/pull/2992) ([javierm](https://github.com/javierm)) +- **Maintenance-Gems:** \[Security\] Bump rubyzip from 1.2.1 to 1.2.2 [\#2879](https://github.com/consul/consul/pull/2879) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** \[Security\] Bump nokogiri from 1.8.2 to 1.8.4 [\#2878](https://github.com/consul/consul/pull/2878) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** \[Security\] Bump ffi from 1.9.23 to 1.9.25 [\#2877](https://github.com/consul/consul/pull/2877) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump jquery-rails from 4.3.1 to 4.3.3 [\#2929](https://github.com/consul/consul/pull/2929) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump browser from 2.5.2 to 2.5.3 [\#2928](https://github.com/consul/consul/pull/2928) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump delayed\_job\_active\_record from 4.1.2 to 4.1.3 [\#2927](https://github.com/consul/consul/pull/2927) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump rubocop-rspec from 1.24.0 to 1.26.0 [\#2926](https://github.com/consul/consul/pull/2926) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump paranoia from 2.4.0 to 2.4.1 [\#2909](https://github.com/consul/consul/pull/2909) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump ancestry from 3.0.1 to 3.0.2 [\#2908](https://github.com/consul/consul/pull/2908) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump i18n-tasks from 0.9.20 to 0.9.25 [\#2906](https://github.com/consul/consul/pull/2906) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump coveralls from 0.8.21 to 0.8.22 [\#2905](https://github.com/consul/consul/pull/2905) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump scss\_lint from 0.54.0 to 0.55.0 [\#2895](https://github.com/consul/consul/pull/2895) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump unicorn from 5.4.0 to 5.4.1 [\#2894](https://github.com/consul/consul/pull/2894) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump mdl from 0.4.0 to 0.5.0 [\#2892](https://github.com/consul/consul/pull/2892) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump savon from 2.11.2 to 2.12.0 [\#2891](https://github.com/consul/consul/pull/2891) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump capistrano-rails from 1.3.1 to 1.4.0 [\#2884](https://github.com/consul/consul/pull/2884) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Bump autoprefixer-rails from 8.2.0 to 9.1.4 [\#2881](https://github.com/consul/consul/pull/2881) ([dependabot[bot]](https://github.com/apps/dependabot)) +- **Maintenance-Gems:** Upgrade gem coffee-rails to version 4.2.2 [\#2837](https://github.com/consul/consul/pull/2837) ([PierreMesure](https://github.com/PierreMesure)) +- **Maintenance-Refactorings:** \[Backport\] Adds custom javascripts folder [\#2921](https://github.com/consul/consul/pull/2921) ([decabeza](https://github.com/decabeza)) +- **Maintenance-Refactorings:** \[Backport\] Test suite maintenance [\#2888](https://github.com/consul/consul/pull/2888) ([aitbw](https://github.com/aitbw)) +- **Maintenance-Refactorings:** \[Backport\] Replace `.all.each` with `.find\_each` to reduce memory usage [\#2887](https://github.com/consul/consul/pull/2887) ([aitbw](https://github.com/aitbw)) +- **Maintenance-Refactorings:** Split factories [\#2838](https://github.com/consul/consul/pull/2838) ([PierreMesure](https://github.com/PierreMesure)) +- **Maintenance-Refactorings:** Change spelling for constant to TITLE\_LENGTH\_RANGE [\#2966](https://github.com/consul/consul/pull/2966) ([kreopelle](https://github.com/kreopelle)) +- **Maintenance-Refactorings:** \[Backport\] Remove described class cop [\#2990](https://github.com/consul/consul/pull/2990) ([javierm](https://github.com/javierm)) +- **Maintenance-Refactorings:** \[Backport\] Ease customization in processes controller [\#2982](https://github.com/consul/consul/pull/2982) ([javierm](https://github.com/javierm)) +- **Maintenance-Refactorings:** Fix a misleading comment [\#2844](https://github.com/consul/consul/pull/2844) ([PierreMesure](https://github.com/PierreMesure)) +- **Maintenance-Refactorings:** \[Backport\] Simplify legislation proposals customization [\#2946](https://github.com/consul/consul/pull/2946) ([javierm](https://github.com/javierm)) + +### Fixed +- **Maintenance-Specs:** \[Backport\] Fix flaky specs: proposals and legislation Voting comments Update [\#2989](https://github.com/consul/consul/pull/2989) ([javierm](https://github.com/javierm)) +- **Maintenance-Specs:** \[Backport\] Fix flaky spec: Admin legislation questions Update Valid legislation question [\#2976](https://github.com/consul/consul/pull/2976) ([javierm](https://github.com/javierm)) +- **Maintenance-Specs:** \[Backport\] Fix flaky spec: Admin feature flags Enable a disabled feature [\#2967](https://github.com/consul/consul/pull/2967) ([javierm](https://github.com/javierm)) +- **Maintenance-Specs:** Fix flaky spec for translations [\#2962](https://github.com/consul/consul/pull/2962) ([voodoorai2000](https://github.com/voodoorai2000)) +- **Maintenance-Specs:** \[Backport\] Fix pluralization spec when using different default locale [\#2973](https://github.com/consul/consul/pull/2973) ([voodoorai2000](https://github.com/voodoorai2000)) +- **Maintenance-Specs:** \[Backport\] Fix time related specs [\#2911](https://github.com/consul/consul/pull/2911) ([javierm](https://github.com/javierm)) +- **UX:** UI design [\#2983](https://github.com/consul/consul/pull/2983) ([decabeza](https://github.com/decabeza)) +- **UX:** \[Backport\] Custom fonts [\#2916](https://github.com/consul/consul/pull/2916) ([decabeza](https://github.com/decabeza)) +- **UX:** Show active tab in custom info texts [\#2898](https://github.com/consul/consul/pull/2898) ([papayalabs](https://github.com/papayalabs)) +- **UX:** Fix navigation menu under Legislation::Proposal show view [\#2835](https://github.com/consul/consul/pull/2835) ([aitbw](https://github.com/aitbw)) +- **Social-Share:**Fix bug in facebook share link [\#2852](https://github.com/consul/consul/pull/2852) ([tiagozini](https://github.com/tiagozini)) ## [0.16.0](https://github.com/consul/consul/compare/v0.15...v0.16) - 2018-07-16 @@ -416,7 +495,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Rails 4.2.6 - Ruby 2.2.3 -[Unreleased]: https://github.com/consul/consul/compare/v0.16...consul:master +[Unreleased]: https://github.com/consul/consul/compare/v0.17...consul:master +[0.17.0]: https://github.com/consul/consul/compare/v0.16...v.017 [0.16.0]: https://github.com/consul/consul/compare/v0.15...v.016 [0.15.0]: https://github.com/consul/consul/compare/v0.14...v0.15 [0.14.0]: https://github.com/consul/consul/compare/v0.13...v0.14 From a218f8ccedcfcb29f9661fa8f2f1207f5218edc3 Mon Sep 17 00:00:00 2001 From: decabeza <alberto@decabeza.es> Date: Tue, 30 Oct 2018 18:48:53 +0100 Subject: [PATCH 561/565] Improves some code format details --- app/controllers/notifications_controller.rb | 1 + db/dev_seeds/banners.rb | 10 +++++----- spec/factories/legislations.rb | 5 +++-- spec/factories/proposals.rb | 2 +- spec/factories/verifications.rb | 2 +- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/app/controllers/notifications_controller.rb b/app/controllers/notifications_controller.rb index 2c4fd3e9f..e2293f2c3 100644 --- a/app/controllers/notifications_controller.rb +++ b/app/controllers/notifications_controller.rb @@ -36,6 +36,7 @@ class NotificationsController < ApplicationController end private + def linkable_resource_path(notification) if notification.linkable_resource.is_a?(AdminNotification) notification.linkable_resource.link || notifications_path diff --git a/db/dev_seeds/banners.rb b/db/dev_seeds/banners.rb index 1717615a2..641f51994 100644 --- a/db/dev_seeds/banners.rb +++ b/db/dev_seeds/banners.rb @@ -4,11 +4,11 @@ section "Creating banners" do description = Faker::Lorem.sentence(word_count = 12) target_url = Rails.application.routes.url_helpers.proposal_path(proposal) banner = Banner.new(title: title, - description: description, - target_url: target_url, - post_started_at: rand((Time.current - 1.week)..(Time.current - 1.day)), - post_ended_at: rand((Time.current - 1.day)..(Time.current + 1.week)), - created_at: rand((Time.current - 1.week)..Time.current)) + description: description, + target_url: target_url, + post_started_at: rand((Time.current - 1.week)..(Time.current - 1.day)), + post_ended_at: rand((Time.current - 1.day)..(Time.current + 1.week)), + created_at: rand((Time.current - 1.week)..Time.current)) I18n.available_locales.map do |locale| Globalize.with_locale(locale) do banner.description = "Description for locale #{locale}" diff --git a/spec/factories/legislations.rb b/spec/factories/legislations.rb index 913ab33e8..bacfa19a3 100644 --- a/spec/factories/legislations.rb +++ b/spec/factories/legislations.rb @@ -16,6 +16,7 @@ FactoryBot.define do title "A collaborative legislation process" description "Description of the process" summary "Summary of the process" + start_date { Date.current - 5.days } end_date { Date.current + 5.days } debate_start_date { Date.current - 5.days } @@ -87,8 +88,8 @@ FactoryBot.define do end trait :open do - start_date 1.week.ago - end_date 1.week.from_now + start_date { 1.week.ago } + end_date { 1.week.from_now } end end diff --git a/spec/factories/proposals.rb b/spec/factories/proposals.rb index 358411d79..d65d5afb3 100644 --- a/spec/factories/proposals.rb +++ b/spec/factories/proposals.rb @@ -30,7 +30,7 @@ FactoryBot.define do end trait :archived do - created_at 25.months.ago + created_at { 25.months.ago } end trait :with_hot_score do diff --git a/spec/factories/verifications.rb b/spec/factories/verifications.rb index 957aaab0e..e81e21ed5 100644 --- a/spec/factories/verifications.rb +++ b/spec/factories/verifications.rb @@ -12,7 +12,7 @@ FactoryBot.define do user document_number document_type "1" - date_of_birth Time.zone.local(1980, 12, 31).to_date + date_of_birth { Time.zone.local(1980, 12, 31).to_date } postal_code "28013" terms_of_service '1' From 79e1ec444c708ddd6eeaf70d858806473016eac3 Mon Sep 17 00:00:00 2001 From: decabeza <alberto@decabeza.es> Date: Tue, 30 Oct 2018 18:49:05 +0100 Subject: [PATCH 562/565] Fixes houndci-bot warnings --- .../site_customization/content_block.rb | 2 +- .../site_customization/content_blocks_spec.rb | 6 +++-- .../information_texts_spec.rb | 3 ++- .../site_customization/content_blocks_spec.rb | 24 ++++++++++++------- 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/app/models/site_customization/content_block.rb b/app/models/site_customization/content_block.rb index 81d624ac3..6903303e7 100644 --- a/app/models/site_customization/content_block.rb +++ b/app/models/site_customization/content_block.rb @@ -1,5 +1,5 @@ class SiteCustomization::ContentBlock < ActiveRecord::Base - VALID_BLOCKS = %w(top_links footer subnavigation_left subnavigation_right) + VALID_BLOCKS = %w[top_links footer subnavigation_left subnavigation_right] validates :locale, presence: true, inclusion: { in: I18n.available_locales.map(&:to_s) } validates :name, presence: true, uniqueness: { scope: :locale }, inclusion: { in: VALID_BLOCKS } diff --git a/spec/features/admin/site_customization/content_blocks_spec.rb b/spec/features/admin/site_customization/content_blocks_spec.rb index c0007bb44..7bb15fdd0 100644 --- a/spec/features/admin/site_customization/content_blocks_spec.rb +++ b/spec/features/admin/site_customization/content_blocks_spec.rb @@ -27,7 +27,8 @@ feature "Admin custom content blocks" do click_link "Create new content block" - select I18n.t("admin.site_customization.content_blocks.content_block.names.footer"), from: "site_customization_content_block_name" + select I18n.t("admin.site_customization.content_blocks.content_block.names.footer"), + from: "site_customization_content_block_name" select "es", from: "site_customization_content_block_locale" fill_in "site_customization_content_block_body", with: "Some custom content" @@ -50,7 +51,8 @@ feature "Admin custom content blocks" do click_link "Create new content block" - select I18n.t("admin.site_customization.content_blocks.content_block.names.top_links"), from: "site_customization_content_block_name" + select I18n.t("admin.site_customization.content_blocks.content_block.names.top_links"), + from: "site_customization_content_block_name" select "en", from: "site_customization_content_block_locale" fill_in "site_customization_content_block_body", with: "Some custom content" diff --git a/spec/features/admin/site_customization/information_texts_spec.rb b/spec/features/admin/site_customization/information_texts_spec.rb index 011701220..454a83526 100644 --- a/spec/features/admin/site_customization/information_texts_spec.rb +++ b/spec/features/admin/site_customization/information_texts_spec.rb @@ -50,7 +50,8 @@ feature "Admin custom information texts" do visit admin_site_customization_information_texts_path click_link 'Proposals' - expect(find("a[href=\"/admin/site_customization/information_texts?tab=proposals\"].is-active")).to have_content "Proposals" + expect(find("a[href=\"/admin/site_customization/information_texts?tab=proposals\"].is-active")) + .to have_content "Proposals" end context "Globalization" do diff --git a/spec/features/site_customization/content_blocks_spec.rb b/spec/features/site_customization/content_blocks_spec.rb index 8fc34c9c2..ee215dd0f 100644 --- a/spec/features/site_customization/content_blocks_spec.rb +++ b/spec/features/site_customization/content_blocks_spec.rb @@ -2,8 +2,10 @@ require 'rails_helper' feature "Custom content blocks" do scenario "top links" do - create(:site_customization_content_block, name: "top_links", locale: "en", body: "content for top links") - create(:site_customization_content_block, name: "top_links", locale: "es", body: "contenido para top links") + create(:site_customization_content_block, name: "top_links", locale: "en", + body: "content for top links") + create(:site_customization_content_block, name: "top_links", locale: "es", + body: "contenido para top links") visit "/?locale=en" @@ -17,8 +19,10 @@ feature "Custom content blocks" do end scenario "footer" do - create(:site_customization_content_block, name: "footer", locale: "en", body: "content for footer") - create(:site_customization_content_block, name: "footer", locale: "es", body: "contenido para footer") + create(:site_customization_content_block, name: "footer", locale: "en", + body: "content for footer") + create(:site_customization_content_block, name: "footer", locale: "es", + body: "contenido para footer") visit "/?locale=en" @@ -32,8 +36,10 @@ feature "Custom content blocks" do end scenario "main navigation left" do - create(:site_customization_content_block, name: "subnavigation_left", locale: "en", body: "content for left links") - create(:site_customization_content_block, name: "subnavigation_left", locale: "es", body: "contenido para left links") + create(:site_customization_content_block, name: "subnavigation_left", locale: "en", + body: "content for left links") + create(:site_customization_content_block, name: "subnavigation_left", locale: "es", + body: "contenido para left links") visit "/?locale=en" @@ -47,8 +53,10 @@ feature "Custom content blocks" do end scenario "main navigation right" do - create(:site_customization_content_block, name: "subnavigation_right", locale: "en", body: "content for right links") - create(:site_customization_content_block, name: "subnavigation_right", locale: "es", body: "contenido para right links") + create(:site_customization_content_block, name: "subnavigation_right", locale: "en", + body: "content for right links") + create(:site_customization_content_block, name: "subnavigation_right", locale: "es", + body: "contenido para right links") visit "/?locale=en" From 160ca317c5ebe83ef0cb3073bb6d43e82cc32e96 Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Wed, 31 Oct 2018 13:41:11 +0100 Subject: [PATCH 563/565] Update version number for consul.json --- CHANGELOG.md | 143 +++++++++++---------- app/controllers/installation_controller.rb | 2 +- 2 files changed, 73 insertions(+), 72 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32820619e..d3cd646fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,81 +6,82 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## [0.17.0](https://github.com/consul/consul/compare/v0.16...v0.17) - 2018-10-31 ### Added -- **Multi-language:** \[Backport\] Migrate globalize data [\#2986](https://github.com/consul/consul/pull/2986) ([javierm](https://github.com/javierm)) -- **Multi-language:** \[Backport\] Update custom pages translations [\#2952](https://github.com/consul/consul/pull/2952) ([javierm](https://github.com/javierm)) -- **Multi-language:** \[Backport\] Make homepage content translatable [\#2924](https://github.com/consul/consul/pull/2924) ([javierm](https://github.com/javierm)) -- **Multi-language:** \[Backport\] Make collaborative legislation translatable [\#2912](https://github.com/consul/consul/pull/2912) ([javierm](https://github.com/javierm)) -- **Multi-language:** \[Backport\] Make admin notifications translatable [\#2910](https://github.com/consul/consul/pull/2910) ([javierm](https://github.com/javierm)) -- **Multi-language:** \[Backport\] Refactor translatable specs [\#2903](https://github.com/consul/consul/pull/2903) ([javierm](https://github.com/javierm)) -- **Multi-language:** \[Backport\] Refactor code shared by admin-translatable resources [\#2896](https://github.com/consul/consul/pull/2896) ([javierm](https://github.com/javierm)) -- **Multi-language:** \[Backport\] Change Translatable implementation to accommodate new requirements [\#2886](https://github.com/consul/consul/pull/2886) ([javierm](https://github.com/javierm)) -- **Multi-language:** \[Backport\] Make banners translatable [\#2865](https://github.com/consul/consul/pull/2865) ([MariaCheca](https://github.com/MariaCheca)) -- **Multi-language:** \[Backport\] Fix translatable bugs [\#2985](https://github.com/consul/consul/pull/2985) ([javierm](https://github.com/javierm)) -- **Multi-language:** Make polls translatable [\#2914](https://github.com/consul/consul/pull/2914) ([microweb10](https://github.com/microweb10)) -- **Multi-language:** Updates translatable custom pages [\#2913](https://github.com/consul/consul/pull/2913) ([papayalabs](https://github.com/papayalabs)) -- **Translations:** Add all available languages [\#2964](https://github.com/consul/consul/pull/2964) ([voodoorai2000](https://github.com/voodoorai2000)) -- **Translations:** Fix locale folder names [\#2963](https://github.com/consul/consul/pull/2963) ([voodoorai2000](https://github.com/voodoorai2000)) -- **Translations:** Update translations from Crowdin [\#2961](https://github.com/consul/consul/pull/2961) ([voodoorai2000](https://github.com/voodoorai2000)) -- **Translations:** Display language name or language key [\#2949](https://github.com/consul/consul/pull/2949) ([voodoorai2000](https://github.com/voodoorai2000)) -- **Translations:** Avoid InvalidPluralizationData exception when missing translations [\#2936](https://github.com/consul/consul/pull/2936) ([voodoorai2000](https://github.com/voodoorai2000)) -- **Translations:** \[Backport\] Changes allegations dates label [\#2915](https://github.com/consul/consul/pull/2915) ([decabeza](https://github.com/decabeza)) -- **Maintenance-Rubocop:** Add Hound basic configuration [\#2987](https://github.com/consul/consul/pull/2987) ([javierm](https://github.com/javierm)) -- **Maintenance-Rubocop:** \[Backport\] Update rubocop rules [\#2925](https://github.com/consul/consul/pull/2925) ([javierm](https://github.com/javierm)) -- **Maintenance-Rubocop:** Fix Rubocop warnings for Admin controllers [\#2880](https://github.com/consul/consul/pull/2880) ([aitbw](https://github.com/aitbw)) -- **UX:** \[Backport\] Adds status icons on polls poll group [\#2860](https://github.com/consul/consul/pull/2860) ([MariaCheca](https://github.com/MariaCheca)) -- **UX:** Feature help page [\#2933](https://github.com/consul/consul/pull/2933) ([decabeza](https://github.com/decabeza)) -- **UX:** Adds enable help page task [\#2960](https://github.com/consul/consul/pull/2960) ([decabeza](https://github.com/decabeza)) -- **Budgets:** \[Backport\] Allow select winner legislation proposals [\#2950](https://github.com/consul/consul/pull/2950) ([javierm](https://github.com/javierm)) -- **Legislation-Proposals:** \[Backport\] Add legislation proposal's categories [\#2948](https://github.com/consul/consul/pull/2948) ([javierm](https://github.com/javierm)) -- **Legislation-Proposals:** \[Backport\] Admin permissions in legislation proposals [\#2945](https://github.com/consul/consul/pull/2945) ([javierm](https://github.com/javierm)) -- **Legislation-Proposals:** \[Backport\] Random legislation proposal's order & pagination [\#2942](https://github.com/consul/consul/pull/2942) ([javierm](https://github.com/javierm)) -- **Legislation-Proposals:** Legislation proposals imageable [\#2922](https://github.com/consul/consul/pull/2922) ([decabeza](https://github.com/decabeza)) -- **CKeditor:** \[Backport\] Bring back CKEditor images button [\#2977](https://github.com/consul/consul/pull/2977) ([javierm](https://github.com/javierm)) -- **CKeditor:** Ckeditor4 update [\#2876](https://github.com/consul/consul/pull/2876) ([javierm](https://github.com/javierm)) -- **Installation:** Add placeholder configuration for SMTP [\#2900](https://github.com/consul/consul/pull/2900) ([voodoorai2000](https://github.com/voodoorai2000)) +- **Multi-language:** Migrate globalize data [\#2986](https://github.com/consul/consul/pull/2986) +- **Multi-language:** Update custom pages translations [\#2952](https://github.com/consul/consul/pull/2952) +- **Multi-language:** Make homepage content translatable [\#2924](https://github.com/consul/consul/pull/2924) +- **Multi-language:** Make collaborative legislation translatable [\#2912](https://github.com/consul/consul/pull/2912) +- **Multi-language:** Make admin notifications translatable [\#2910](https://github.com/consul/consul/pull/2910) +- **Multi-language:** Refactor translatable specs [\#2903](https://github.com/consul/consul/pull/2903) +- **Multi-language:** Refactor code shared by admin-translatable resources [\#2896](https://github.com/consul/consul/pull/2896) +- **Multi-language:** Change Translatable implementation to accommodate new requirements [\#2886](https://github.com/consul/consul/pull/2886) +- **Multi-language:** Make banners translatable [\#2865](https://github.com/consul/consul/pull/2865) +- **Multi-language:** Fix translatable bugs [\#2985](https://github.com/consul/consul/pull/2985) +- **Multi-language:** Make polls translatable [\#2914](https://github.com/consul/consul/pull/2914) +- **Multi-language:** Updates translatable custom pages [\#2913](https://github.com/consul/consul/pull/2913) +- **Translations:** Add all available languages [\#2964](https://github.com/consul/consul/pull/2964) +- **Translations:** Fix locale folder names [\#2963](https://github.com/consul/consul/pull/2963) +- **Translations:** Update translations from Crowdin [\#2961](https://github.com/consul/consul/pull/2961) +- **Translations:** Display language name or language key [\#2949](https://github.com/consul/consul/pull/2949) +- **Translations:** Avoid InvalidPluralizationData exception when missing translations [\#2936](https://github.com/consul/consul/pull/2936) +- **Translations:** Changes allegations dates label [\#2915](https://github.com/consul/consul/pull/2915) +- **Maintenance-Rubocop:** Add Hound basic configuration [\#2987](https://github.com/consul/consul/pull/2987) +- **Maintenance-Rubocop:** Update rubocop rules [\#2925](https://github.com/consul/consul/pull/2925) +- **Maintenance-Rubocop:** Fix Rubocop warnings for Admin controllers [\#2880](https://github.com/consul/consul/pull/2880) +- **Design/UX:** Adds status icons on polls poll group [\#2860](https://github.com/consul/consul/pull/2860) +- **Design/UX:** Feature help page [\#2933](https://github.com/consul/consul/pull/2933) +- **Design/UX:** Adds enable help page task [\#2960](https://github.com/consul/consul/pull/2960) +- **Budgets:** Allow select winner legislation proposals [\#2950](https://github.com/consul/consul/pull/2950) +- **Legislation-Proposals:** Add legislation proposal's categories [\#2948](https://github.com/consul/consul/pull/2948) +- **Legislation-Proposals:** Admin permissions in legislation proposals [\#2945](https://github.com/consul/consul/pull/2945) +- **Legislation-Proposals:** Random legislation proposal's order & pagination [\#2942](https://github.com/consul/consul/pull/2942) +- **Legislation-Proposals:** Legislation proposals imageable [\#2922](https://github.com/consul/consul/pull/2922) +- **CKeditor:** Bring back CKEditor images button [\#2977](https://github.com/consul/consul/pull/2977) +- **CKeditor:** Ckeditor4 update [\#2876](https://github.com/consul/consul/pull/2876) +- **Installation:** Add placeholder configuration for SMTP [\#2900](https://github.com/consul/consul/pull/2900) ### Changed -- **Newsletters:** \[Backport\] Newsletter updates [\#2992](https://github.com/consul/consul/pull/2992) ([javierm](https://github.com/javierm)) -- **Maintenance-Gems:** \[Security\] Bump rubyzip from 1.2.1 to 1.2.2 [\#2879](https://github.com/consul/consul/pull/2879) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** \[Security\] Bump nokogiri from 1.8.2 to 1.8.4 [\#2878](https://github.com/consul/consul/pull/2878) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** \[Security\] Bump ffi from 1.9.23 to 1.9.25 [\#2877](https://github.com/consul/consul/pull/2877) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump jquery-rails from 4.3.1 to 4.3.3 [\#2929](https://github.com/consul/consul/pull/2929) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump browser from 2.5.2 to 2.5.3 [\#2928](https://github.com/consul/consul/pull/2928) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump delayed\_job\_active\_record from 4.1.2 to 4.1.3 [\#2927](https://github.com/consul/consul/pull/2927) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump rubocop-rspec from 1.24.0 to 1.26.0 [\#2926](https://github.com/consul/consul/pull/2926) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump paranoia from 2.4.0 to 2.4.1 [\#2909](https://github.com/consul/consul/pull/2909) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump ancestry from 3.0.1 to 3.0.2 [\#2908](https://github.com/consul/consul/pull/2908) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump i18n-tasks from 0.9.20 to 0.9.25 [\#2906](https://github.com/consul/consul/pull/2906) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump coveralls from 0.8.21 to 0.8.22 [\#2905](https://github.com/consul/consul/pull/2905) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump scss\_lint from 0.54.0 to 0.55.0 [\#2895](https://github.com/consul/consul/pull/2895) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump unicorn from 5.4.0 to 5.4.1 [\#2894](https://github.com/consul/consul/pull/2894) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump mdl from 0.4.0 to 0.5.0 [\#2892](https://github.com/consul/consul/pull/2892) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump savon from 2.11.2 to 2.12.0 [\#2891](https://github.com/consul/consul/pull/2891) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump capistrano-rails from 1.3.1 to 1.4.0 [\#2884](https://github.com/consul/consul/pull/2884) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Bump autoprefixer-rails from 8.2.0 to 9.1.4 [\#2881](https://github.com/consul/consul/pull/2881) ([dependabot[bot]](https://github.com/apps/dependabot)) -- **Maintenance-Gems:** Upgrade gem coffee-rails to version 4.2.2 [\#2837](https://github.com/consul/consul/pull/2837) ([PierreMesure](https://github.com/PierreMesure)) -- **Maintenance-Refactorings:** \[Backport\] Adds custom javascripts folder [\#2921](https://github.com/consul/consul/pull/2921) ([decabeza](https://github.com/decabeza)) -- **Maintenance-Refactorings:** \[Backport\] Test suite maintenance [\#2888](https://github.com/consul/consul/pull/2888) ([aitbw](https://github.com/aitbw)) -- **Maintenance-Refactorings:** \[Backport\] Replace `.all.each` with `.find\_each` to reduce memory usage [\#2887](https://github.com/consul/consul/pull/2887) ([aitbw](https://github.com/aitbw)) -- **Maintenance-Refactorings:** Split factories [\#2838](https://github.com/consul/consul/pull/2838) ([PierreMesure](https://github.com/PierreMesure)) -- **Maintenance-Refactorings:** Change spelling for constant to TITLE\_LENGTH\_RANGE [\#2966](https://github.com/consul/consul/pull/2966) ([kreopelle](https://github.com/kreopelle)) -- **Maintenance-Refactorings:** \[Backport\] Remove described class cop [\#2990](https://github.com/consul/consul/pull/2990) ([javierm](https://github.com/javierm)) -- **Maintenance-Refactorings:** \[Backport\] Ease customization in processes controller [\#2982](https://github.com/consul/consul/pull/2982) ([javierm](https://github.com/javierm)) -- **Maintenance-Refactorings:** Fix a misleading comment [\#2844](https://github.com/consul/consul/pull/2844) ([PierreMesure](https://github.com/PierreMesure)) -- **Maintenance-Refactorings:** \[Backport\] Simplify legislation proposals customization [\#2946](https://github.com/consul/consul/pull/2946) ([javierm](https://github.com/javierm)) +- **Newsletters:** Newsletter updates [\#2992](https://github.com/consul/consul/pull/2992) +- **Maintenance-Gems:** \[Security\] Bump rubyzip from 1.2.1 to 1.2.2 [\#2879](https://github.com/consul/consul/pull/2879) +- **Maintenance-Gems:** \[Security\] Bump nokogiri from 1.8.2 to 1.8.4 [\#2878](https://github.com/consul/consul/pull/2878) +- **Maintenance-Gems:** \[Security\] Bump ffi from 1.9.23 to 1.9.25 [\#2877](https://github.com/consul/consul/pull/2877) +- **Maintenance-Gems:** Bump jquery-rails from 4.3.1 to 4.3.3 [\#2929](https://github.com/consul/consul/pull/2929) +- **Maintenance-Gems:** Bump browser from 2.5.2 to 2.5.3 [\#2928](https://github.com/consul/consul/pull/2928) +- **Maintenance-Gems:** Bump delayed\_job\_active\_record from 4.1.2 to 4.1.3 [\#2927](https://github.com/consul/consul/pull/2927) +- **Maintenance-Gems:** Bump rubocop-rspec from 1.24.0 to 1.26.0 [\#2926](https://github.com/consul/consul/pull/2926) +- **Maintenance-Gems:** Bump paranoia from 2.4.0 to 2.4.1 [\#2909](https://github.com/consul/consul/pull/2909) +- **Maintenance-Gems:** Bump ancestry from 3.0.1 to 3.0.2 [\#2908](https://github.com/consul/consul/pull/2908) +- **Maintenance-Gems:** Bump i18n-tasks from 0.9.20 to 0.9.25 [\#2906](https://github.com/consul/consul/pull/2906) +- **Maintenance-Gems:** Bump coveralls from 0.8.21 to 0.8.22 [\#2905](https://github.com/consul/consul/pull/2905) +- **Maintenance-Gems:** Bump scss\_lint from 0.54.0 to 0.55.0 [\#2895](https://github.com/consul/consul/pull/2895) +- **Maintenance-Gems:** Bump unicorn from 5.4.0 to 5.4.1 [\#2894](https://github.com/consul/consul/pull/2894) +- **Maintenance-Gems:** Bump mdl from 0.4.0 to 0.5.0 [\#2892](https://github.com/consul/consul/pull/2892) +- **Maintenance-Gems:** Bump savon from 2.11.2 to 2.12.0 [\#2891](https://github.com/consul/consul/pull/2891) +- **Maintenance-Gems:** Bump capistrano-rails from 1.3.1 to 1.4.0 [\#2884](https://github.com/consul/consul/pull/2884) +- **Maintenance-Gems:** Bump autoprefixer-rails from 8.2.0 to 9.1.4 [\#2881](https://github.com/consul/consul/pull/2881) +- **Maintenance-Gems:** Upgrade gem coffee-rails to version 4.2.2 [\#2837](https://github.com/consul/consul/pull/2837) +- **Maintenance-Refactorings:** Adds custom javascripts folder [\#2921](https://github.com/consul/consul/pull/2921) +- **Maintenance-Refactorings:** Test suite maintenance [\#2888](https://github.com/consul/consul/pull/2888) +- **Maintenance-Refactorings:** Replace `.all.each` with `.find\_each` to reduce memory usage [\#2887](https://github.com/consul/consul/pull/2887) +- **Maintenance-Refactorings:** Split factories [\#2838](https://github.com/consul/consul/pull/2838) +- **Maintenance-Refactorings:** Change spelling for constant to TITLE\_LENGTH\_RANGE [\#2966](https://github.com/consul/consul/pull/2966) +- **Maintenance-Refactorings:** Remove described class cop [\#2990](https://github.com/consul/consul/pull/2990) +- **Maintenance-Refactorings:** Ease customization in processes controller [\#2982](https://github.com/consul/consul/pull/2982) +- **Maintenance-Refactorings:** Fix a misleading comment [\#2844](https://github.com/consul/consul/pull/2844) +- **Maintenance-Refactorings:** Simplify legislation proposals customization [\#2946](https://github.com/consul/consul/pull/2946) +- **Social-Share:** Improves social share messages for proposals [\#2994](https://github.com/consul/consul/pull/2994) ### Fixed -- **Maintenance-Specs:** \[Backport\] Fix flaky specs: proposals and legislation Voting comments Update [\#2989](https://github.com/consul/consul/pull/2989) ([javierm](https://github.com/javierm)) -- **Maintenance-Specs:** \[Backport\] Fix flaky spec: Admin legislation questions Update Valid legislation question [\#2976](https://github.com/consul/consul/pull/2976) ([javierm](https://github.com/javierm)) -- **Maintenance-Specs:** \[Backport\] Fix flaky spec: Admin feature flags Enable a disabled feature [\#2967](https://github.com/consul/consul/pull/2967) ([javierm](https://github.com/javierm)) -- **Maintenance-Specs:** Fix flaky spec for translations [\#2962](https://github.com/consul/consul/pull/2962) ([voodoorai2000](https://github.com/voodoorai2000)) -- **Maintenance-Specs:** \[Backport\] Fix pluralization spec when using different default locale [\#2973](https://github.com/consul/consul/pull/2973) ([voodoorai2000](https://github.com/voodoorai2000)) -- **Maintenance-Specs:** \[Backport\] Fix time related specs [\#2911](https://github.com/consul/consul/pull/2911) ([javierm](https://github.com/javierm)) -- **UX:** UI design [\#2983](https://github.com/consul/consul/pull/2983) ([decabeza](https://github.com/decabeza)) -- **UX:** \[Backport\] Custom fonts [\#2916](https://github.com/consul/consul/pull/2916) ([decabeza](https://github.com/decabeza)) -- **UX:** Show active tab in custom info texts [\#2898](https://github.com/consul/consul/pull/2898) ([papayalabs](https://github.com/papayalabs)) -- **UX:** Fix navigation menu under Legislation::Proposal show view [\#2835](https://github.com/consul/consul/pull/2835) ([aitbw](https://github.com/aitbw)) -- **Social-Share:**Fix bug in facebook share link [\#2852](https://github.com/consul/consul/pull/2852) ([tiagozini](https://github.com/tiagozini)) +- **Maintenance-Specs:** Fix flaky specs: proposals and legislation Voting comments Update [\#2989](https://github.com/consul/consul/pull/2989) +- **Maintenance-Specs:** Fix flaky spec: Admin legislation questions Update Valid legislation question [\#2976](https://github.com/consul/consul/pull/2976) +- **Maintenance-Specs:** Fix flaky spec: Admin feature flags Enable a disabled feature [\#2967](https://github.com/consul/consul/pull/2967) +- **Maintenance-Specs:** Fix flaky spec for translations [\#2962](https://github.com/consul/consul/pull/2962) +- **Maintenance-Specs:** Fix pluralization spec when using different default locale [\#2973](https://github.com/consul/consul/pull/2973) +- **Maintenance-Specs:** Fix time related specs [\#2911](https://github.com/consul/consul/pull/2911) +- **Design/UX:** UI design [\#2983](https://github.com/consul/consul/pull/2983) +- **Design/UX:** Custom fonts [\#2916](https://github.com/consul/consul/pull/2916) +- **Design/UX:** Show active tab in custom info texts [\#2898](https://github.com/consul/consul/pull/2898) +- **Design/UX:** Fix navigation menu under Legislation::Proposal show view [\#2835](https://github.com/consul/consul/pull/2835) +- **Social-Share:** Fix bug in facebook share link [\#2852](https://github.com/consul/consul/pull/2852) ## [0.16.0](https://github.com/consul/consul/compare/v0.15...v0.16) - 2018-07-16 diff --git a/app/controllers/installation_controller.rb b/app/controllers/installation_controller.rb index 0651e9386..481c3ad45 100644 --- a/app/controllers/installation_controller.rb +++ b/app/controllers/installation_controller.rb @@ -12,7 +12,7 @@ class InstallationController < ApplicationController def consul_installation_details { - release: 'v0.16' + release: 'v0.17' }.merge(features: settings_feature_flags) end From f4c35eb948d42a39cd4556bcf5832c0bc18dd581 Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Wed, 31 Oct 2018 18:01:57 +0100 Subject: [PATCH 564/565] Add one more PR to Changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d3cd646fa..759d039d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -75,6 +75,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - **Maintenance-Specs:** Fix flaky spec: Admin legislation questions Update Valid legislation question [\#2976](https://github.com/consul/consul/pull/2976) - **Maintenance-Specs:** Fix flaky spec: Admin feature flags Enable a disabled feature [\#2967](https://github.com/consul/consul/pull/2967) - **Maintenance-Specs:** Fix flaky spec for translations [\#2962](https://github.com/consul/consul/pull/2962) +- **Maintenance-Specs:** Fix flaky spec: Admin legislation draft versions Update Valid legislation draft version [\#2995](https://github.com/consul/consul/pull/2995) - **Maintenance-Specs:** Fix pluralization spec when using different default locale [\#2973](https://github.com/consul/consul/pull/2973) - **Maintenance-Specs:** Fix time related specs [\#2911](https://github.com/consul/consul/pull/2911) - **Design/UX:** UI design [\#2983](https://github.com/consul/consul/pull/2983) From f79f219f2c3bcc73d3a52d7007a5b8215e1ef229 Mon Sep 17 00:00:00 2001 From: voodoorai2000 <voodoorai2000@gmail.com> Date: Tue, 6 Nov 2018 11:42:51 +0100 Subject: [PATCH 565/565] Fix date translations --- config/locales/ar/rails.yml | 6 +++--- config/locales/es-CL/rails.yml | 2 +- config/locales/fa/rails.yml | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/config/locales/ar/rails.yml b/config/locales/ar/rails.yml index 8f779ed72..f7858611e 100644 --- a/config/locales/ar/rails.yml +++ b/config/locales/ar/rails.yml @@ -45,9 +45,9 @@ ar: - نوفمبر - ديسمبر order: - - ':السنة' - - ':الشهر' - - ':اليوم' + - :day + - :month + - :year datetime: prompts: day: اليوم diff --git a/config/locales/es-CL/rails.yml b/config/locales/es-CL/rails.yml index 4994bb370..eb967cb1b 100644 --- a/config/locales/es-CL/rails.yml +++ b/config/locales/es-CL/rails.yml @@ -50,7 +50,7 @@ es-CL: - Diciembre order: - :day - - :mes + - :month - :year datetime: distance_in_words: diff --git a/config/locales/fa/rails.yml b/config/locales/fa/rails.yml index 445de0d9f..6bf0c1fe8 100644 --- a/config/locales/fa/rails.yml +++ b/config/locales/fa/rails.yml @@ -49,9 +49,9 @@ fa: - نوامبر - دسامبر order: - - 'day:' - - 'month:' - - 'year:' + - :day + - :month + - :year datetime: distance_in_words: about_x_hours: