diff --git a/CUSTOMIZE_EN.md b/CUSTOMIZE_EN.md index 13e5d2355..2e6c52aa0 100644 --- a/CUSTOMIZE_EN.md +++ b/CUSTOMIZE_EN.md @@ -32,7 +32,7 @@ If you just want to change some of the existing texts, you can just drop your ch <%= t("layouts.footer.copyright", year: Time.current.year) %> ``` -And that the text its located at the file `config/locales/es.yml` following this structure (we're only displaying in the following snippet the relevant parts): +And that the text its located at the file `config/locales/es/general.yml` following this structure (we're only displaying in the following snippet the relevant parts): ```yml es: @@ -42,7 +42,7 @@ es: ``` -So in order to customize it, we would create a new file `config/locales/custom/es.yml` with just that content, and change "Ayuntamiento de Madrid" for our organization name. We strongly recommend to make copies from `config/locales/` and modify or delete the lines as needed to keep the indentation structure and avoid issues. +So in order to customize it, we would create a new file `config/locales/custom/es/general.yml` with just that content, and change "Ayuntamiento de Madrid" for our organization name. We strongly recommend to make copies from `config/locales/` and modify or delete the lines as needed to keep the indentation structure and avoid issues. ### Images diff --git a/CUSTOMIZE_ES.md b/CUSTOMIZE_ES.md index e3edf6c2b..3e9fd188d 100644 --- a/CUSTOMIZE_ES.md +++ b/CUSTOMIZE_ES.md @@ -32,7 +32,7 @@ Las adaptaciones los debes poner en el directorio `config/locales/custom/`, reco <%= t("layouts.footer.copyright", year: Time.current.year) %> ``` -Y que en el fichero `config/locales/es.yml` sigue esta estructura (solo ponemos lo relevante para este caso): +Y que en el fichero `config/locales/es/general.yml` sigue esta estructura (solo ponemos lo relevante para este caso): ```yml es: @@ -42,7 +42,7 @@ es: ``` -Si creamos el fichero `config/locales/custom/es.yml` y modificamos "Ayuntamiento de Madrid" por el nombre de la organización que se este haciendo la modificación. Recomendamos directamente copiar los ficheros `config/locales/` e ir revisando y corrigiendo las que querramos, borrando las líneas que no querramos traducir. +Si creamos el fichero `config/locales/custom/es/general.yml` y modificamos "Ayuntamiento de Madrid" por el nombre de la organización que se este haciendo la modificación. Recomendamos directamente copiar los ficheros `config/locales/` e ir revisando y corrigiendo las que querramos, borrando las líneas que no querramos traducir. ### Imágenes diff --git a/config/application.rb b/config/application.rb index 94ad3040d..e75bdbc2d 100644 --- a/config/application.rb +++ b/config/application.rb @@ -22,6 +22,8 @@ module Consul config.i18n.default_locale = :es config.i18n.available_locales = [:en, :es, :fr, :nl, 'pt-BR'] config.i18n.fallbacks = {'fr' => 'es', 'pt-br' => 'es', 'nl' => 'en'} + 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.assets.paths << Rails.root.join("app", "assets", "fonts") @@ -41,7 +43,6 @@ module Consul config.autoload_paths << "#{Rails.root}/app/controllers/custom" config.autoload_paths << "#{Rails.root}/app/models/custom" config.paths['app/views'].unshift(Rails.root.join('app', 'views', 'custom')) - config.i18n.load_path += Dir[Rails.root.join('config', 'locales', 'custom', '*.{rb,yml}')] end end diff --git a/config/i18n-tasks.yml b/config/i18n-tasks.yml index 7ef52a670..ee992ca2b 100644 --- a/config/i18n-tasks.yml +++ b/config/i18n-tasks.yml @@ -3,7 +3,7 @@ # The "main" locale. base_locale: en ## All available locales are inferred from the data by default. Alternatively, specify them explicitly: -locales: [en, es] +locales: [en] ## Reporting locale, default: en. Available: en, ru. # internal_locale: en @@ -21,22 +21,22 @@ data: # - config/locales/**/*.%{locale}.yml ## Another gem (replace %#= with %=): # - "<%#= %x[bundle show vagrant].chomp %>/templates/locales/%{locale}.yml" - - config/locales/%{locale}.yml - - config/locales/activerecord.%{locale}.yml - - config/locales/activemodel.%{locale}.yml - - config/locales/admin.%{locale}.yml - - config/locales/moderation.%{locale}.yml - - config/locales/valuation.%{locale}.yml - - config/locales/management.%{locale}.yml - - config/locales/verification.%{locale}.yml - - config/locales/mailers.%{locale}.yml - - config/locales/pages.%{locale}.yml - - config/locales/devise_views.%{locale}.yml - - config/locales/responders.%{locale}.yml - - config/locales/kaminari.%{locale}.yml - - config/locales/officing.%{locale}.yml - - config/locales/budgets.%{locale}.yml - - config/locales/legislation.%{locale}.yml + - config/locales/%{locale}/general.yml + - config/locales/%{locale}/activerecord.yml + - config/locales/%{locale}/activemodel.yml + - config/locales/%{locale}/admin.yml + - config/locales/%{locale}/moderation.yml + - config/locales/%{locale}/valuation.yml + - config/locales/%{locale}/management.yml + - config/locales/%{locale}/verification.yml + - config/locales/%{locale}/mailers.yml + - config/locales/%{locale}/pages.yml + - config/locales/%{locale}/devise_views.yml + - config/locales/%{locale}/responders.yml + - config/locales/%{locale}/kaminari.yml + - config/locales/%{locale}/officing.yml + - config/locales/%{locale}/budgets.yml + - config/locales/%{locale}/legislation.yml # Locale files to write new keys to, based on a list of key pattern => file rules. Matched from top to bottom: # `i18n-tasks normalize -p` will force move the keys according to these rules diff --git a/config/locales/activemodel.en.yml b/config/locales/en/activemodel.yml similarity index 100% rename from config/locales/activemodel.en.yml rename to config/locales/en/activemodel.yml diff --git a/config/locales/activerecord.en.yml b/config/locales/en/activerecord.yml similarity index 100% rename from config/locales/activerecord.en.yml rename to config/locales/en/activerecord.yml diff --git a/config/locales/admin.en.yml b/config/locales/en/admin.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/admin.en.yml rename to config/locales/en/admin.yml diff --git a/config/locales/budgets.en.yml b/config/locales/en/budgets.yml similarity index 100% rename from config/locales/budgets.en.yml rename to config/locales/en/budgets.yml diff --git a/config/locales/devise.en.yml b/config/locales/en/devise.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/devise.en.yml rename to config/locales/en/devise.yml diff --git a/config/locales/devise_views.en.yml b/config/locales/en/devise_views.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/devise_views.en.yml rename to config/locales/en/devise_views.yml diff --git a/config/locales/en.yml b/config/locales/en/general.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/en.yml rename to config/locales/en/general.yml diff --git a/config/locales/kaminari.en.yml b/config/locales/en/kaminari.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/kaminari.en.yml rename to config/locales/en/kaminari.yml diff --git a/config/locales/legislation.en.yml b/config/locales/en/legislation.yml similarity index 100% rename from config/locales/legislation.en.yml rename to config/locales/en/legislation.yml diff --git a/config/locales/mailers.en.yml b/config/locales/en/mailers.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/mailers.en.yml rename to config/locales/en/mailers.yml diff --git a/config/locales/management.en.yml b/config/locales/en/management.yml similarity index 100% rename from config/locales/management.en.yml rename to config/locales/en/management.yml diff --git a/config/locales/moderation.en.yml b/config/locales/en/moderation.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/moderation.en.yml rename to config/locales/en/moderation.yml diff --git a/config/locales/officing.en.yml b/config/locales/en/officing.yml similarity index 100% rename from config/locales/officing.en.yml rename to config/locales/en/officing.yml diff --git a/config/locales/pages.en.yml b/config/locales/en/pages.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/pages.en.yml rename to config/locales/en/pages.yml diff --git a/config/locales/rails.en.yml b/config/locales/en/rails.yml similarity index 100% rename from config/locales/rails.en.yml rename to config/locales/en/rails.yml diff --git a/config/locales/responders.en.yml b/config/locales/en/responders.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/responders.en.yml rename to config/locales/en/responders.yml diff --git a/config/locales/settings.en.yml b/config/locales/en/settings.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/settings.en.yml rename to config/locales/en/settings.yml diff --git a/config/locales/social_share_button.en.yml b/config/locales/en/social_share_button.yml similarity index 100% rename from config/locales/social_share_button.en.yml rename to config/locales/en/social_share_button.yml diff --git a/config/locales/valuation.en.yml b/config/locales/en/valuation.yml similarity index 100% rename from config/locales/valuation.en.yml rename to config/locales/en/valuation.yml diff --git a/config/locales/verification.en.yml b/config/locales/en/verification.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/verification.en.yml rename to config/locales/en/verification.yml diff --git a/config/locales/activemodel.es.yml b/config/locales/es/activemodel.yml similarity index 100% rename from config/locales/activemodel.es.yml rename to config/locales/es/activemodel.yml diff --git a/config/locales/activerecord.es.yml b/config/locales/es/activerecord.yml similarity index 100% rename from config/locales/activerecord.es.yml rename to config/locales/es/activerecord.yml diff --git a/config/locales/admin.es.yml b/config/locales/es/admin.yml similarity index 100% rename from config/locales/admin.es.yml rename to config/locales/es/admin.yml diff --git a/config/locales/budgets.es.yml b/config/locales/es/budgets.yml similarity index 100% rename from config/locales/budgets.es.yml rename to config/locales/es/budgets.yml diff --git a/config/locales/devise.es.yml b/config/locales/es/devise.yml similarity index 100% rename from config/locales/devise.es.yml rename to config/locales/es/devise.yml diff --git a/config/locales/devise_views.es.yml b/config/locales/es/devise_views.yml similarity index 100% rename from config/locales/devise_views.es.yml rename to config/locales/es/devise_views.yml diff --git a/config/locales/es.yml b/config/locales/es/general.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/es.yml rename to config/locales/es/general.yml diff --git a/config/locales/kaminari.es.yml b/config/locales/es/kaminari.yml similarity index 100% rename from config/locales/kaminari.es.yml rename to config/locales/es/kaminari.yml diff --git a/config/locales/legislation.es.yml b/config/locales/es/legislation.yml similarity index 100% rename from config/locales/legislation.es.yml rename to config/locales/es/legislation.yml diff --git a/config/locales/mailers.es.yml b/config/locales/es/mailers.yml similarity index 100% rename from config/locales/mailers.es.yml rename to config/locales/es/mailers.yml diff --git a/config/locales/management.es.yml b/config/locales/es/management.yml similarity index 100% rename from config/locales/management.es.yml rename to config/locales/es/management.yml diff --git a/config/locales/moderation.es.yml b/config/locales/es/moderation.yml similarity index 100% rename from config/locales/moderation.es.yml rename to config/locales/es/moderation.yml diff --git a/config/locales/officing.es.yml b/config/locales/es/officing.yml similarity index 100% rename from config/locales/officing.es.yml rename to config/locales/es/officing.yml diff --git a/config/locales/pages.es.yml b/config/locales/es/pages.yml similarity index 100% rename from config/locales/pages.es.yml rename to config/locales/es/pages.yml diff --git a/config/locales/rails.es.yml b/config/locales/es/rails.yml similarity index 100% rename from config/locales/rails.es.yml rename to config/locales/es/rails.yml diff --git a/config/locales/responders.es.yml b/config/locales/es/responders.yml similarity index 100% rename from config/locales/responders.es.yml rename to config/locales/es/responders.yml diff --git a/config/locales/settings.es.yml b/config/locales/es/settings.yml similarity index 100% rename from config/locales/settings.es.yml rename to config/locales/es/settings.yml diff --git a/config/locales/social_share_button.es.yml b/config/locales/es/social_share_button.yml similarity index 100% rename from config/locales/social_share_button.es.yml rename to config/locales/es/social_share_button.yml diff --git a/config/locales/valuation.es.yml b/config/locales/es/valuation.yml similarity index 100% rename from config/locales/valuation.es.yml rename to config/locales/es/valuation.yml diff --git a/config/locales/verification.es.yml b/config/locales/es/verification.yml similarity index 100% rename from config/locales/verification.es.yml rename to config/locales/es/verification.yml diff --git a/config/locales/activemodel.fr.yml b/config/locales/fr/activemodel.yml similarity index 100% rename from config/locales/activemodel.fr.yml rename to config/locales/fr/activemodel.yml diff --git a/config/locales/activerecord.fr.yml b/config/locales/fr/activerecord.yml similarity index 100% rename from config/locales/activerecord.fr.yml rename to config/locales/fr/activerecord.yml diff --git a/config/locales/admin.fr.yml b/config/locales/fr/admin.yml similarity index 100% rename from config/locales/admin.fr.yml rename to config/locales/fr/admin.yml diff --git a/config/locales/budgets.fr.yml b/config/locales/fr/budgets.yml similarity index 100% rename from config/locales/budgets.fr.yml rename to config/locales/fr/budgets.yml diff --git a/config/locales/devise.fr.yml b/config/locales/fr/devise.yml similarity index 100% rename from config/locales/devise.fr.yml rename to config/locales/fr/devise.yml diff --git a/config/locales/devise_views.fr.yml b/config/locales/fr/devise_views.yml similarity index 100% rename from config/locales/devise_views.fr.yml rename to config/locales/fr/devise_views.yml diff --git a/config/locales/fr.yml b/config/locales/fr/general.yml similarity index 100% rename from config/locales/fr.yml rename to config/locales/fr/general.yml diff --git a/config/locales/kaminari.fr.yml b/config/locales/fr/kaminari.yml similarity index 100% rename from config/locales/kaminari.fr.yml rename to config/locales/fr/kaminari.yml diff --git a/config/locales/mailers.fr.yml b/config/locales/fr/mailers.yml similarity index 100% rename from config/locales/mailers.fr.yml rename to config/locales/fr/mailers.yml diff --git a/config/locales/management.fr.yml b/config/locales/fr/management.yml similarity index 100% rename from config/locales/management.fr.yml rename to config/locales/fr/management.yml diff --git a/config/locales/moderation.fr.yml b/config/locales/fr/moderation.yml similarity index 100% rename from config/locales/moderation.fr.yml rename to config/locales/fr/moderation.yml diff --git a/config/locales/officing.fr.yml b/config/locales/fr/officing.yml similarity index 100% rename from config/locales/officing.fr.yml rename to config/locales/fr/officing.yml diff --git a/config/locales/pages.fr.yml b/config/locales/fr/pages.yml similarity index 100% rename from config/locales/pages.fr.yml rename to config/locales/fr/pages.yml diff --git a/config/locales/rails.fr.yml b/config/locales/fr/rails.yml similarity index 100% rename from config/locales/rails.fr.yml rename to config/locales/fr/rails.yml diff --git a/config/locales/responders.fr.yml b/config/locales/fr/responders.yml similarity index 100% rename from config/locales/responders.fr.yml rename to config/locales/fr/responders.yml diff --git a/config/locales/settings.fr.yml b/config/locales/fr/settings.yml similarity index 100% rename from config/locales/settings.fr.yml rename to config/locales/fr/settings.yml diff --git a/config/locales/social_share_button.fr.yml b/config/locales/fr/social_share_button.yml similarity index 100% rename from config/locales/social_share_button.fr.yml rename to config/locales/fr/social_share_button.yml diff --git a/config/locales/valuation.fr.yml b/config/locales/fr/valuation.yml similarity index 100% rename from config/locales/valuation.fr.yml rename to config/locales/fr/valuation.yml diff --git a/config/locales/verification.fr.yml b/config/locales/fr/verification.yml similarity index 100% rename from config/locales/verification.fr.yml rename to config/locales/fr/verification.yml diff --git a/config/locales/activemodel.nl.yml b/config/locales/nl/activemodel.yml similarity index 100% rename from config/locales/activemodel.nl.yml rename to config/locales/nl/activemodel.yml diff --git a/config/locales/activerecord.nl.yml b/config/locales/nl/activerecord.yml similarity index 100% rename from config/locales/activerecord.nl.yml rename to config/locales/nl/activerecord.yml diff --git a/config/locales/admin.nl.yml b/config/locales/nl/admin.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/admin.nl.yml rename to config/locales/nl/admin.yml diff --git a/config/locales/budgets.nl.yml b/config/locales/nl/budgets.yml similarity index 100% rename from config/locales/budgets.nl.yml rename to config/locales/nl/budgets.yml diff --git a/config/locales/devise.nl.yml b/config/locales/nl/devise.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/devise.nl.yml rename to config/locales/nl/devise.yml diff --git a/config/locales/devise_views.nl.yml b/config/locales/nl/devise_views.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/devise_views.nl.yml rename to config/locales/nl/devise_views.yml diff --git a/config/locales/nl.yml b/config/locales/nl/general.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/nl.yml rename to config/locales/nl/general.yml diff --git a/config/locales/kaminari.nl.yml b/config/locales/nl/kaminari.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/kaminari.nl.yml rename to config/locales/nl/kaminari.yml diff --git a/config/locales/mailers.nl.yml b/config/locales/nl/mailers.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/mailers.nl.yml rename to config/locales/nl/mailers.yml diff --git a/config/locales/management.nl.yml b/config/locales/nl/management.yml similarity index 100% rename from config/locales/management.nl.yml rename to config/locales/nl/management.yml diff --git a/config/locales/moderation.nl.yml b/config/locales/nl/moderation.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/moderation.nl.yml rename to config/locales/nl/moderation.yml diff --git a/config/locales/officing.nl.yml b/config/locales/nl/officing.yml similarity index 100% rename from config/locales/officing.nl.yml rename to config/locales/nl/officing.yml diff --git a/config/locales/pages.nl.yml b/config/locales/nl/pages.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/pages.nl.yml rename to config/locales/nl/pages.yml diff --git a/config/locales/rails.nl.yml b/config/locales/nl/rails.yml similarity index 100% rename from config/locales/rails.nl.yml rename to config/locales/nl/rails.yml diff --git a/config/locales/responders.nl.yml b/config/locales/nl/responders.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/responders.nl.yml rename to config/locales/nl/responders.yml diff --git a/config/locales/settings.nl.yml b/config/locales/nl/settings.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/settings.nl.yml rename to config/locales/nl/settings.yml diff --git a/config/locales/social_share_button.nl.yml b/config/locales/nl/social_share_button.yml similarity index 100% rename from config/locales/social_share_button.nl.yml rename to config/locales/nl/social_share_button.yml diff --git a/config/locales/valuation.nl.yml b/config/locales/nl/valuation.yml similarity index 100% rename from config/locales/valuation.nl.yml rename to config/locales/nl/valuation.yml diff --git a/config/locales/verification.nl.yml b/config/locales/nl/verification.yml old mode 100755 new mode 100644 similarity index 100% rename from config/locales/verification.nl.yml rename to config/locales/nl/verification.yml diff --git a/config/locales/pt-BR.yml b/config/locales/pt-BR/general.yml similarity index 100% rename from config/locales/pt-BR.yml rename to config/locales/pt-BR/general.yml diff --git a/crowdin.yml b/crowdin.yml index 53bf32612..81b5623c8 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,3 +1,16 @@ files: - - source: /config/locales/*.en.yml - translation: /config/locales/%two_letters_code%/%original_file_name% + - source: /config/locales/en/**.yml + translation: /config/locales/%locale%/%original_file_name% + languages_mapping: + locale: + ar: ar + ast: ast + ca: ca + es-ES: es + fr: fr + gl: gl + he: he + it: it + nl: nl + pt-PT: pt + ru: ru diff --git a/lib/tasks/locales.rake b/lib/tasks/locales.rake new file mode 100644 index 000000000..8448b4003 --- /dev/null +++ b/lib/tasks/locales.rake @@ -0,0 +1,22 @@ +namespace :locales do + desc 'Migrate all localization files to new structure for a given locale name as argument' + task :migrate_structure, [:locale] => [:environment] do |_t, args| + locale = args[:locale] + puts "Moving files for locale: #{locale}" + + # This creates ./config/locales/en/ directory + system "mkdir ./config/locales/#{locale}" + + # This moves from ./config/locales/en.yml to ./config/locales/en/general.yml + system "mv ./config/locales/#{locale}.yml ./config/locales/#{locale}/general.yml" + + # This moves from ./config/locales/admin.en.yml to ./config/locales/en/admin.en.yml + system "mv ./config/locales/*.#{locale}.yml ./config/locales/#{locale}/" + + # This moves from ./config/locales/en/admin.en.yml to ./config/locales/en/admin.yml + system "find ./config/locales/ -name \"*.#{locale}.yml\" -exec sh -c 'mv \"$1\" \"${1%.#{locale}.yml}.yml\"' _ {} \\;" + + puts "Moved!" + end +end +