23 lines
930 B
Ruby
23 lines
930 B
Ruby
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
|
|
|