lost_in_translation 0.2.16 → 0.2.17

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a4ba919cf48560a895ba229150cd565d9ed86f4a
4
- data.tar.gz: 4db873b88c4054da7b151eae7b711dcc82ad4699
3
+ metadata.gz: 8ad42c6951dfd14e714e28bdbaba80b1451ceddf
4
+ data.tar.gz: c8dbcbc3f973cdde9efe3ada5ebb7b4ebd958497
5
5
  SHA512:
6
- metadata.gz: 8b410239ce6e0db841534a124675100bb3bd8b9f69b10eb8677f1c5f97bce9ed73a14bd136b3a56b154e6923e51030e5a6324e8d9d3e390cd5624eceb5e0ed33
7
- data.tar.gz: c92f37a7044887056229394e826a29dfc294f0770a79bc6c2cb447a7cf562ab22fd257524b66a033892a750daa78acb936246988be7536982ff5679994a9ffc5
6
+ metadata.gz: 7d234d08dd85289eb6919666d504650640e4e961b61fe334efa45cfdcc67982221872d038b6aa22894115fe8bcf637490cbc2d1c7c8dc9dc20ba6d66cb6bfa2b
7
+ data.tar.gz: 9b47b20a64c9e453461b0f989422cbb4b35d8b0269b8004b703e2b628b3d6482e0355c3d308c1ced11db52a774d04619713203b041f32d552546a54c318979ea
data/Rakefile CHANGED
@@ -2,9 +2,10 @@
2
2
 
3
3
  require 'bundler/gem_tasks'
4
4
  require 'rspec/core/rake_task'
5
+ # require 'lib/lost_in_translation'
5
6
 
6
7
  RSpec::Core::RakeTask.new(:spec)
7
8
 
8
9
  task default: :spec
9
10
 
10
- import './lib/tasks/lit.rake'
11
+ import 'lib/tasks/tasks.rake'
File without changes
File without changes
File without changes
@@ -1,14 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'lost_in_translation'
4
3
  require 'rails'
4
+
5
5
  module LostInTranslation
6
- #
7
6
  class Railtie < Rails::Railtie
8
7
  railtie_name :lost_in_translation
9
8
 
10
9
  rake_tasks do
11
- load 'tasks/lit.rake'
10
+ load 'tasks/tasks.rake'
12
11
  end
13
12
  end
14
13
  end
@@ -5,13 +5,17 @@ module LostInTranslation
5
5
  require 'readline'
6
6
 
7
7
  def self.ask_for_file(master)
8
- text = master ? "# Master (e.g. 'en'): " : "# Slave: (e.g. 'de'): "
8
+ text = master ? "# Master (e.g. 'en', 'namespace.en'): " : "# Slave: (e.g. 'de', 'namespace.de'): "
9
9
  file = {}
10
- file[:lang] = [(print text), Readline.readline()][1]
11
- file[:path] = defined?(Rails) ? "#{Rails.root}/config/locales/#{file[:lang]}.yml" : ask_for_path
12
- unless File.exist?(file[:path])
10
+ file[:filename] = [(print text), Readline.readline()][1]
11
+ file[:lang] = file[:filename].split('.').last
12
+ file[:path] = defined?(Rails) ? "#{Rails.root}/config/locales/#{file[:filename]}.yml" : ask_for_path
13
+ if !File.exist?(file[:path]) && master
13
14
  log "File #{file[:path]} not found!"
14
15
  file[:path] = ask_for_path
16
+ elsif !File.exist?(file[:path]) && !master
17
+ log "File #{file[:filename]} not found! It will be created!"
18
+ File.open(file[:path], 'w') { |f| f.write({ file[:lang] => {} }.to_yaml(line_width: -1)) }
15
19
  end
16
20
  file[:app_name] = Rails&.application&.class&.parent_name
17
21
  file
@@ -28,6 +32,29 @@ module LostInTranslation
28
32
  a == 'y' || a == 'Y' || a == ''
29
33
  end
30
34
 
