tolk 1.2.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/app/assets/javascripts/tolk/actions.js +30 -0
- data/app/assets/javascripts/tolk/application.js +3 -4
- data/app/assets/javascripts/tolk/interpolations.js +21 -0
- data/app/assets/javascripts/tolk/jquery-1.9.1.min.js +5 -0
- data/app/assets/javascripts/tolk/layout.js +17 -0
- data/app/assets/javascripts/tolk/libraries.js +1 -0
- data/app/assets/stylesheets/tolk/application.css +4 -2
- data/app/assets/stylesheets/tolk/screen.css +104 -38
- data/app/controllers/tolk/application_controller.rb +5 -4
- data/app/controllers/tolk/locales_controller.rb +51 -12
- data/app/controllers/tolk/searches_controller.rb +3 -3
- data/app/helpers/tolk/application_helper.rb +22 -6
- data/app/models/tolk/locale.rb +96 -95
- data/app/models/tolk/phrase.rb +4 -5
- data/app/models/tolk/translation.rb +53 -11
- data/app/views/layouts/tolk/application.html.erb +6 -10
- data/app/views/tolk/locales/all.html.erb +14 -9
- data/app/views/tolk/locales/index.html.erb +1 -4
- data/app/views/tolk/locales/show.html.erb +14 -9
- data/app/views/tolk/searches/_form.html.erb +2 -2
- data/app/views/tolk/searches/show.html.erb +15 -10
- data/config/initializers/will_paginate.rb +18 -0
- data/config/routes.rb +4 -0
- data/lib/generators/tolk/install_generator.rb +44 -0
- data/lib/generators/tolk/templates/initializer.erb +412 -0
- data/lib/generators/{tolk_migration/templates/migrate/create_tolk_tables.rb → tolk/templates/migration.rb} +0 -0
- data/lib/generators/tolk/utils.rb +35 -0
- data/lib/tasks/tolk_tasks.rake +14 -2
- data/lib/tolk.rb +13 -2
- data/lib/tolk/config.rb +87 -0
- data/lib/tolk/engine.rb +18 -0
- data/lib/tolk/export.rb +27 -0
- data/lib/tolk/import.rb +23 -5
- data/lib/tolk/pagination.rb +28 -0
- data/lib/tolk/sync.rb +25 -9
- data/lib/tolk/version.rb +2 -2
- data/lib/tolk/yaml.rb +29 -0
- metadata +113 -40
- data/app/assets/javascripts/tolk/controls.js +0 -963
- data/app/assets/javascripts/tolk/dragdrop.js +0 -972
- data/app/assets/javascripts/tolk/effects.js +0 -1120
- data/app/assets/javascripts/tolk/prototype.js +0 -4221
- data/init.rb +0 -8
- data/lib/generators/tolk_migration/tolk_migration_generator.rb +0 -19
File without changes
|
@@ -0,0 +1,35 @@
|
|
1
|
+
module Tolk
|
2
|
+
module Generators
|
3
|
+
module Utils
|
4
|
+
module InstanceMethods
|
5
|
+
def display(output, color = :green)
|
6
|
+
say(" - #{output}", color)
|
7
|
+
end
|
8
|
+
|
9
|
+
def ask_for(wording, default_value = nil, override_if_present_value = nil)
|
10
|
+
override_if_present_value.present? ?
|
11
|
+
display("Using [#{override_if_present_value}] for question '#{wording}'") && override_if_present_value :
|
12
|
+
ask(" ? #{wording} Press <enter> for [#{default_value}] >", :yellow).presence || default_value
|
13
|
+
end
|
14
|
+
|
15
|
+
def ask_boolean(wording, default_value = nil)
|
16
|
+
value = ask_for(wording, 'Y')
|
17
|
+
value = (value == 'Y')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
module ClassMethods
|
22
|
+
def next_migration_number(dirname)
|
23
|
+
if ActiveRecord::Base.timestamped_migrations
|
24
|
+
migration_number = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
|
25
|
+
migration_number += 1
|
26
|
+
migration_number.to_s
|
27
|
+
else
|
28
|
+
"%.3d" % (current_migration_number(dirname) + 1)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
data/lib/tasks/tolk_tasks.rake
CHANGED
@@ -1,7 +1,14 @@
|
|
1
1
|
namespace :tolk do
|
2
|
+
desc "Update locale"
|
3
|
+
task :update_locale, [:old_name, :new_name] => :environment do |t, args|
|
4
|
+
old_name, new_name = args[:old_name], args[:new_name]
|
5
|
+
puts Tolk::Locale.rename(old_name, new_name)
|
6
|
+
end
|
7
|
+
|
2
8
|
desc "Add database tables, copy over the assets, and import existing translations"
|
3
9
|
task :setup => :environment do
|
4
|
-
system
|
10
|
+
system 'rails g tolk:install'
|
11
|
+
|
5
12
|
Rake::Task['db:migrate'].invoke
|
6
13
|
Rake::Task['tolk:sync'].invoke
|
7
14
|
Rake::Task['tolk:import'].invoke
|
@@ -17,6 +24,12 @@ namespace :tolk do
|
|
17
24
|
Tolk::Locale.dump_all
|
18
25
|
end
|
19
26
|
|
27
|
+
desc "Generate a single yml file for a specific locale"
|
28
|
+
task :dump_yaml, [:locale] => :environment do |t, args|
|
29
|
+
locale = args[:locale]
|
30
|
+
Tolk::Locale.dump_yaml(locale)
|
31
|
+
end
|
32
|
+
|
20
33
|
desc "Imports data all non default locale yml files to Tolk"
|
21
34
|
task :import => :environment do
|
22
35
|
Rake::Task['tolk:sync'].invoke
|
@@ -30,5 +43,4 @@ namespace :tolk do
|
|
30
43
|
puts "#{bt.phrase.key} - #{bt.text}"
|
31
44
|
end
|
32
45
|
end
|
33
|
-
|
34
46
|
end
|
data/lib/tolk.rb
CHANGED
@@ -1,8 +1,19 @@
|
|
1
|
-
require '
|
2
|
-
require '
|
1
|
+
require 'safe_yaml/load'
|
2
|
+
require 'tolk/config'
|
3
3
|
require 'tolk/engine'
|
4
4
|
require 'tolk/sync'
|
5
5
|
require 'tolk/import'
|
6
|
+
require 'tolk/export'
|
7
|
+
require 'tolk/yaml'
|
8
|
+
require 'tolk/pagination'
|
6
9
|
|
7
10
|
module Tolk
|
11
|
+
# Setup Tolk
|
12
|
+
def self.config(&block)
|
13
|
+
if block_given?
|
14
|
+
block.call(Tolk::Config)
|
15
|
+
else
|
16
|
+
Tolk::Config
|
17
|
+
end
|
18
|
+
end
|
8
19
|
end
|
data/lib/tolk/config.rb
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
require 'active_support/core_ext/class/attribute_accessors'
|
2
|
+
|
3
|
+
module Tolk
|
4
|
+
module Config
|
5
|
+
|
6
|
+
|
7
|
+
class << self
|
8
|
+
# Mapping : a hash of the type { 'ar' => 'Arabic' }
|
9
|
+
attr_accessor :mapping
|
10
|
+
|
11
|
+
# Dump locale path by default the locales folder (config/locales)
|
12
|
+
attr_accessor :dump_path
|
13
|
+
|
14
|
+
# primary locale to not be overriden by default locale in development mode
|
15
|
+
attr_accessor :primary_locale_name
|
16
|
+
|
17
|
+
# exclude locales tokens from gems
|
18
|
+
attr_accessor :exclude_gems_token
|
19
|
+
|
20
|
+
# reject files of type xxx.en.yml when syncing locales
|
21
|
+
attr_accessor :block_xxx_en_yml_locale_files
|
22
|
+
|
23
|
+
# strip translation texts automatically
|
24
|
+
attr_accessor :strip_texts
|
25
|
+
|
26
|
+
def reset
|
27
|
+
@exclude_gems_token = false
|
28
|
+
|
29
|
+
@strip_texts = true
|
30
|
+
|
31
|
+
@block_xxx_en_yml_locale_files = true # keep compat with older versions
|
32
|
+
|
33
|
+
@dump_path = Proc.new { "#{Rails.application.root}/config/locales" }
|
34
|
+
|
35
|
+
@mapping = {
|
36
|
+
'ar' => 'Arabic',
|
37
|
+
'bs' => 'Bosnian',
|
38
|
+
'bg' => 'Bulgarian',
|
39
|
+
'ca' => 'Catalan',
|
40
|
+
'cs' => 'Czech',
|
41
|
+
'da' => 'Danish',
|
42
|
+
'de' => 'German',
|
43
|
+
'el' => 'Greek',
|
44
|
+
'en' => 'English',
|
45
|
+
'es' => 'Spanish',
|
46
|
+
'et' => 'Estonian',
|
47
|
+
'fa' => 'Persian',
|
48
|
+
'fi' => 'Finnish',
|
49
|
+
'fr' => 'French',
|
50
|
+
'he' => 'Hebrew',
|
51
|
+
'hr' => 'Croatian',
|
52
|
+
'hu' => 'Hungarian',
|
53
|
+
'id' => 'Indonesian',
|
54
|
+
'is' => 'Icelandic',
|
55
|
+
'it' => 'Italian',
|
56
|
+
'ja' => 'Japanese',
|
57
|
+
'ko' => 'Korean',
|
58
|
+
'lo' => 'Lao',
|
59
|
+
'lt' => 'Lithuanian',
|
60
|
+
'lv' => 'Latvian',
|
61
|
+
'mk' => 'Macedonian',
|
62
|
+
'nl' => 'Dutch',
|
63
|
+
'no' => 'Norwegian',
|
64
|
+
'pl' => 'Polish',
|
65
|
+
'pt-BR' => 'Portuguese (Brazilian)',
|
66
|
+
'pt-PT' => 'Portuguese (Portugal)',
|
67
|
+
'ro' => 'Romanian',
|
68
|
+
'ru' => 'Russian',
|
69
|
+
'sv' => 'Swedish',
|
70
|
+
'sk' => 'Slovak',
|
71
|
+
'sl' => 'Slovene',
|
72
|
+
'sr' => 'Serbian',
|
73
|
+
'sw' => 'Swahili',
|
74
|
+
'th' => 'Thai',
|
75
|
+
'tr' => 'Turkish',
|
76
|
+
'uk' => 'Ukrainian',
|
77
|
+
'vi' => 'Vietnamese',
|
78
|
+
'zh-CN' => 'Chinese (Simplified)',
|
79
|
+
'zh-TW' => 'Chinese (Traditional)'
|
80
|
+
}
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
# Set default values for configuration options on load
|
85
|
+
self.reset
|
86
|
+
end
|
87
|
+
end
|
data/lib/tolk/engine.rb
CHANGED
@@ -3,5 +3,23 @@ require 'rails'
|
|
3
3
|
module Tolk
|
4
4
|
class Engine < Rails::Engine
|
5
5
|
isolate_namespace Tolk
|
6
|
+
|
7
|
+
initializer :assets do |app|
|
8
|
+
app.config.assets.precompile += ['tolk/libraries.js']
|
9
|
+
end
|
10
|
+
|
11
|
+
# We need one of the two pagination engines loaded by this point.
|
12
|
+
# We don't care which one, just one of them will do.
|
13
|
+
begin
|
14
|
+
require 'kaminari'
|
15
|
+
rescue LoadError
|
16
|
+
begin
|
17
|
+
require 'will_paginate'
|
18
|
+
rescue LoadError
|
19
|
+
puts "Please add the kaminari or will_paginate gem to your application's Gemfile."
|
20
|
+
puts "The Tolk engine needs either kaminari or will_paginate in order to paginate."
|
21
|
+
exit
|
22
|
+
end
|
23
|
+
end
|
6
24
|
end
|
7
25
|
end
|
data/lib/tolk/export.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
module Tolk
|
2
|
+
class Export
|
3
|
+
attr_reader :name, :data, :destination
|
4
|
+
|
5
|
+
def initialize(args)
|
6
|
+
@name = args.fetch(:name, '')
|
7
|
+
@data = args.fetch(:data, {})
|
8
|
+
@destination = args.fetch(:destination, self.class.dump_path)
|
9
|
+
end
|
10
|
+
|
11
|
+
def dump
|
12
|
+
File.open("#{destination}/#{name}.yml", "w+") do |file|
|
13
|
+
file.write(Tolk::YAML.dump(data))
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
class << self
|
18
|
+
def dump(args)
|
19
|
+
new(args).dump
|
20
|
+
end
|
21
|
+
|
22
|
+
def dump_path
|
23
|
+
Tolk::Locale._dump_path
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/tolk/import.rb
CHANGED
@@ -8,14 +8,21 @@ module Tolk
|
|
8
8
|
|
9
9
|
def import_secondary_locales
|
10
10
|
locales = Dir.entries(self.locales_config_path)
|
11
|
-
locales = locales.reject {|l| ['.', '..'].include?(l) || !l.ends_with?('.yml') }.map {|x| x.split('.').first } - [Tolk::Locale.primary_locale.name]
|
12
11
|
|
12
|
+
locale_block_filter = Proc.new {
|
13
|
+
|l| ['.', '..'].include?(l) ||
|
14
|
+
!l.ends_with?('.yml') ||
|
15
|
+
l.match(/(.*\.){2,}/) # reject files of type xxx.en.yml
|
16
|
+
}
|
17
|
+
locales = locales.reject(&locale_block_filter).map {|x| x.split('.').first }
|
18
|
+
locales = locales - [Tolk::Locale.primary_locale.name]
|
13
19
|
locales.each {|l| import_locale(l) }
|
14
20
|
end
|
15
21
|
|
16
22
|
def import_locale(locale_name)
|
17
|
-
locale = Tolk::Locale.
|
23
|
+
locale = Tolk::Locale.where(name: locale_name).first_or_create
|
18
24
|
data = locale.read_locale_file
|
25
|
+
return unless data
|
19
26
|
|
20
27
|
phrases = Tolk::Phrase.all
|
21
28
|
count = 0
|
@@ -25,9 +32,13 @@ module Tolk
|
|
25
32
|
|
26
33
|
if phrase
|
27
34
|
translation = locale.translations.new(:text => value, :phrase => phrase)
|
28
|
-
|
35
|
+
if translation.save
|
36
|
+
count = count + 1
|
37
|
+
elsif translation.errors[:variables].present?
|
38
|
+
puts "[WARN] Key '#{key}' from '#{locale_name}.yml' could not be saved: #{translation.errors[:variables].first}"
|
39
|
+
end
|
29
40
|
else
|
30
|
-
puts "[ERROR] Key '#{key}' was found in #{locale_name}.yml but #{Tolk::Locale.primary_language_name} translation is missing"
|
41
|
+
puts "[ERROR] Key '#{key}' was found in '#{locale_name}.yml' but #{Tolk::Locale.primary_language_name} translation is missing"
|
31
42
|
end
|
32
43
|
end
|
33
44
|
|
@@ -40,7 +51,14 @@ module Tolk
|
|
40
51
|
locale_file = "#{self.locales_config_path}/#{self.name}.yml"
|
41
52
|
raise "Locale file #{locale_file} does not exists" unless File.exists?(locale_file)
|
42
53
|
|
43
|
-
|
54
|
+
puts "[INFO] Reading #{locale_file} for locale #{self.name}"
|
55
|
+
begin
|
56
|
+
self.class.flat_hash(Tolk::YAML.load_file(locale_file)[self.name])
|
57
|
+
rescue
|
58
|
+
puts "[ERROR] File #{locale_file} expected to declare #{self.name} locale, but it does not. Skipping this file."
|
59
|
+
nil
|
60
|
+
end
|
61
|
+
|
44
62
|
end
|
45
63
|
|
46
64
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Tolk
|
2
|
+
module Pagination
|
3
|
+
module Methods
|
4
|
+
# Kaminari defaults page_method_name to :page, will_paginate always uses
|
5
|
+
# :page
|
6
|
+
def pagination_method
|
7
|
+
defined?(Kaminari) ? Kaminari.config.page_method_name : :page
|
8
|
+
end
|
9
|
+
|
10
|
+
# Kaminari defaults param_name to :page, will_paginate always uses :page
|
11
|
+
def pagination_param
|
12
|
+
defined?(Kaminari) ? Kaminari.config.param_name : :page
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
module ViewHelper
|
17
|
+
def tolk_paginate(collection, options = {})
|
18
|
+
if respond_to?(:will_paginate)
|
19
|
+
# If parent app is using Will Paginate, we need to use it also
|
20
|
+
will_paginate collection, options
|
21
|
+
else
|
22
|
+
# Otherwise use Kaminari
|
23
|
+
paginate collection, options
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
data/lib/tolk/sync.rb
CHANGED
@@ -10,14 +10,36 @@ module Tolk
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def load_translations
|
13
|
-
|
13
|
+
if Tolk.config.exclude_gems_token
|
14
|
+
# bypass default init_translations
|
15
|
+
I18n.backend.reload! if I18n.backend.initialized?
|
16
|
+
I18n.backend.instance_variable_set(:@initialized, true)
|
17
|
+
translations_files = Dir[Rails.root.join('config', 'locales', "*.{rb,yml}")]
|
18
|
+
|
19
|
+
if Tolk.config.block_xxx_en_yml_locale_files
|
20
|
+
locale_block_filter = Proc.new {
|
21
|
+
|l| ['.', '..'].include?(l) ||
|
22
|
+
!l.ends_with?('.yml') ||
|
23
|
+
l.split("/").last.match(/(.*\.){2,}/) # reject files of type xxx.en.yml
|
24
|
+
}
|
25
|
+
translations_files = translations_files.reject(&locale_block_filter)
|
26
|
+
end
|
27
|
+
|
28
|
+
I18n.backend.load_translations(translations_files)
|
29
|
+
else
|
30
|
+
I18n.backend.send :init_translations unless I18n.backend.initialized? # force load
|
31
|
+
end
|
14
32
|
translations = flat_hash(I18n.backend.send(:translations)[primary_locale.name.to_sym])
|
15
33
|
filter_out_i18n_keys(translations.merge(read_primary_locale_file))
|
16
34
|
end
|
17
35
|
|
18
36
|
def read_primary_locale_file
|
19
37
|
primary_file = "#{self.locales_config_path}/#{self.primary_locale_name}.yml"
|
20
|
-
File.exists?(primary_file)
|
38
|
+
if File.exists?(primary_file)
|
39
|
+
flat_hash(Tolk::YAML.load_file(primary_file)[self.primary_locale_name])
|
40
|
+
else
|
41
|
+
{}
|
42
|
+
end
|
21
43
|
end
|
22
44
|
|
23
45
|
def flat_hash(data, prefix = '', result = {})
|
@@ -38,7 +60,6 @@ module Tolk
|
|
38
60
|
|
39
61
|
def sync_phrases(translations)
|
40
62
|
primary_locale = self.primary_locale
|
41
|
-
secondary_locales = self.secondary_locales
|
42
63
|
|
43
64
|
# Handle deleted phrases
|
44
65
|
translations.present? ? Tolk::Phrase.destroy_all(["tolk_phrases.key NOT IN (?)", translations.keys]) : Tolk::Phrase.destroy_all
|
@@ -54,12 +75,7 @@ module Tolk
|
|
54
75
|
|
55
76
|
if translation.changed? && !translation.new_record?
|
56
77
|
# Set the primary updated flag if the primary translation has changed and it is not a new record.
|
57
|
-
|
58
|
-
if existing_translation = existing_phrase.translations.detect {|t| t.locale_id == locale.id }
|
59
|
-
existing_translation.force_set_primary_update = true
|
60
|
-
existing_translation.save!
|
61
|
-
end
|
62
|
-
end
|
78
|
+
existing_phrase.translations.where(Tolk::Translation.arel_table[:locale_id].not_eq(primary_locale.id)).update_all({ :primary_updated => true })
|
63
79
|
end
|
64
80
|
|
65
81
|
translation.primary = true
|
data/lib/tolk/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
module Tolk
|
2
|
-
VERSION = "
|
3
|
-
end
|
2
|
+
VERSION = "2.0.0"
|
3
|
+
end
|
data/lib/tolk/yaml.rb
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
module Tolk
|
2
|
+
module YAML
|
3
|
+
SAFE_YAML_OPTIONS = SafeYAML::Deep.freeze({
|
4
|
+
:default_mode => :safe,
|
5
|
+
:deserialize_symbols => true
|
6
|
+
})
|
7
|
+
|
8
|
+
def self.load(yaml)
|
9
|
+
# SafeYAML.load has different arity depending on the YAML engine used.
|
10
|
+
if SafeYAML::YAML_ENGINE == "psych"
|
11
|
+
SafeYAML.load(yaml, nil, SAFE_YAML_OPTIONS)
|
12
|
+
else # syck
|
13
|
+
SafeYAML.load(yaml, SAFE_YAML_OPTIONS)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.load_file(filename)
|
18
|
+
SafeYAML.load_file(filename, SAFE_YAML_OPTIONS)
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.dump(payload)
|
22
|
+
if payload.respond_to?(:ya2yaml)
|
23
|
+
payload.ya2yaml(:syck_compatible => true)
|
24
|
+
else
|
25
|
+
::YAML.dump(payload)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
metadata
CHANGED
@@ -1,51 +1,117 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tolk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
5
|
-
prerelease:
|
4
|
+
version: 2.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- David Heinemeier Hansson
|
9
8
|
- Piotr Sarnacki
|
10
9
|
- Emilio Tagua
|
11
10
|
- Thomas Darde
|
11
|
+
- Ferran Basora
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2016-10-21 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
|
-
name:
|
18
|
+
name: rails
|
19
19
|
requirement: !ruby/object:Gem::Requirement
|
20
|
-
none: false
|
21
20
|
requirements:
|
22
|
-
- -
|
21
|
+
- - ">="
|
23
22
|
- !ruby/object:Gem::Version
|
24
|
-
version: '0'
|
23
|
+
version: '4.0'
|
25
24
|
type: :runtime
|
26
25
|
prerelease: false
|
27
26
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
27
|
requirements:
|
30
|
-
- -
|
28
|
+
- - ">="
|
31
29
|
- !ruby/object:Gem::Version
|
32
|
-
version: '0'
|
30
|
+
version: '4.0'
|
33
31
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
32
|
+
name: safe_yaml
|
35
33
|
requirement: !ruby/object:Gem::Requirement
|
36
|
-
none: false
|
37
34
|
requirements:
|
38
|
-
- -
|
35
|
+
- - ">="
|
39
36
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
37
|
+
version: 0.8.6
|
41
38
|
type: :runtime
|
42
39
|
prerelease: false
|
43
40
|
version_requirements: !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
45
41
|
requirements:
|
46
|
-
- -
|
42
|
+
- - ">="
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: 0.8.6
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: capybara
|
47
|
+
requirement: !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
49
|
+
- - "~>"
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: 2.4.4
|
52
|
+
type: :development
|
53
|
+
prerelease: false
|
54
|
+
version_requirements: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
56
|
+
- - "~>"
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: 2.4.4
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: sqlite3
|
61
|
+
requirement: !ruby/object:Gem::Requirement
|
62
|
+
requirements:
|
63
|
+
- - ">="
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: !ruby/object:Gem::Requirement
|
69
|
+
requirements:
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: '0'
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: mocha
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '1.0'
|
80
|
+
type: :development
|
81
|
+
prerelease: false
|
82
|
+
version_requirements: !ruby/object:Gem::Requirement
|
83
|
+
requirements:
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: '1.0'
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
name: selenium-webdriver
|
89
|
+
requirement: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - ">="
|
47
92
|
- !ruby/object:Gem::Version
|
48
|
-
version: '0
|
93
|
+
version: '0'
|
94
|
+
type: :development
|
95
|
+
prerelease: false
|
96
|
+
version_requirements: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
101
|
+
- !ruby/object:Gem::Dependency
|
102
|
+
name: will_paginate
|
103
|
+
requirement: !ruby/object:Gem::Requirement
|
104
|
+
requirements:
|
105
|
+
- - ">="
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: '0'
|
108
|
+
type: :development
|
109
|
+
prerelease: false
|
110
|
+
version_requirements: !ruby/object:Gem::Requirement
|
111
|
+
requirements:
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: '0'
|
49
115
|
description: Tolk is a web interface for doing i18n translations packaged as an engine
|
50
116
|
for Rails applications.
|
51
117
|
email: david@loudthinking.com
|
@@ -54,21 +120,12 @@ extensions: []
|
|
54
120
|
extra_rdoc_files: []
|
55
121
|
files:
|
56
122
|
- MIT-LICENSE
|
57
|
-
-
|
58
|
-
- init.rb
|
59
|
-
- lib/generators/tolk_migration/templates/migrate/create_tolk_tables.rb
|
60
|
-
- lib/generators/tolk_migration/tolk_migration_generator.rb
|
61
|
-
- lib/tasks/tolk_tasks.rake
|
62
|
-
- lib/tolk/engine.rb
|
63
|
-
- lib/tolk/import.rb
|
64
|
-
- lib/tolk/sync.rb
|
65
|
-
- lib/tolk/version.rb
|
66
|
-
- lib/tolk.rb
|
123
|
+
- app/assets/javascripts/tolk/actions.js
|
67
124
|
- app/assets/javascripts/tolk/application.js
|
68
|
-
- app/assets/javascripts/tolk/
|
69
|
-
- app/assets/javascripts/tolk/
|
70
|
-
- app/assets/javascripts/tolk/
|
71
|
-
- app/assets/javascripts/tolk/
|
125
|
+
- app/assets/javascripts/tolk/interpolations.js
|
126
|
+
- app/assets/javascripts/tolk/jquery-1.9.1.min.js
|
127
|
+
- app/assets/javascripts/tolk/layout.js
|
128
|
+
- app/assets/javascripts/tolk/libraries.js
|
72
129
|
- app/assets/stylesheets/tolk/application.css
|
73
130
|
- app/assets/stylesheets/tolk/reset.css
|
74
131
|
- app/assets/stylesheets/tolk/screen.css
|
@@ -86,28 +143,44 @@ files:
|
|
86
143
|
- app/views/tolk/locales/show.html.erb
|
87
144
|
- app/views/tolk/searches/_form.html.erb
|
88
145
|
- app/views/tolk/searches/show.html.erb
|
89
|
-
|
90
|
-
|
146
|
+
- config/initializers/will_paginate.rb
|
147
|
+
- config/routes.rb
|
148
|
+
- lib/generators/tolk/install_generator.rb
|
149
|
+
- lib/generators/tolk/templates/initializer.erb
|
150
|
+
- lib/generators/tolk/templates/migration.rb
|
151
|
+
- lib/generators/tolk/utils.rb
|
152
|
+
- lib/tasks/tolk_tasks.rake
|
153
|
+
- lib/tolk.rb
|
154
|
+
- lib/tolk/config.rb
|
155
|
+
- lib/tolk/engine.rb
|
156
|
+
- lib/tolk/export.rb
|
157
|
+
- lib/tolk/import.rb
|
158
|
+
- lib/tolk/pagination.rb
|
159
|
+
- lib/tolk/sync.rb
|
160
|
+
- lib/tolk/version.rb
|
161
|
+
- lib/tolk/yaml.rb
|
162
|
+
homepage: https://github.com/tolk/tolk
|
163
|
+
licenses:
|
164
|
+
- MIT
|
165
|
+
metadata: {}
|
91
166
|
post_install_message:
|
92
167
|
rdoc_options: []
|
93
168
|
require_paths:
|
94
169
|
- lib
|
95
170
|
required_ruby_version: !ruby/object:Gem::Requirement
|
96
|
-
none: false
|
97
171
|
requirements:
|
98
|
-
- -
|
172
|
+
- - ">="
|
99
173
|
- !ruby/object:Gem::Version
|
100
|
-
version:
|
174
|
+
version: 2.0.0
|
101
175
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
|
-
none: false
|
103
176
|
requirements:
|
104
|
-
- -
|
177
|
+
- - ">="
|
105
178
|
- !ruby/object:Gem::Version
|
106
179
|
version: '0'
|
107
180
|
requirements: []
|
108
181
|
rubyforge_project:
|
109
|
-
rubygems_version:
|
182
|
+
rubygems_version: 2.4.5
|
110
183
|
signing_key:
|
111
|
-
specification_version:
|
184
|
+
specification_version: 4
|
112
185
|
summary: Rails engine providing web interface for managing i18n yaml files
|
113
186
|
test_files: []
|