lit 0.2.6 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -13
- data/README.md +93 -12
- data/Rakefile +1 -0
- data/app/assets/javascripts/lit/application.js +1 -2
- data/app/assets/javascripts/lit/{bootstrap.js.coffee → backend/bootstrap.js.coffee} +0 -0
- data/app/assets/javascripts/lit/{dashboard.js → backend/dashboard.js} +0 -0
- data/app/assets/javascripts/lit/{jquery-te-1.4.0.min.js → backend/jquery-te-1.4.0.min.js} +0 -0
- data/app/assets/javascripts/lit/{localizations.js.coffee → backend/localizations.js.coffee} +2 -0
- data/app/assets/javascripts/lit/backend/sources.js.coffee +24 -0
- data/app/assets/javascripts/lit/lit_frontend.js +103 -0
- data/app/assets/javascripts/lit/mousetrap.js +1044 -0
- data/app/assets/stylesheets/lit/application.css +7 -1
- data/app/assets/stylesheets/lit/{jquery-te-1.4.0.css.scss → backend/jquery-te-1.4.0.css.scss} +0 -0
- data/app/assets/stylesheets/lit/lit_frontend.css +86 -0
- data/app/controllers/lit/api/v1/base_controller.rb +1 -1
- data/app/controllers/lit/application_controller.rb +7 -3
- data/app/controllers/lit/concerns/request_info_store.rb +16 -0
- data/app/controllers/lit/concerns/request_keys_store.rb +16 -0
- data/app/controllers/lit/incomming_localizations_controller.rb +2 -2
- data/app/controllers/lit/locales_controller.rb +1 -1
- data/app/controllers/lit/localization_keys_controller.rb +22 -9
- data/app/controllers/lit/localizations_controller.rb +19 -6
- data/app/controllers/lit/sources_controller.rb +11 -1
- data/app/helpers/lit/frontend_helper.rb +71 -0
- data/app/helpers/lit/localization_keys_helper.rb +5 -0
- data/app/helpers/lit/sources_helper.rb +3 -0
- data/app/jobs/lit/synchronize_source_job.rb +11 -0
- data/app/models/lit/localization.rb +17 -10
- data/app/models/lit/localization_key.rb +6 -2
- data/app/models/lit/source.rb +4 -3
- data/app/views/layouts/lit/application.html.erb +6 -6
- data/app/views/lit/incomming_localizations/index.html.erb +22 -17
- data/app/views/lit/localization_keys/_localization_row.html.erb +1 -1
- data/app/views/lit/localization_keys/index.html.erb +27 -8
- data/app/views/lit/localizations/_form.html.erb +5 -5
- data/app/views/lit/localizations/_previous_versions_rows.html.erb +1 -1
- data/app/views/lit/localizations/edit.js.erb +2 -2
- data/app/views/lit/localizations/previous_versions.js.erb +1 -1
- data/app/views/lit/localizations/update.js.erb +2 -2
- data/config/routes.rb +12 -12
- data/db/migrate/20180101010101_lit_create_lit_locales.rb +16 -0
- data/db/migrate/20180101010102_lit_create_lit_localization_keys.rb +18 -0
- data/db/migrate/20180101010103_lit_create_lit_localizations.rb +24 -0
- data/db/migrate/20180101010104_lit_add_is_completed_and_is_starred_to_localization_keys.rb +17 -0
- data/db/migrate/20180101010105_lit_add_is_hidden_to_locales.rb +12 -0
- data/db/migrate/20180101010106_lit_create_lit_localization_versions.rb +20 -0
- data/db/migrate/20180101010107_lit_create_lit_sources.rb +19 -0
- data/db/migrate/20180101010108_lit_create_lit_incomming_localizations.rb +34 -0
- data/db/migrate/20180101010109_lit_add_sync_complete_to_lit_sources.rb +12 -0
- data/lib/generators/lit/install/templates/initializer.rb +17 -6
- data/lib/generators/lit/install_generator.rb +0 -7
- data/lib/lit.rb +15 -8
- data/lib/lit/adapters/hash_storage.rb +4 -0
- data/lib/lit/adapters/redis_storage.rb +9 -3
- data/lib/lit/cache.rb +126 -70
- data/lib/lit/engine.rb +20 -1
- data/lib/lit/i18n_backend.rb +66 -26
- data/lib/lit/version.rb +1 -1
- data/lib/tasks/lit_tasks.rake +21 -3
- metadata +67 -43
- data/app/assets/stylesheets/lit/dashboard.css +0 -4
- data/config/database.yml +0 -8
- data/db/migrate/20121103144612_create_lit_locales.rb +0 -9
- data/db/migrate/20121103174049_create_lit_localization_keys.rb +0 -10
- data/db/migrate/20121103182106_create_lit_localizations.rb +0 -15
- data/db/migrate/20121225112100_add_is_completed_and_is_starred_to_localization_keys.rb +0 -6
- data/db/migrate/20130511111904_add_is_hidden_to_locales.rb +0 -5
- data/db/migrate/20130921071304_create_lit_localization_versions.rb +0 -11
- data/db/migrate/20130923162141_create_lit_sources.rb +0 -12
- data/db/migrate/20130924151910_create_lit_incomming_localizations.rb +0 -21
data/lib/lit/engine.rb
CHANGED
@@ -1,9 +1,28 @@
|
|
1
1
|
module Lit
|
2
2
|
class Engine < ::Rails::Engine
|
3
|
+
require 'jquery-rails'
|
4
|
+
|
5
|
+
config.autoload_paths += %W[#{Lit::Engine.root}/app/controllers/lit/concerns]
|
6
|
+
|
3
7
|
isolate_namespace Lit
|
4
8
|
|
5
9
|
initializer 'lit.assets.precompile' do |app|
|
6
|
-
app.config.assets.precompile += %w
|
10
|
+
app.config.assets.precompile += %w[lit/application.css lit/application.js]
|
11
|
+
app.config.assets.precompile += %w[lit/lit_frontend.css lit/lit_frontend.js]
|
12
|
+
# add language flags to list of precompiled assets
|
13
|
+
if app.config.i18n.available_locales
|
14
|
+
app.config.i18n.available_locales.each do |l|
|
15
|
+
app.config.assets.precompile << "lit/famfamfam_flags/#{l.to_s[0,2]}.png"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
initializer 'lit.migrations.append' do |app|
|
21
|
+
unless app.root.to_s.include?(root.to_s)
|
22
|
+
config.paths['db/migrate'].expanded.each do |expanded_path|
|
23
|
+
app.config.paths['db/migrate'] << expanded_path
|
24
|
+
end
|
25
|
+
end
|
7
26
|
end
|
8
27
|
end
|
9
28
|
end
|
data/lib/lit/i18n_backend.rb
CHANGED
@@ -9,10 +9,16 @@ module Lit
|
|
9
9
|
def initialize(cache)
|
10
10
|
@cache = cache
|
11
11
|
@available_locales_cache = nil
|
12
|
+
@translations = {}
|
13
|
+
reserved_keys = I18n.const_get :RESERVED_KEYS
|
14
|
+
reserved_keys << :lit_default_copy
|
15
|
+
I18n.send(:remove_const, :RESERVED_KEYS)
|
16
|
+
I18n.const_set(:RESERVED_KEYS, reserved_keys)
|
12
17
|
end
|
13
18
|
|
14
19
|
def translate(locale, key, options = {})
|
15
|
-
|
20
|
+
options[:lit_default_copy] = options[:default].dup if can_dup_default(options)
|
21
|
+
content = super(locale, key, options)
|
16
22
|
if Lit.all_translations_are_html_safe && content.respond_to?(:html_safe)
|
17
23
|
content.html_safe
|
18
24
|
else
|
@@ -22,9 +28,9 @@ module Lit
|
|
22
28
|
|
23
29
|
def available_locales
|
24
30
|
return @available_locales_cache unless @available_locales_cache.nil?
|
25
|
-
locales
|
26
|
-
if locales &&
|
27
|
-
@available_locales_cache = locales.map(&:to_sym)
|
31
|
+
@locales ||= ::Rails.configuration.i18n.available_locales
|
32
|
+
if @locales && !@locales.empty?
|
33
|
+
@available_locales_cache = @locales.map(&:to_sym)
|
28
34
|
else
|
29
35
|
@available_locales_cache = Lit::Locale.ordered.visible.map { |l| l.locale.to_sym }
|
30
36
|
end
|
@@ -48,6 +54,15 @@ module Lit
|
|
48
54
|
|
49
55
|
private
|
50
56
|
|
57
|
+
def can_dup_default(options = {})
|
58
|
+
return false unless options.key?(:default)
|
59
|
+
return true if options[:default].is_a?(String)
|
60
|
+
return true if options[:default].is_a?(Array) && \
|
61
|
+
(options[:default].first.is_a?(String) || \
|
62
|
+
options[:default].first.is_a?(Symbol))
|
63
|
+
false
|
64
|
+
end
|
65
|
+
|
51
66
|
def lookup(locale, key, scope = [], options = {})
|
52
67
|
init_translations unless initialized?
|
53
68
|
|
@@ -58,42 +73,67 @@ module Lit
|
|
58
73
|
content = @cache[key_with_locale] || super
|
59
74
|
return content if parts.size <= 1
|
60
75
|
|
61
|
-
if should_cache?(key_with_locale)
|
76
|
+
if content.nil? && should_cache?(key_with_locale)
|
62
77
|
new_content = @cache.init_key_with_value(key_with_locale, content)
|
63
78
|
content = new_content if content.nil? # Content can change when Lit.humanize is true for example
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
79
|
+
# so there is no content in cache - it might not be if ie. we're doing
|
80
|
+
# fallback to already existing language
|
81
|
+
if content.nil?
|
82
|
+
# check if default was provided
|
83
|
+
if options[:lit_default_copy].present?
|
84
|
+
# default most likely will be an array
|
85
|
+
if options[:lit_default_copy].is_a?(Array)
|
86
|
+
default = options[:lit_default_copy].map do |key_or_value|
|
87
|
+
if key_or_value.is_a?(Symbol)
|
88
|
+
I18n.normalize_keys(nil, key_or_value.to_s, options[:scope], options[:separator]).join('.').to_sym
|
89
|
+
else
|
90
|
+
key_or_value
|
91
|
+
end
|
72
92
|
end
|
93
|
+
default = default.first if default.is_a?(Array)
|
94
|
+
else
|
95
|
+
default = options[:lit_default_copy]
|
96
|
+
end
|
97
|
+
content = default
|
98
|
+
end
|
99
|
+
# if we have content now, let's store it in cache
|
100
|
+
if content.present?
|
101
|
+
@cache[key_with_locale] = content
|
102
|
+
content = @cache[key_with_locale]
|
103
|
+
end
|
104
|
+
# content might be nil - default value passed to cache was in fact
|
105
|
+
# useless.
|
106
|
+
# if content is still nil, we may try to humanize it. Rails will do
|
107
|
+
# it anyway if we return nil, but then it will wrap it also in
|
108
|
+
# translation_missing span.
|
109
|
+
# Humanizing key should be last resort
|
110
|
+
if content.nil? && Lit.humanize_key
|
111
|
+
content = key.to_s.split('.').last.humanize
|
112
|
+
if content.present?
|
113
|
+
@cache[key_with_locale] = content
|
114
|
+
content = @cache[key_with_locale]
|
73
115
|
end
|
74
|
-
else
|
75
|
-
default = options[:default]
|
76
116
|
end
|
77
|
-
|
78
|
-
@cache[key_with_locale] = default
|
79
|
-
content = @cache[key_with_locale]
|
80
117
|
end
|
81
118
|
end
|
82
119
|
## return translated content
|
83
120
|
content
|
84
121
|
end
|
85
122
|
|
86
|
-
def store_item(locale, data, scope = [])
|
123
|
+
def store_item(locale, data, scope = [], startup_process = false)
|
124
|
+
key = ([locale] + scope).join('.')
|
87
125
|
if data.respond_to?(:to_hash)
|
88
126
|
# ActiveRecord::Base.transaction do
|
89
127
|
data.to_hash.each do |key, value|
|
90
|
-
store_item(locale, value, scope + [key])
|
128
|
+
store_item(locale, value, scope + [key], startup_process)
|
91
129
|
end
|
92
130
|
# end
|
93
|
-
elsif data.respond_to?(:to_str)
|
131
|
+
elsif data.respond_to?(:to_str) || data.is_a?(Array)
|
94
132
|
key = ([locale] + scope).join('.')
|
95
|
-
@cache
|
133
|
+
return if startup_process && @cache.keys.member?(key) && Lit.ignore_yaml_on_startup
|
134
|
+
@cache.update_locale(key, data, data.is_a?(Array), startup_process)
|
96
135
|
elsif data.nil?
|
136
|
+
return if startup_process
|
97
137
|
key = ([locale] + scope).join('.')
|
98
138
|
@cache.delete_locale(key)
|
99
139
|
end
|
@@ -102,7 +142,7 @@ module Lit
|
|
102
142
|
def load_translations_to_cache
|
103
143
|
ActiveRecord::Base.transaction do
|
104
144
|
(@translations || {}).each do |locale, data|
|
105
|
-
store_item(locale, data) if valid_locale?(locale)
|
145
|
+
store_item(locale, data, [], true) if valid_locale?(locale)
|
106
146
|
end
|
107
147
|
end
|
108
148
|
end
|
@@ -128,12 +168,12 @@ module Lit
|
|
128
168
|
end
|
129
169
|
|
130
170
|
def store_items?
|
131
|
-
|
171
|
+
!instance_variable_defined?(:@store_items) || @store_items
|
132
172
|
end
|
133
173
|
|
134
174
|
def valid_locale?(locale)
|
135
|
-
locales
|
136
|
-
|
175
|
+
@locales ||= ::Rails.configuration.i18n.available_locales
|
176
|
+
!@locales || @locales.map(&:to_s).include?(locale.to_s)
|
137
177
|
end
|
138
178
|
|
139
179
|
def is_ignored_key(key_without_locale)
|
data/lib/lit/version.rb
CHANGED
data/lib/tasks/lit_tasks.rake
CHANGED
@@ -2,9 +2,27 @@ namespace :lit do
|
|
2
2
|
desc 'Exports translated strings from lit to config/locales/lit.yml file.'
|
3
3
|
task export: :environment do
|
4
4
|
if yml = Lit.init.cache.export
|
5
|
-
|
6
|
-
File.new(
|
7
|
-
puts "Successfully exported #{
|
5
|
+
path = Rails.root.join('config', 'locales', 'lit.yml')
|
6
|
+
File.new(path, 'w').write(yml)
|
7
|
+
puts "Successfully exported #{path}."
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
desc 'Reads config/locales/#{ENV["FILES"]} files and calls I18n.t() on keys forcing Lit to import given LOCALE to cache / to display them in UI'
|
12
|
+
task raw_import: :environment do
|
13
|
+
return 'you need to define FILES env' if ENV['FILES'].blank?
|
14
|
+
return 'you need to define LOCALE env' if ENV['LOCALE'].blank?
|
15
|
+
files = ENV['FILES'].to_s.split(',')
|
16
|
+
locale = ENV['LOCALE'].to_s
|
17
|
+
I18n.with_locale(locale) do
|
18
|
+
files.each do |file|
|
19
|
+
locale_file = File.open(Rails.root.join('config', 'locales', file))
|
20
|
+
yml = YAML.load(locale_file)[locale]
|
21
|
+
Hash[*Lit::Cache.flatten_hash(yml)].each do |key, default_translation|
|
22
|
+
puts key
|
23
|
+
I18n.t(key, default: default_translation)
|
24
|
+
end
|
25
|
+
end
|
8
26
|
end
|
9
27
|
end
|
10
28
|
end
|
metadata
CHANGED
@@ -1,88 +1,104 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maciej Litwiniuk
|
8
|
+
- Piotr Boniecki
|
9
|
+
- Michał Buszkiewicz
|
8
10
|
autorequire:
|
9
11
|
bindir: bin
|
10
12
|
cert_chain: []
|
11
|
-
date:
|
13
|
+
date: 2018-01-29 00:00:00.000000000 Z
|
12
14
|
dependencies:
|
13
15
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
16
|
+
name: i18n
|
15
17
|
requirement: !ruby/object:Gem::Requirement
|
16
18
|
requirements:
|
17
|
-
- -
|
19
|
+
- - "~>"
|
18
20
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
21
|
+
version: '0.7'
|
20
22
|
type: :runtime
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
23
25
|
requirements:
|
24
|
-
- -
|
26
|
+
- - "~>"
|
25
27
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
28
|
+
version: '0.7'
|
27
29
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
30
|
+
name: jquery-rails
|
29
31
|
requirement: !ruby/object:Gem::Requirement
|
30
32
|
requirements:
|
31
|
-
- -
|
33
|
+
- - ">="
|
32
34
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0
|
35
|
+
version: '0'
|
34
36
|
type: :runtime
|
35
37
|
prerelease: false
|
36
38
|
version_requirements: !ruby/object:Gem::Requirement
|
37
39
|
requirements:
|
38
|
-
- -
|
40
|
+
- - ">="
|
39
41
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0
|
42
|
+
version: '0'
|
41
43
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
44
|
+
name: rails
|
43
45
|
requirement: !ruby/object:Gem::Requirement
|
44
46
|
requirements:
|
45
|
-
- -
|
47
|
+
- - ">="
|
46
48
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
49
|
+
version: 4.2.0
|
48
50
|
type: :runtime
|
49
51
|
prerelease: false
|
50
52
|
version_requirements: !ruby/object:Gem::Requirement
|
51
53
|
requirements:
|
52
|
-
- -
|
54
|
+
- - ">="
|
53
55
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
56
|
+
version: 4.2.0
|
55
57
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
58
|
+
name: appraisal
|
57
59
|
requirement: !ruby/object:Gem::Requirement
|
58
60
|
requirements:
|
59
|
-
- -
|
61
|
+
- - ">="
|
60
62
|
- !ruby/object:Gem::Version
|
61
63
|
version: '0'
|
62
64
|
type: :development
|
63
65
|
prerelease: false
|
64
66
|
version_requirements: !ruby/object:Gem::Requirement
|
65
67
|
requirements:
|
66
|
-
- -
|
68
|
+
- - ">="
|
67
69
|
- !ruby/object:Gem::Version
|
68
70
|
version: '0'
|
69
71
|
- !ruby/object:Gem::Dependency
|
70
72
|
name: devise
|
71
73
|
requirement: !ruby/object:Gem::Requirement
|
72
74
|
requirements:
|
73
|
-
- -
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
type: :development
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '0'
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: pg
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
74
90
|
- !ruby/object:Gem::Version
|
75
91
|
version: '0'
|
76
92
|
type: :development
|
77
93
|
prerelease: false
|
78
94
|
version_requirements: !ruby/object:Gem::Requirement
|
79
95
|
requirements:
|
80
|
-
- -
|
96
|
+
- - ">="
|
81
97
|
- !ruby/object:Gem::Version
|
82
98
|
version: '0'
|
83
|
-
description:
|
84
|
-
simple i18n web interface, build on top of twitter
|
85
|
-
helpful in translating app by
|
99
|
+
description: "Translate your apps with pleasure (sort of...) and for free.\n It's
|
100
|
+
simple i18n web interface, build on top of twitter\n bootstrap,
|
101
|
+
that one may find helpful in translating app by\n non-technicals. "
|
86
102
|
email:
|
87
103
|
- maciej@litwiniuk.net
|
88
104
|
executables: []
|
@@ -344,18 +360,23 @@ files:
|
|
344
360
|
- app/assets/images/lit/famfamfam_flags/zw.png
|
345
361
|
- app/assets/images/lit/jquery-te.png
|
346
362
|
- app/assets/javascripts/lit/application.js
|
347
|
-
- app/assets/javascripts/lit/bootstrap.js.coffee
|
348
|
-
- app/assets/javascripts/lit/dashboard.js
|
349
|
-
- app/assets/javascripts/lit/jquery-te-1.4.0.min.js
|
350
|
-
- app/assets/javascripts/lit/localizations.js.coffee
|
363
|
+
- app/assets/javascripts/lit/backend/bootstrap.js.coffee
|
364
|
+
- app/assets/javascripts/lit/backend/dashboard.js
|
365
|
+
- app/assets/javascripts/lit/backend/jquery-te-1.4.0.min.js
|
366
|
+
- app/assets/javascripts/lit/backend/localizations.js.coffee
|
367
|
+
- app/assets/javascripts/lit/backend/sources.js.coffee
|
368
|
+
- app/assets/javascripts/lit/lit_frontend.js
|
369
|
+
- app/assets/javascripts/lit/mousetrap.js
|
351
370
|
- app/assets/stylesheets/lit/application.css
|
352
|
-
- app/assets/stylesheets/lit/
|
353
|
-
- app/assets/stylesheets/lit/
|
371
|
+
- app/assets/stylesheets/lit/backend/jquery-te-1.4.0.css.scss
|
372
|
+
- app/assets/stylesheets/lit/lit_frontend.css
|
354
373
|
- app/controllers/lit/api/v1/base_controller.rb
|
355
374
|
- app/controllers/lit/api/v1/locales_controller.rb
|
356
375
|
- app/controllers/lit/api/v1/localization_keys_controller.rb
|
357
376
|
- app/controllers/lit/api/v1/localizations_controller.rb
|
358
377
|
- app/controllers/lit/application_controller.rb
|
378
|
+
- app/controllers/lit/concerns/request_info_store.rb
|
379
|
+
- app/controllers/lit/concerns/request_keys_store.rb
|
359
380
|
- app/controllers/lit/dashboard_controller.rb
|
360
381
|
- app/controllers/lit/incomming_localizations_controller.rb
|
361
382
|
- app/controllers/lit/locales_controller.rb
|
@@ -364,8 +385,11 @@ files:
|
|
364
385
|
- app/controllers/lit/sources_controller.rb
|
365
386
|
- app/helpers/lit/application_helper.rb
|
366
387
|
- app/helpers/lit/dashboard_helper.rb
|
388
|
+
- app/helpers/lit/frontend_helper.rb
|
389
|
+
- app/helpers/lit/localization_keys_helper.rb
|
367
390
|
- app/helpers/lit/localizations_helper.rb
|
368
391
|
- app/helpers/lit/sources_helper.rb
|
392
|
+
- app/jobs/lit/synchronize_source_job.rb
|
369
393
|
- app/models/lit/incomming_localization.rb
|
370
394
|
- app/models/lit/locale.rb
|
371
395
|
- app/models/lit/localization.rb
|
@@ -403,16 +427,16 @@ files:
|
|
403
427
|
- app/views/lit/sources/index.html.erb
|
404
428
|
- app/views/lit/sources/new.html.erb
|
405
429
|
- app/views/lit/sources/show.html.erb
|
406
|
-
- config/database.yml
|
407
430
|
- config/routes.rb
|
408
|
-
- db/migrate/
|
409
|
-
- db/migrate/
|
410
|
-
- db/migrate/
|
411
|
-
- db/migrate/
|
412
|
-
- db/migrate/
|
413
|
-
- db/migrate/
|
414
|
-
- db/migrate/
|
415
|
-
- db/migrate/
|
431
|
+
- db/migrate/20180101010101_lit_create_lit_locales.rb
|
432
|
+
- db/migrate/20180101010102_lit_create_lit_localization_keys.rb
|
433
|
+
- db/migrate/20180101010103_lit_create_lit_localizations.rb
|
434
|
+
- db/migrate/20180101010104_lit_add_is_completed_and_is_starred_to_localization_keys.rb
|
435
|
+
- db/migrate/20180101010105_lit_add_is_hidden_to_locales.rb
|
436
|
+
- db/migrate/20180101010106_lit_create_lit_localization_versions.rb
|
437
|
+
- db/migrate/20180101010107_lit_create_lit_sources.rb
|
438
|
+
- db/migrate/20180101010108_lit_create_lit_incomming_localizations.rb
|
439
|
+
- db/migrate/20180101010109_lit_add_sync_complete_to_lit_sources.rb
|
416
440
|
- lib/generators/lit/install/templates/initializer.rb
|
417
441
|
- lib/generators/lit/install_generator.rb
|
418
442
|
- lib/lit.rb
|
@@ -436,17 +460,17 @@ require_paths:
|
|
436
460
|
- lib
|
437
461
|
required_ruby_version: !ruby/object:Gem::Requirement
|
438
462
|
requirements:
|
439
|
-
- -
|
463
|
+
- - ">="
|
440
464
|
- !ruby/object:Gem::Version
|
441
465
|
version: '0'
|
442
466
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
443
467
|
requirements:
|
444
|
-
- -
|
468
|
+
- - ">="
|
445
469
|
- !ruby/object:Gem::Version
|
446
470
|
version: '0'
|
447
471
|
requirements: []
|
448
472
|
rubyforge_project:
|
449
|
-
rubygems_version: 2.
|
473
|
+
rubygems_version: 2.6.13
|
450
474
|
signing_key:
|
451
475
|
specification_version: 4
|
452
476
|
summary: Database powered i18n backend with web gui
|