35
+ def self.ask_for_task(tasks)
36
+ log
37
+ log 'Welcome, stranger!'
38
+ log 'Are you lost in translation, too?'
39
+ log 'Then I will be glad to help you one of the following tasks!'
40
+ tasks.each_with_index do |task, i|
41
+ log "#{i + 1}. | #{task[:text]}"
42
+ end
43
+ log 'Soo ... what can I do for you? (Type in the Number)'
44
+ id = [(print 'Task No.: '), Readline.readline()][1]
45
+ tasks[(id.to_i - 1)]
46
+ rescue
47
+ puts "Cannot find task with id #{id}"
48
+ end
49
+
50
+ def self.ask_for_split(lang, count)
51
+ log
52
+ log "Splitting File #{lang}.yml"
53
+ log "File-Count: #{count} new files will be create!"
54
+ a = [(print "# Wanna do it? [Y/n]: "), Readline.readline()][1]
55
+ a == 'y' || a == 'Y' || a == ''
56
+ end
57
+
31
58
  def self.ask_for_sorting(lang, app_name)
32
59
  log
33
60
  log "Application: #{app_name}"
@@ -1,18 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'lost_in_translation/difference'
4
- require 'lost_in_translation/file_functions'
5
- require 'lost_in_translation/hash'
6
- require 'lost_in_translation/railtie' if defined?(Rails)
7
- require 'lost_in_translation/user_interface'
8
- require 'lost_in_translation/version'
9
- require 'lost_in_translation/z_recent'
10
- require 'lost_in_translation/z_interactive'
11
- require 'lost_in_translation/z_cleanup'
12
- require 'lost_in_translation/z_half_automatic'
13
- require 'lost_in_translation/z_full_automatic'
14
-
15
- #
3
+ require 'lit/difference'
4
+ require 'lit/file_functions'
5
+ require 'lit/hash'
6
+ require 'lit/user_interface'
7
+ require 'lit/railties'
8
+
9
+ require 'tasks/compare'
10
+ require 'tasks/delete_missing'
11
+ require 'tasks/fully_automatic'
12
+ require 'tasks/half_automatic'
13
+ require 'tasks/recent'
14
+ require 'tasks/sort_file'
15
+ require 'tasks/split_file'
16
+ require 'tasks/start'
17
+ require 'tasks/count'
18
+ require 'tasks/joke'
19
+
16
20
  module LostInTranslation
17
21
  def self.root
18
22
  File.dirname __dir__
@@ -25,9 +29,25 @@ module LostInTranslation
25
29
  tmp_paths[:slave] = "#{root}/tmp/tmp_slave.yml"
26
30
  tmp_paths
27
31
  end
32
+
33
+ def self.init(with_slave = true)
34
+ system 'clear'
35
+ log
36
+ log 'What I18n-yaml files do you want to compare?'
37
+ master = ask_for_file(true) # lang path app_name
38
+ slave = with_slave ? ask_for_file(false) : {}
39
+ raise InvalidFilepaths if !File.exist?(master[:path]) && (!File.exist?(slave[:path]) && with_slave)
40
+ [master, slave, tmp_paths]
41
+ end
28
42
  end
29
43
 
30
- #
31
44
  class Lit
32
45
  extend LostInTranslation
33
46
  end
47
+
48
+ class InvalidFilepaths
49
+ end
50
+
51
+ class Breakup
52
+ # puts 'Well, in that case, forget it!'
53
+ end
@@ -1,19 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- #
4
3
  module LostInTranslation
5
- def self.interactive
6
- system 'clear'
7
- log
8
- log 'What I18n-yaml files do you want to compare?'
9
- @master = ask_for_file(true) # lang path app_name
10
- @slave = ask_for_file(false)
11
- raise 'Invalid Filepaths' unless File.exist?(@master[:path]) && File.exist?(@slave[:path])
12
-
13
- paths = tmp_paths
4
+ def self.compare
5
+ @master, @slave, paths = init
14
6
 
15
7
  prepare_for_edit(master: @master[:path], slave: @slave[:path])
16
-
17
8
  prepare_paths([paths[:master], paths[:slave]])
18
9
 
19
10
  master_file = YAML.load_file(paths[:master])
@@ -22,9 +13,7 @@ module LostInTranslation
22
13
  count = diff(master_file[@master[:lang]], slave_file[@slave[:lang]], @master[:lang],
23
14
  @slave[:lang], [@slave[:lang]], [], mode: 'count')
24
15
 
25
- unless ask_for_permission(@master[:lang], @slave[:lang], @master[:app_name], count)
26
- abort('Well, in that case, forget it!')
27
- end
16
+ raise Breakup unless ask_for_permission(@master[:lang], @slave[:lang], @master[:app_name], count)
28
17
 
