Commit Graph

2481 Commits

Author SHA1 Message Date
Angel Perez
b483ca7f7e Add 'Execution' tab to a finished Budget
This new tab will show all winner investments projects with milestones
2018-11-05 16:33:32 +01:00
Alberto
d1e40adcbc Merge pull request #2994 from consul/social-meta-tags
[Backport] Social meta tags
2018-10-31 15:01:19 +01:00
decabeza
ab70872a7d Adds new social share partial for proposals 2018-10-31 11:42:00 +01:00
voodoorai2000
42d4fd880f Increase delayed jobs max run time 2018-10-30 17:11:13 +01:00
voodoorai2000
7d5b57aee2 Add counter of emails sent to newsletter preview 2018-10-30 17:07:31 +01:00
Javi Martín
2e6644d513 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.
2018-10-22 16:36:18 +02:00
Javi Martín
3b5a12b0ab 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
2018-10-22 16:28:53 +02:00
Javi Martín
139cf769c6 Update widget cards translatable fields 2018-10-22 16:28:49 +02:00
Javi Martín
3c170f47d2 Update site customization pages translatable fields 2018-10-22 16:13:48 +02:00
Javi Martín
e0b9c1bfdd 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.
2018-10-22 16:13:48 +02:00
Javi Martín
d1249d0b4f 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.
2018-10-22 16:13:30 +02:00
Javi Martín
759de935ee 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.
2018-10-22 15:52:58 +02:00
Javi Martín
5bfc7ca2e3 Update legislation process translatable fields 2018-10-22 15:46:16 +02:00
Javi Martín
6278175f57 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.
2018-10-22 15:44:14 +02:00
Javi Martín
a326bcb0a1 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.
2018-10-22 15:43:56 +02:00
decabeza
dbf41421ed Removes guide feature 2018-10-17 14:58:29 +02:00
voodoorai2000
8eb399150e Remove fallback rules for locales not yet added 2018-10-17 12:47:35 +02:00
voodoorai2000
e771440d18 Remove duplicate language names 2018-10-17 12:47:35 +02:00
voodoorai2000
3b8bb5038d Add fallback i18n locales
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 😌
2018-10-17 12:47:35 +02:00
voodoorai2000
f2fe230a15 Add all available locales
Only addding those with significant number of translations
2018-10-17 12:47:35 +02:00
voodoorai2000
d8fa322763 Remove obsolete language name translations 2018-10-17 12:47:35 +02:00
voodoorai2000
7fb6f6a7a6 Add all language names 2018-10-17 12:47:35 +02:00
voodoorai2000
cd22c440bf 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)
2018-10-10 13:35:27 +02:00
voodoorai2000
0bbc5c1246 Fix date translations
These translation keys are used to set the order in which a date object will be displayed[1]

They should not be translated, just reordered if it makes more sense of a given language

If the expected values are not found an exception is raised: ".date.order only accepts :year, :month and :day"

They should probably be somewhere else so that Crowdin translators don't feel the need to translate it. But that is a battle for another day 😌 for now simply fixing them

[1] https://guides.rubyonrails.org/i18n.html#action-view-helper-methods
2018-10-10 13:04:34 +02:00
voodoorai2000
f640a0a92c Update Crowdin translations 2018-10-10 13:04:34 +02:00
Raimond Garcia
710e5ae965 Merge pull request #2949 from consul/i18n-language-names
Display language name or language key
2018-10-10 11:45:04 +02:00
voodoorai2000
ad51109149 Remove duplicate language translation 2018-10-05 18:08:48 +02:00
voodoorai2000
168ebe3c8b Fix i18n task' specs
Add i18n.yml to i18n task's available translation files
2018-10-05 18:08:47 +02:00
voodoorai2000
9d7042c5ae Adds missing language name translations 2018-10-05 18:08:47 +02:00
voodoorai2000
66c9f6711b Removes obsolete locale keys for language names 2018-10-05 18:08:47 +02:00
Javier Martín
e4f99681f8 Merge pull request #2950 from consul/backport-improve_index_legislation_proposals
Allow select winner legislation proposals
2018-10-05 12:59:28 +02:00
Raimond Garcia
f68dc2e1a9 Merge pull request #2936 from consul/i18n-pluralize
Avoid InvalidPluralizationData exception when missing translations
2018-10-05 12:57:48 +02:00
voodoorai2000
be80973e44 Avoid InvalidPluralizationData exception when missing translations
We work with many languages using Crowdin[1]

