diff --git a/contrib/packager.io/after.sh b/contrib/packager.io/after.sh index efd264406..2622f9d3c 100755 --- a/contrib/packager.io/after.sh +++ b/contrib/packager.io/after.sh @@ -8,13 +8,4 @@ PATH=$(pwd)/bin:$(pwd)/vendor/bundle/bin:$PATH set -e # download locales and translations to make a offline installation possible -gem install bundle -bundle install - -rake db:migrate -rake db:seed - -rails r 'Locale.fetch' -rails r 'Translation.fetch' - -rm -rf tmp/cache* +contrib/packager.io/fetch_locales.rb diff --git a/contrib/packager.io/fetch_locales.rb b/contrib/packager.io/fetch_locales.rb new file mode 100755 index 000000000..f97d3dc74 --- /dev/null +++ b/contrib/packager.io/fetch_locales.rb @@ -0,0 +1,47 @@ +#!/usr/bin/env ruby +# Copyright (C) 2012-2016 Zammad Foundation, http://zammad-foundation.org/ + +require 'rubygems' +require 'uri' +require 'net/http' +require 'json' +require 'yaml' + +url_locales = 'https://i18n.zammad.com/api/v1/locales' +url_translations = 'https://i18n.zammad.com/api/v1/translations/' + +file_locales = 'config/locales.yml' +directory_translations = 'config/translations' + +# download locales +uri = URI.parse(url_locales) +http = Net::HTTP.new(uri.host, uri.port) +http.use_ssl = true +request = Net::HTTP::Get.new(uri) +response = http.request(request) +data = JSON.parse(response.body) + +puts "Writing #{file_locales}..." +File.open(file_locales, 'w') do |out| + YAML.dump(data, out) +end + +# download translations +if !File.directory?(directory_translations) + Dir.mkdir(directory_translations, 0o755) +end +data.each { |locale| + url = "#{url_translations}#{locale['locale']}.yml" + uri = URI.parse(url) + http = Net::HTTP.new(uri.host, uri.port) + http.use_ssl = true + request = Net::HTTP::Get.new(uri) + response = http.request(request) + data = JSON.parse(response.body) + file = "#{directory_translations}/#{locale['locale']}.yml" + puts "Writing #{file}..." + File.open(file, 'w') do |out| + YAML.dump(data, out) + end +} +puts 'done'