29
18
  new_strings_array = diff(master_file[@master[:lang]], slave_file[@slave[:lang]], @master[:lang],
30
19
  @slave[:lang], [@slave[:lang]], [], diff_count: count, mode: 'replace')
@@ -34,20 +23,13 @@ module LostInTranslation
34
23
  merge_hash(result, slave_file)
35
24
  end
36
25
 
37
- sorted = false
38
-
39
- if ask_for_sorting(@master[:lang], @master[:app_name])
40
- master_file = sort_hash(master_file)
41
- File.open(paths[:master], 'w') { |file| file.write(master_file.to_yaml(line_width: -1)) }
42
- sorted = true
43
- end
44
- slave_file = sort_hash(slave_file) if ask_for_sorting(@slave[:lang], @slave[:app_name])
45
26
  File.open(paths[:slave], 'w') { |file| file.write(slave_file.to_yaml(line_width: -1)) }
46
-
47
- postpare_paths([paths[:master], paths[:slave]])
48
-
49
- FileUtils.cp(paths[:master], @master[:path]) if sorted
27
+ postpare_paths([paths[:slave]])
50
28
  FileUtils.cp(paths[:slave], @slave[:path])
29
+
51
30
  reset_tmp_files
31
+
32
+ log 'Done'
33
+ log
52
34
  end
53
35
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LostInTranslation
4
+ def self.count
5
+ @master, @slave, paths = init
6
+
7
+ master_file = YAML.load_file(paths[:master])
8
+ slave_file = YAML.load_file(paths[:slave])
9
+
10
+ count = diff(master_file[@master[:lang]], slave_file[@slave[:lang]], @master[:lang], @slave[:lang],
11
+ [@slave[:lang]], [], mode: 'count')
12
+
13
+ count2 = diff(slave_file[@slave[:lang]], master_file[@master[:lang]], @slave[:lang], @master[:lang],
14
+ [@master[:lang]], [], mode: 'count')
15
+
16
+ log
17
+ log 'Differences between Locales'
18
+ log "#{@master[:filename]}.yml => #{@slave[:filename]}.yml = #{count}"
19
+ log "#{@slave[:filename]}.yml => #{@master[:filename]}.yml = #{count2}"
20
+ log
21
+ end
22
+ end
@@ -1,20 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- #
4
3
  module LostInTranslation
5
- def self.cleanup
6
- system 'clear'
7
- log
8
- log 'What I18n-yaml files do you want to compare?'
9
- log '!!! WARNING!!! This deletes the differences!!! Make a BACKUP!!! !!!'
10
- @master = ask_for_file(true) # lang path app_name
11
- @slave = ask_for_file(false)
12
- paths = tmp_paths
13
-
14
- raise 'Invalid Filepaths' unless File.exist?(@master[:path]) && File.exist?(@slave[:path])
4
+ def self.delete_missing
5
+ @master, @slave, paths = init
15
6
 
16
7
  prepare_for_edit(master: @master[:path], slave: @slave[:path])
17
-
18
8
  prepare_paths([paths[:master], paths[:slave]])
19
9
 
20
10
  master_file = YAML.load_file(paths[:master])
@@ -31,8 +21,9 @@ module LostInTranslation
31
21
  end
32
22
 
33
23
  File.open(@master[:path], 'w') { |file| file.write(master_file.to_yaml) }
34
-
35
24
  postpare_paths([@master[:path], @slave[:path]])
36
25
  reset_tmp_files
26
+ log 'Done'
27
+ log
37
28
  end
