lit 0.3.3 → 0.4.0.pre.alpha
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 +4 -4
- data/README.md +40 -6
- data/app/assets/javascripts/lit/lit_frontend.js +20 -12
- data/app/assets/stylesheets/lit/application.css +3 -0
- data/app/controllers/lit/api/v1/base_controller.rb +1 -1
- data/app/controllers/lit/api/v1/locales_controller.rb +1 -1
- data/app/controllers/lit/api/v1/localization_keys_controller.rb +12 -4
- data/app/controllers/lit/api/v1/localizations_controller.rb +25 -9
- data/app/controllers/lit/application_controller.rb +11 -8
- data/app/controllers/lit/concerns/request_info_store.rb +1 -0
- data/app/controllers/lit/incomming_localizations_controller.rb +22 -15
- data/app/controllers/lit/locales_controller.rb +1 -1
- data/app/controllers/lit/localization_keys_controller.rb +44 -18
- data/app/controllers/lit/localizations_controller.rb +16 -11
- data/app/controllers/lit/sources_controller.rb +9 -13
- data/app/helpers/lit/frontend_helper.rb +28 -16
- data/app/helpers/lit/localizations_helper.rb +2 -1
- data/app/jobs/lit/synchronize_source_job.rb +1 -1
- data/app/models/lit/incomming_localization.rb +71 -41
- data/app/models/lit/locale.rb +11 -13
- data/app/models/lit/localization.rb +26 -24
- data/app/models/lit/localization_key.rb +46 -55
- data/app/models/lit/source.rb +17 -74
- data/app/queries/localization_key_search_query.rb +80 -0
- data/app/services/remote_interactor_service.rb +45 -0
- data/app/services/synchronize_source_service.rb +63 -0
- data/app/views/kaminari/lit/_gap.html.erb +1 -1
- data/app/views/layouts/lit/_navigation.html.erb +1 -1
- data/app/views/lit/dashboard/index.html.erb +2 -2
- data/app/views/lit/incomming_localizations/index.html.erb +10 -6
- data/app/views/lit/localization_keys/_localization_row.html.erb +1 -1
- data/app/views/lit/localization_keys/_localizations_list.html.erb +84 -0
- data/app/views/lit/localization_keys/_sidebar.html.erb +66 -0
- data/app/views/lit/localization_keys/change_completed.js.erb +2 -0
- data/app/views/lit/localization_keys/index.html.erb +3 -121
- data/app/views/lit/localization_keys/not_translated.html.erb +9 -0
- data/app/views/lit/localization_keys/restore_deleted.js.erb +1 -0
- data/app/views/lit/localization_keys/visited_again.html.erb +9 -0
- data/app/views/lit/localizations/_previous_versions_rows.html.erb +2 -2
- data/app/views/lit/localizations/change_completed.js.erb +2 -0
- data/app/views/lit/localizations/update.js.erb +2 -0
- data/app/views/lit/sources/_form.html.erb +1 -1
- data/app/views/lit/sources/index.html.erb +1 -1
- data/config/routes.rb +5 -0
- data/db/migrate/20181017123839_lit_add_is_deleted_to_localization_keys.rb +8 -0
- data/db/migrate/20181018075955_lit_add_localization_key_is_deleted_to_localization_keys.rb +8 -0
- data/db/migrate/20181030111522_lit_add_is_visited_again_to_localization_keys.rb +8 -0
- data/lib/generators/lit/install/templates/initializer.rb +5 -1
- data/lib/lit.rb +1 -0
- data/lib/lit/adapters/redis_storage.rb +1 -1
- data/lib/lit/cache.rb +32 -54
- data/lib/lit/export.rb +80 -0
- data/lib/lit/i18n_backend.rb +12 -9
- data/lib/lit/import.rb +179 -0
- data/lib/lit/loader.rb +2 -0
- data/lib/lit/version.rb +1 -1
- data/lib/tasks/lit_tasks.rake +78 -13
- metadata +21 -6
data/lib/lit/loader.rb
CHANGED
data/lib/lit/version.rb
CHANGED
data/lib/tasks/lit_tasks.rake
CHANGED
@@ -1,29 +1,94 @@
|
|
1
1
|
namespace :lit do
|
2
2
|
desc 'Exports translated strings from lit to config/locales/lit.yml file.'
|
3
3
|
task export: :environment do
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
locale_keys = ENV['LOCALES'].to_s.split(',') || []
|
5
|
+
export_format = ENV['FORMAT'].presence&.downcase&.to_sym || :yaml
|
6
|
+
path = ENV['OUTPUT'].presence || Rails.root.join('config', 'locales', "lit.#{file_extension(export_format)}")
|
7
|
+
|
8
|
+
if exported = Lit::Export.call(locale_keys: locale_keys, format: export_format)
|
9
|
+
File.new(path, 'w').write(exported)
|
7
10
|
puts "Successfully exported #{path}."
|
8
11
|
end
|
9
12
|
end
|
10
13
|
|
11
|
-
desc '
|
12
|
-
task
|
13
|
-
|
14
|
-
|
14
|
+
desc 'Exports translated strings from lit to config/locales/%{locale}.yml file.'
|
15
|
+
task export_splitted: :environment do
|
16
|
+
locale_keys = ENV['LOCALES'].to_s.split(',').presence || I18n.available_locales
|
17
|
+
export_format = ENV['FORMAT'].presence&.downcase&.to_sym || :yaml
|
18
|
+
|
19
|
+
locale_keys.each do |loc|
|
20
|
+
path = Rails.root.join('config', 'locales',
|
21
|
+
"#{loc}.#{file_extension(export_format)}")
|
22
|
+
if exported = Lit::Export.call(locale_keys: locale_keys, format: export_format)
|
23
|
+
File.write(path, exported)
|
24
|
+
puts "Successfully exported #{path}."
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
desc "Imports locales given in ENV['LOCALES'] (optional, imports all " \
|
30
|
+
"locales by default, from file given in ENV['FILE']; FILE may be " \
|
31
|
+
"a YAML or CSV (comma- or tab-separated) file."
|
32
|
+
task import: :environment do
|
33
|
+
locale_keys = ENV.fetch('LOCALES', '').split(',')
|
34
|
+
raise 'you need to define FILE env' unless filename = ENV.fetch('FILE', nil)
|
35
|
+
format =
|
36
|
+
case filename
|
37
|
+
when /\.csv\z/, /\.tsv\z/ then :csv
|
38
|
+
when /\.yml\z/, /\.yaml\z/ then :yaml
|
39
|
+
else raise 'file must be a CSV or YAML file'
|
40
|
+
end
|
41
|
+
input = File.open(filename)
|
42
|
+
skip_nil = ['1', 'true'].include?(ENV['SKIP_NIL']) # defaults to false
|
43
|
+
Lit::Import.call(
|
44
|
+
input: input,
|
45
|
+
locale_keys: locale_keys,
|
46
|
+
format: format,
|
47
|
+
skip_nil: skip_nil,
|
48
|
+
raw: false
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
52
|
+
warm_up_keys_desc =
|
53
|
+
'Reads config/locales/#{ENV["FILES"]} files and calls I18n.t() on ' \
|
54
|
+
'keys forcing Lit to import given LOCALE to cache / to display them' \
|
55
|
+
' in UI. Skips nils by default (change by setting ENV["SKIP_NIL"] = false'
|
56
|
+
desc warm_up_keys_desc
|
57
|
+
task warm_up_keys: :environment do
|
58
|
+
raise 'you need to define FILES env' if ENV['FILES'].blank?
|
59
|
+
raise 'you need to define LOCALE env' if ENV['LOCALE'].blank?
|
15
60
|
files = ENV['FILES'].to_s.split(',')
|
16
61
|
locale = ENV['LOCALE'].to_s
|
62
|
+
skip_nil = ['1', 'true'].include?(ENV['SKIP_NIL'])
|
17
63
|
I18n.with_locale(locale) do
|
18
64
|
files.each do |file|
|
19
65
|
locale_file = File.open(Rails.root.join('config', 'locales', file))
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
66
|
+
Lit::Import.call(
|
67
|
+
input: locale_file,
|
68
|
+
locale_keys: [locale],
|
69
|
+
format: :yaml,
|
70
|
+
skip_nil: skip_nil,
|
71
|
+
raw: true
|
72
|
+
)
|
26
73
|
end
|
27
74
|
end
|
28
75
|
end
|
76
|
+
|
77
|
+
desc "[DEPRECATED - use lit:warm_up_keys instead] #{warm_up_keys_desc}"
|
78
|
+
task raw_import: :warm_up_keys
|
79
|
+
|
80
|
+
desc 'Remove all translations'
|
81
|
+
task clear: :environment do
|
82
|
+
Lit::LocalizationKey.destroy_all
|
83
|
+
Lit::IncommingLocalization.destroy_all
|
84
|
+
Lit.init.cache.reset
|
85
|
+
end
|
86
|
+
|
87
|
+
def file_extension(format)
|
88
|
+
case format.to_sym
|
89
|
+
when :yaml then 'yml'
|
90
|
+
when :csv then 'csv'
|
91
|
+
else raise ArgumentError
|
92
|
+
end
|
93
|
+
end
|
29
94
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0.pre.alpha
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Maciej Litwiniuk
|
@@ -10,20 +10,20 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2018-
|
13
|
+
date: 2018-11-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: i18n
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- - "
|
19
|
+
- - ">="
|
20
20
|
- !ruby/object:Gem::Version
|
21
21
|
version: '0.7'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- - "
|
26
|
+
- - ">="
|
27
27
|
- !ruby/object:Gem::Version
|
28
28
|
version: '0.7'
|
29
29
|
- !ruby/object:Gem::Dependency
|
@@ -396,6 +396,9 @@ files:
|
|
396
396
|
- app/models/lit/localization_key.rb
|
397
397
|
- app/models/lit/localization_version.rb
|
398
398
|
- app/models/lit/source.rb
|
399
|
+
- app/queries/localization_key_search_query.rb
|
400
|
+
- app/services/remote_interactor_service.rb
|
401
|
+
- app/services/synchronize_source_service.rb
|
399
402
|
- app/views/kaminari/lit/_first_page.html.erb
|
400
403
|
- app/views/kaminari/lit/_gap.html.erb
|
401
404
|
- app/views/kaminari/lit/_last_page.html.erb
|
@@ -414,11 +417,18 @@ files:
|
|
414
417
|
- app/views/lit/locales/hide.js.erb
|
415
418
|
- app/views/lit/locales/index.html.erb
|
416
419
|
- app/views/lit/localization_keys/_localization_row.html.erb
|
420
|
+
- app/views/lit/localization_keys/_localizations_list.html.erb
|
421
|
+
- app/views/lit/localization_keys/_sidebar.html.erb
|
422
|
+
- app/views/lit/localization_keys/change_completed.js.erb
|
417
423
|
- app/views/lit/localization_keys/destroy.js.erb
|
418
424
|
- app/views/lit/localization_keys/index.html.erb
|
425
|
+
- app/views/lit/localization_keys/not_translated.html.erb
|
426
|
+
- app/views/lit/localization_keys/restore_deleted.js.erb
|
419
427
|
- app/views/lit/localization_keys/star.js.erb
|
428
|
+
- app/views/lit/localization_keys/visited_again.html.erb
|
420
429
|
- app/views/lit/localizations/_form.html.erb
|
421
430
|
- app/views/lit/localizations/_previous_versions_rows.html.erb
|
431
|
+
- app/views/lit/localizations/change_completed.js.erb
|
422
432
|
- app/views/lit/localizations/edit.js.erb
|
423
433
|
- app/views/lit/localizations/previous_versions.js.erb
|
424
434
|
- app/views/lit/localizations/update.js.erb
|
@@ -437,6 +447,9 @@ files:
|
|
437
447
|
- db/migrate/20180101010107_lit_create_lit_sources.rb
|
438
448
|
- db/migrate/20180101010108_lit_create_lit_incomming_localizations.rb
|
439
449
|
- db/migrate/20180101010109_lit_add_sync_complete_to_lit_sources.rb
|
450
|
+
- db/migrate/20181017123839_lit_add_is_deleted_to_localization_keys.rb
|
451
|
+
- db/migrate/20181018075955_lit_add_localization_key_is_deleted_to_localization_keys.rb
|
452
|
+
- db/migrate/20181030111522_lit_add_is_visited_again_to_localization_keys.rb
|
440
453
|
- lib/generators/lit/install/templates/initializer.rb
|
441
454
|
- lib/generators/lit/install_generator.rb
|
442
455
|
- lib/lit.rb
|
@@ -444,7 +457,9 @@ files:
|
|
444
457
|
- lib/lit/adapters/redis_storage.rb
|
445
458
|
- lib/lit/cache.rb
|
446
459
|
- lib/lit/engine.rb
|
460
|
+
- lib/lit/export.rb
|
447
461
|
- lib/lit/i18n_backend.rb
|
462
|
+
- lib/lit/import.rb
|
448
463
|
- lib/lit/loader.rb
|
449
464
|
- lib/lit/rails.rb
|
450
465
|
- lib/lit/railtie.rb
|
@@ -465,9 +480,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
465
480
|
version: '0'
|
466
481
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
467
482
|
requirements:
|
468
|
-
- - "
|
483
|
+
- - ">"
|
469
484
|
- !ruby/object:Gem::Version
|
470
|
-
version:
|
485
|
+
version: 1.3.1
|
471
486
|
requirements: []
|
472
487
|
rubyforge_project:
|
473
488
|
rubygems_version: 2.6.13
|