mirror of
https://github.com/discourse/discourse.git
synced 2025-01-30 06:28:03 +08:00
DEV: Add script for pushing translations to Transifex
This commit is contained in:
parent
24e5be3f0c
commit
77fedaba88
|
@ -12,17 +12,11 @@ def expand_path(path)
|
|||
File.expand_path("../../#{path}", __FILE__)
|
||||
end
|
||||
|
||||
# List of locales that will break Discourse and need to be fixed
|
||||
# by translators in Transifex.
|
||||
def broken_locales
|
||||
['ja']
|
||||
end
|
||||
|
||||
def supported_locales
|
||||
Dir.glob(expand_path('config/locales/client.*.yml'))
|
||||
.map { |x| x.split('.')[-2] }
|
||||
.select { |x| x != 'en' }
|
||||
.sort - broken_locales
|
||||
.sort - TranslationsManager::BROKEN_LOCALES
|
||||
end
|
||||
|
||||
YML_DIRS = ['config/locales',
|
||||
|
|
52
script/push_translations.rb
Executable file
52
script/push_translations.rb
Executable file
|
@ -0,0 +1,52 @@
|
|||
#!/usr/bin/env ruby
|
||||
|
||||
require 'bundler/inline'
|
||||
|
||||
gemfile(true) do
|
||||
gem 'translations-manager', git: 'https://github.com/discourse/translations-manager.git'
|
||||
end
|
||||
|
||||
require 'translations_manager'
|
||||
|
||||
def expand_path(path)
|
||||
File.expand_path("../../#{path}", __FILE__)
|
||||
end
|
||||
|
||||
YML_DIRS = ['config/locales',
|
||||
'plugins/poll/config/locales',
|
||||
'plugins/discourse-details/config/locales',
|
||||
'plugins/discourse-local-dates/config/locales',
|
||||
'plugins/discourse-narrative-bot/config/locales',
|
||||
'plugins/discourse-nginx-performance-report/config/locales',
|
||||
'plugins/discourse-presence/config/locales'].map { |dir| expand_path(dir) }
|
||||
YML_FILE_PREFIXES = ['server', 'client']
|
||||
TX_CONFIG = expand_path('.tx/config')
|
||||
|
||||
puts ""
|
||||
|
||||
resource_names = []
|
||||
languages = []
|
||||
parser = OptionParser.new do |opts|
|
||||
opts.banner = "Usage: push_translations.rb [options]"
|
||||
|
||||
opts.on("-r", "--resources a,b,c", Array, "Comma separated list of resource names as found in .tx/config") { |v| resource_names = v }
|
||||
opts.on("-l", "--languages de,fr", Array, "Comma separated list of languages") { |v| languages = v }
|
||||
opts.on("-h", "--help") do
|
||||
puts opts
|
||||
exit
|
||||
end
|
||||
end
|
||||
|
||||
begin
|
||||
parser.parse!
|
||||
rescue OptionParser::ParseError => e
|
||||
STDERR.puts e.message, "", parser
|
||||
exit 1
|
||||
end
|
||||
|
||||
if resource_names.empty?
|
||||
STDERR.puts "Missing argument: resources", "", parser
|
||||
exit 1
|
||||
end
|
||||
|
||||
TranslationsManager::TransifexUploader.new(YML_DIRS, YML_FILE_PREFIXES, resource_names, languages).perform(tx_config_filename: TX_CONFIG)
|
Loading…
Reference in New Issue
Block a user