38
29
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LostInTranslation
4
+ def self.compare
5
+ @master, @slave, paths = init
6
+
7
+ prepare_for_edit(master: @master[:path], slave: @slave[:path])
8
+ prepare_paths([paths[:master], paths[:slave]])
9
+
10
+ master_file = YAML.load_file(paths[:master])
11
+ slave_file = YAML.load_file(paths[:slave])
12
+
13
+ count = diff(master_file[@master[:lang]], slave_file[@slave[:lang]], @master[:lang],
14
+ @slave[:lang], [@slave[:lang]], [], mode: 'count')
15
+
16
+ raise Breakup unless ask_for_permission(@master[:lang], @slave[:lang], @master[:app_name], count)
17
+
18
+ new_strings_array = diff(master_file[@master[:lang]], slave_file[@slave[:lang]], @master[:lang],
19
+ @slave[:lang], [@slave[:lang]], [], diff_count: count, mode: 'replace')
20
+
21
+ new_strings_array.each do |string|
22
+ result = string_to_hash(string)
23
+ merge_hash(result, slave_file)
24
+ end
25
+
26
+ File.open(paths[:slave], 'w') { |file| file.write(slave_file.to_yaml(line_width: -1)) }
27
+ postpare_paths([paths[:slave]])
28
+ FileUtils.cp(paths[:slave], @slave[:path])
29
+
30
+ reset_tmp_files
31
+ end
32
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LostInTranslation
4
+ def self.compare
5
+ @master, @slave, paths = init
6
+
7
+ prepare_for_edit(master: @master[:path], slave: @slave[:path])
8
+ prepare_paths([paths[:master], paths[:slave]])
9
+
10
+ master_file = YAML.load_file(paths[:master])
11
+ slave_file = YAML.load_file(paths[:slave])
12
+
13
+ count = diff(master_file[@master[:lang]], slave_file[@slave[:lang]], @master[:lang],
14
+ @slave[:lang], [@slave[:lang]], [], mode: 'count')
15
+
16
+ raise Breakup unless ask_for_permission(@master[:lang], @slave[:lang], @master[:app_name], count)
17
+
18
+ new_strings_array = diff(master_file[@master[:lang]], slave_file[@slave[:lang]], @master[:lang],
19
+ @slave[:lang], [@slave[:lang]], [], diff_count: count, mode: 'replace')
20
+
21
+ new_strings_array.each do |string|
22
+ result = string_to_hash(string)
23
+ merge_hash(result, slave_file)
24
+ end
25
+
26
+ File.open(paths[:slave], 'w') { |file| file.write(slave_file.to_yaml(line_width: -1)) }
27
+ postpare_paths([paths[:slave]])
28
+ FileUtils.cp(paths[:slave], @slave[:path])
29
+
30
+ reset_tmp_files
31
+ end
32
+ end
data/lib/tasks/joke.rb ADDED
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LostInTranslation
4
+ def self.joke
5
+ log 'A: Knock, Knock!'
6
+ log 'B: Who is there?'
7
+ log 'A: Ya.'
8
+ log 'B: Ya who?'
9
+ log 'A: Oh, I prefer google.'
10
+ end
11
+ end
@@ -2,14 +2,7 @@
2
2
 
3
3
  module LostInTranslation
4
4
  def self.recent
5
- system 'clear'
6
- log
7
- log 'What I18n-yaml files do you want to compare?'
8
- @master = ask_for_file(true) # lang path app_name
9
- @slave = ask_for_file(false)
10
- paths = tmp_paths
11
-
12
- raise 'Invalid Filepaths' unless File.exist?(@master[:path]) && File.exist?(@slave[:path])
5
+ @master, @slave, paths = init
13
6
 
14
7
  FileUtils.cp(@master[:path], paths[:copy])
15
8
  `git checkout "#{@master[:path]}"`
@@ -26,31 +19,23 @@ module LostInTranslation
26
19
  count = diff(master_copy_file[@master[:lang]], master_file[@master[:lang]], @master[:lang],
27
20
  @slave[:lang], [@slave[:lang]], [], mode: 'count', slave_file: slave_file)
28
21
 
29
- abort('Well, in that case, forget it!') unless ask_for_permission(@master[:lang], @slave[:lang], @master[:app_name], count)
22
+ raise Breakup unless ask_for_permission(@master[:lang], @slave[:lang], @master[:app_name], count)
30
23
 
31
24
  new_strings_array = diff(master_copy_file[@master[:lang]], master_file[@master[:lang]], @master[:lang],
32
- @slave[:lang], [@slave[:lang]], [], mode: 'replace', diff_counter: 0, diff_count: count, slave_file: slave_file)
25
+ @slave[:lang], [@slave[:lang]], [], mode: 'replace', diff_counter: 0, diff_count: count,
26
+ slave_file: slave_file)
33
27
 
34
28
  new_strings_array.each do |string|
35
29
  result = string_to_hash(string)
36
30
  merge_hash(result, slave_file)
37
31
  end
38
32
 