Sometimes translators forget to fill in all the necessary plural forms of a translation (zero, one, other) and in those cases we were seing the exception InvalidPluralizationData being raised

There are a number of approches to fix this... from being more strict when approving translations, to automatically extrapolating what those plural forms should be

For now, we've gone for a simple approach to display the actual count(0,1,2,3,4, etc) instead of the whole translation

So, if the plural form of "1 comment" is missing, just a "1" will be displayed and no exceptions raised

Note: The first two specs, test what is really Rails' functionalities. However as we are monkey patching the pluralize method, I thought it was appropriate to doble check it

[1]https://crowdin.com/project/consul
2018-10-05 12:26:07 +02:00
Javi Martín
d03cc2dc95 Update Spanish locales
Just like done with English locales when updating translatable custom
pages in commit 351ef99.
2018-10-05 12:21:47 +02:00
decabeza
0d8c9c289a Removes closed message on legislation proposals votes 2018-10-04 16:32:32 +02:00
Javi Martín
2a5a2e0fcb Use "Random" instead of "All" in proposals filters
That way users might be less surprised when they see proposals are
different each time they access the page.
2018-10-04 16:31:00 +02:00
Javi Martín
8976280493 Order selected proposals by confidence score
The same way we order budget results.
2018-10-04 16:31:00 +02:00
Javi Martín
66fc49f9ed Ignore dynamically used I18n keys 2018-10-04 16:30:59 +02:00
Javi Martín
75d1ab1e52 Use AJAX requests to select legislation proposals
Now the interface is more similar to the one in budget investments.
2018-10-04 16:29:01 +02:00
Javi Martín
667c2c82b5 Use toggle_select action for legislation proposals
The `update` action is usually expected to behave the same way it does
everywhere else, which is updating a record using the `params` hash.

The name `toggle_select` comes from the name we use in a similar
situation for budget investments.
2018-10-04 16:29:01 +02:00
Raúl Fuentes
05340e423c Add select to Legislation::Proposals
Add admin interface for mark any proposal as selected
Add filter to public interface for selected proposals
2018-10-04 16:28:56 +02:00
Javier Martín
132fea9c94 Merge pull request #2913 from papayalabs/2741-updates-translatable-custom-pages-reloaded
Updates translatable custom pages
2018-10-03 13:23:13 +02:00
decabeza
dd11a040a6 Adds setting to enable or disable help page 2018-09-28 18:59:28 +02:00
Papaya Labs
914bfa645e Updates translatable custom pages 2018-09-27 13:46:17 +02:00
decabeza
62490c4640 Adds custom javascripts folder 2018-09-26 12:34:16 +02:00
Javier Martín
ef0192c3ff Merge pull request #2912 from consul/backport-make-collaborative-legislation-translatable
Make collaborative legislation translatable
2018-09-24 17:45:59 +02:00
Alberto
e0d08a32dd Merge pull request #2916 from consul/custom-fonts
[Backport] Custom fonts
2018-09-21 14:29:50 +02:00
decabeza
a94591fe78 Loads custom fonts before default ones
Also includes a .keep file inside fonts/custom folder to track the directory by git
2018-09-21 13:46:50 +02:00
decabeza
a1bbc82c8d Changes allegations dates label 2018-09-20 17:33:04 +02:00
Marko Lovic
64d72ca8e7 Enable JS in shared translatable test
Due to its markdown editor, the admin draft version page
requires JS to correctly render the draft version form.
2018-09-19 14:54:24 +02:00