39
- sorted = false
40
-
41
- if ask_for_sorting(@master[:lang], @master[:app_name])
42
- master_file = sort_hash(master_file)
43
- File.open(paths[:master], 'w') { |file| file.write(master_file.to_yaml(line_width: -1)) }
44
- sorted = true
45
- end
46
-
47
- slave_file = sort_hash(slave_file) if ask_for_sorting(@slave[:lang], @slave[:app_name])
48
33
  File.open(paths[:slave], 'w') { |file| file.write(slave_file.to_yaml(line_width: -1)) }
49
-
50
- postpare_paths([paths[:master], paths[:slave]])
51
-
52
- FileUtils.cp(paths[:master], @master[:path]) if sorted
34
+ postpare_paths([paths[:slave]])
53
35
  FileUtils.cp(paths[:slave], @slave[:path])
36
+
54
37
  reset_tmp_files
38
+ log 'Done'
39
+ log
55
40
  end
56
41
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LostInTranslation
4
+ def self.sort_file
5
+ @master, @slave, paths = init(false)
6
+
7
+ prepare_for_edit(master: @master[:path], slave: @slave[:path])
8
+ prepare_paths([paths[:master]])
9
+
10
+ master_file = YAML.load_file(paths[:master])
11
+
12
+ if ask_for_sorting(@master[:lang], @master[:app_name])
13
+ master_file = sort_hash(master_file)
14
+ File.open(paths[:master], 'w') { |file| file.write(master_file.to_yaml(line_width: -1)) }
15
+ end
16
+
17
+ postpare_paths([paths[:master]])
18
+
19
+ FileUtils.cp(paths[:master], @master[:path])
20
+
21
+ reset_tmp_files
22
+ log 'Done'
23
+ log
24
+ end
25
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LostInTranslation
4
+ def self.split_file
5
+ @master, @slave, paths = init(false)
6
+
7
+ prepare_for_edit(master: @master[:path])
8
+ prepare_paths([paths[:master]])
9
+
10
+ master_file = YAML.load_file(paths[:master])[@master[:lang]]
11
+
12
+ count = master_file.select { |_k, v| v.is_a?(Hash) }.size
13
+ new_hash = {}
14
+
15
+ if ask_for_split(@master[:lang], count)
16
+ master_file.each_pair do |key, value|
17
+ next unless value.is_a?(Hash)
18
+ new_hash[@master[:lang]] = { key => value }
19
+ File.open(paths[:slave], 'w') { |file| file.write(new_hash.to_yaml(line_width: -1)) }
20
+ postpare_paths([paths[:slave]])
21
+ root_path = @master[:path].split('/').reverse.drop(1).reverse.join('/')
22
+ filename = @master[:path].split('/').last
23
+ FileUtils.cp(paths[:slave], "#{root_path}/#{key}.#{filename}")
24
+ master_file.delete(key)
25
+ end
26
+
27
+ new_hash[@master[:lang]] = master_file
28
+ File.open(paths[:master], 'w') { |file| file.write(new_hash.to_yaml(line_width: -1)) }
29
+ postpare_paths([paths[:master]])
30
+ FileUtils.cp(paths[:master], @master[:path])
31
+ end
32
+
33
+ reset_tmp_files
34
+ log 'Done'
35
+ log
36
+ end
37
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module LostInTranslation
4
+ def self.start
5
+ tasks = [
6
+ { text: 'Compare & Translate two I18n-Locale-Files', method: :compare },
7
+ { text: 'Compare two I18n-Locale-Files and delete the differences', method: :delete_missing },
8
+ { text: 'Count Differences of 2 I18n-Locale-Files', method: :count },
9
+ { text: 'Sort an I18n-Locale-File Alphabetically & Recursive (ASC)', method: :sort_file },
10
+ { text: 'Split an I18n-Locale-File into multiple namespaced Files (1. Level)', method: :split_file },
11
+ { text: 'Tell me joke', method: :joke }
12
+ ]
13
+ task = ask_for_task(tasks)
14
+ LostInTranslation.send(task[:method])
15
+ end
16
+ end
@@ -0,0 +1,49 @@
1
+ require 'lost_in_translation'
2
+
3
+ namespace :lit do
4
+ desc 'Make the locale-yamls equal again(Interactive)'
5
+ task :compare do
6
+ LostInTranslation.compare
7
+ end
8
+
9
+ desc 'Just start and get lead through the process'
10
+ task :start do
11
+ LostInTranslation.start
12
+ end
13
+
14
+ desc 'Use Translator-Engine as a suggestion for translation'
15
+ task :half_automatic do
16
+ return 'to_be_done'
17
+ # LostInTranslation.half_automatic
18
+ end
19
+
20
+ desc 'Use Translator-Engine to automatically translate everything'
21
+ task :fully_automatic do
22
+ return 'to_be_done'
23
+ # LostInTranslation.fully_automatic
24
+ end
25
+
26
+ desc 'Split big files in many small ones'
27
+ task :split_file do
28
+ # return 'to_be_done'
29
+ LostInTranslation.split_file
30
+ end
31
+
32
+ desc 'Sort Locale-File recursively'
33
+ task :sort_file do
34
+ return 'to_be_done'
35
+ # LostInTranslation.sort_file
36
+ end
37
+
38
+ desc 'Cleaning out the Yaml-Closet'
39
+ task :delete_missing do
40
+ return 'to_be_done'
41
+ # LostInTranslation.delete_missing
42
+ end
43
+
44
+ desc 'Tranlate just your recently changed Strings(requires git)'
45
+ task :recent do
46
+ abort('Please use this feature inside a Rails-Application') unless defined? Rails
47
+ LostInTranslation.recent
48
+ end
49
+ end
@@ -2,11 +2,10 @@
2
2
 
3
3
  lib = File.expand_path('../lib', __FILE__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'lost_in_translation/version'
6
5
 
7
6
  Gem::Specification.new do |spec|
8
7
  spec.name = 'lost_in_translation'
9
- spec.version = LostInTranslation::VERSION
8
+ spec.version = '0.2.17'
10
9
  spec.authors = ['Datyv']
11
10
  spec.email = ['yvesgoizet@gmail.com']
12
11
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lost_in_translation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.16
4
+ version: 0.2.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Datyv
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-26 00:00:00.000000000 Z
11
+ date: 2017-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -61,7 +61,6 @@ extra_rdoc_files: []
61
61
  files:
62
62
  - ".gitignore"
63
63
  - ".rspec"
64
- - ".rubocop.yml"
65
64
  - ".travis.yml"
66
65
  - CODE_OF_CONDUCT.md
67
66
  - Gemfile
@@ -70,19 +69,23 @@ files:
70
69
  - Rakefile
71
70
  - bin/console
72
71
  - bin/setup
72
+ - lib/lit/difference.rb
73
+ - lib/lit/file_functions.rb
74
+ - lib/lit/hash.rb
75
+ - lib/lit/railties.rb
76
+ - lib/lit/user_interface.rb
73
77
  - lib/lost_in_translation.rb
74
- - lib/lost_in_translation/difference.rb
75
- - lib/lost_in_translation/file_functions.rb
76
- - lib/lost_in_translation/hash.rb
77
- - lib/lost_in_translation/railtie.rb
78
- - lib/lost_in_translation/user_interface.rb
79
- - lib/lost_in_translation/version.rb
80
- - lib/lost_in_translation/z_cleanup.rb
81
- - lib/lost_in_translation/z_full_automatic.rb
82
- - lib/lost_in_translation/z_half_automatic.rb
83
- - lib/lost_in_translation/z_interactive.rb
84
- - lib/lost_in_translation/z_recent.rb
85
- - lib/tasks/lit.rake
78
+ - lib/tasks/compare.rb
79
+ - lib/tasks/count.rb
80
+ - lib/tasks/delete_missing.rb
81
+ - lib/tasks/fully_automatic.rb
82
+ - lib/tasks/half_automatic.rb
83
+ - lib/tasks/joke.rb
84
+ - lib/tasks/recent.rb
85
+ - lib/tasks/sort_file.rb
86
+ - lib/tasks/split_file.rb
87
+ - lib/tasks/start.rb
88
+ - lib/tasks/tasks.rake
86
89
  - lost_in_translation.gemspec
87
90
  - tmp/tmp_master.yml
88
91
  - tmp/tmp_master_copy.yml
data/.rubocop.yml DELETED
@@ -1,28 +0,0 @@
1
- # This is the configuration used to check the rubocop source code.
2
-
3
-
4
- AllCops:
5
- TargetRubyVersion: 2.3
6
- Exclude:
7
- - 'vendor/**/*'
8
- - 'spec/fixtures/**/*'
9
- - 'db/functional_test_data.rb'
10
- - 'db/schema.rb'
11
-
12
- Lint/HandleExceptions:
13
- Exclude:
14
- - 'bin/rails'
15
- - 'bin/rake'
16
- - 'bin/rspec'
17
-
18
- Style/Encoding:
19
- Enabled: true
20
-
21
- Style/NumericLiterals:
22
- Enabled: false
23
-
24
- Style/RescueModifier:
25
- Enabled: false
26
-
27
- Metrics/LineLength:
28
- Max: 120
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- #
4
- module LostInTranslation
5
- VERSION = '0.2.16'
6
- end
@@ -1,30 +0,0 @@
1
- module LostInTranslation
2
- def self.full_automatic
3
- if defined? Rails
4
- lang2, lang1 = LostInTranslation.ask_for_languages
5
- path1 = "#{Rails.root}/config/locales/#{lang1}.yml"
6
- path2 = "#{Rails.root}/config/locales/#{lang2}.yml"
7
- else
8
- path2, path1 = LostInTranslation.ask_for_paths
9
-
10
- lang1 = LostInTranslation.get_locale(path1)
11
- lang2 = LostInTranslation.get_locale(path2)
12
- end
13
-
14
- abort('NOPE') unless File.exist?(path1) && File.exist?(path2)
15
-
16
- first = YAML.load_file(path1)
17
- second = YAML.load_file(path2)
18
-
19
- new_strings_array = LostInTranslation.clean(first[lang1], second[lang2], [lang2])
20
-
21
- first = {}
22
- new_strings_array.each do |string|
23
- string = string.split('---').map { |x| x == lang2 ? lang1 : x }.join('---')
24
- result = LostInTranslation.string_to_hash(string)
25
- LostInTranslation.merge_hash(result, first)
26
- end
27
-
28
- File.open(path1, 'w') { |file| file.write(first.to_yaml) }
29
- end
30
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- #
4
- module LostInTranslation
5
- def self.half_automatic
6
- if defined? Rails
7
- lang2, lang1 = LostInTranslation.ask_for_languages
8
- path1 = "#{Rails.root}/config/locales/#{lang1}.yml"
9
- path2 = "#{Rails.root}/config/locales/#{lang2}.yml"
10
- else
11
- path2, path1 = LostInTranslation.ask_for_paths
12
-
13
- lang1 = LostInTranslation.get_locale(path1)
14
- lang2 = LostInTranslation.get_locale(path2)
15
- end
16
-
17
- abort('NOPE') unless File.exist?(path1) && File.exist?(path2)
18
-
19
- first = YAML.load_file(path1)
20
- second = YAML.load_file(path2)
21
-
22
- new_strings_array = LostInTranslation.clean(first[lang1], second[lang2], [lang2])
23
-
24
- first = {}
25
- new_strings_array.each do |string|
26
- string = string.split('---').map { |x| x == lang2 ? lang1 : x }.join('---')
27
- result = LostInTranslation.string_to_hash(string)
28
- LostInTranslation.merge_hash(result, first)
29
- end
30
-
31
- File.open(path1, 'w') { |file| file.write(first.to_yaml) }
32
- end
33
- end
data/lib/tasks/lit.rake DELETED
@@ -1,44 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'yaml'
4
- require 'lost_in_translation'
5
- require 'fileutils'
6
-
7
- namespace :lit do
8
- desc 'Make the locale-yamls equal again(Interactive)'
9
- task :interactive do
10
- LostInTranslation.interactive
11
- end
12
- end
13
-
14
- namespace :lit do
15
- desc 'Use Bing-Translator as a suggestion for translation'
16
- task :half_automatic do
17
- return 'to_be_done'
18
- # LostInTranslation.half_automatic
19
- end
20
- end
21
-
22
- namespace :lit do
23
- desc 'Use Bing-Translator to automatically translate everything'
24
- task :fully_automatic do
25
- return 'to_be_done'
26
- # LostInTranslation.full_automatic
27
- end
28
- end
29
-
30
- namespace :lit do
31
- desc 'Cleaning out the Yaml-Closet'
32
- task :cleanup do
33
- return 'to_be_done'
34
- # LostInTranslation.cleanup
35
- end
36
- end
37
-
38
- namespace :lit do
39
- desc 'Tranlate just your recently changed Strings(requires git)'
40
- task :recent do
41
- abort('Please use this feature inside a Rails-Application') unless defined? Rails
42
- LostInTranslation.recent
43
- end
44
- end