xliffle 0.2.0 → 0.3.2
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 -5
- data/Rakefile +2 -4
- data/lib/xliffle.rb +2 -0
- data/lib/xliffle/creator.rb +7 -5
- data/lib/xliffle/file.rb +6 -3
- data/lib/xliffle/note.rb +3 -1
- data/lib/xliffle/string.rb +35 -8
- data/lib/xliffle/version.rb +3 -1
- data/test/test_helper.rb +7 -5
- data/test/xliffle_test.rb +3 -1
- metadata +44 -14
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 936144a3590c2ecc46e063ce185d3babde7ad168d574d9ce4af284a667bd3a97
|
4
|
+
data.tar.gz: 6df22f4c2c352452a6ddbd43991231c8688e26581bd1979aadb1949bdc6a3ddd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f6fa46615495b718d81ec1f51e237b6e812c9d9140c5161173243e07c4aa3953b1467e9f064a6108a0e783a0affa5ceb9f36717654a9decdbe4ed0b6ffd43dd
|
7
|
+
data.tar.gz: 6cf80d7260b4befba237a53233e2ba7ff2857760aa88c6659c22c2671999743d591123ca86770726f1c281dba09b15d55b157550163892fb38b611b7edf6097e
|
data/Rakefile
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
begin
|
2
4
|
require 'bundler/setup'
|
3
5
|
rescue LoadError
|
@@ -14,9 +16,6 @@ RDoc::Task.new(:rdoc) do |rdoc|
|
|
14
16
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
15
17
|
end
|
16
18
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
19
|
Bundler::GemHelper.install_tasks
|
21
20
|
|
22
21
|
require 'rake/testtask'
|
@@ -28,5 +27,4 @@ Rake::TestTask.new(:test) do |t|
|
|
28
27
|
t.verbose = false
|
29
28
|
end
|
30
29
|
|
31
|
-
|
32
30
|
task default: :test
|
data/lib/xliffle.rb
CHANGED
data/lib/xliffle/creator.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'builder'
|
2
4
|
require 'tempfile'
|
3
5
|
|
@@ -10,7 +12,7 @@ module Xliffle
|
|
10
12
|
end
|
11
13
|
|
12
14
|
def file(original, source_locale, target_locale)
|
13
|
-
file = Xliffle::File.new(
|
15
|
+
file = Xliffle::File.new(original, source_locale, target_locale)
|
14
16
|
@files << file
|
15
17
|
file
|
16
18
|
end
|
@@ -25,7 +27,7 @@ module Xliffle
|
|
25
27
|
|
26
28
|
def to_file
|
27
29
|
handle = Tempfile.new('foo.xlf')
|
28
|
-
handle.write
|
30
|
+
handle.write to_xliff
|
29
31
|
handle.close
|
30
32
|
handle
|
31
33
|
end
|
@@ -37,9 +39,9 @@ module Xliffle
|
|
37
39
|
end
|
38
40
|
|
39
41
|
def xml(&block)
|
40
|
-
xml = Builder::XmlMarkup.new(
|
41
|
-
xml.instruct! :xml, :
|
42
|
-
xml.xliff({version: '1.2', xmlns: 'urn:oasis:names:tc:xliff:document:1.2'}, &block)
|
42
|
+
xml = Builder::XmlMarkup.new(indent: 2)
|
43
|
+
xml.instruct! :xml, encoding: 'UTF-8'
|
44
|
+
xml.xliff({ version: '1.2', xmlns: 'urn:oasis:names:tc:xliff:document:1.2' }, &block)
|
43
45
|
end
|
44
46
|
end
|
45
47
|
end
|
data/lib/xliffle/file.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Xliffle
|
2
4
|
class File
|
3
5
|
attr_reader :original, :strings, :source_locale, :target_locale
|
@@ -9,16 +11,17 @@ module Xliffle
|
|
9
11
|
@target_locale = target_locale
|
10
12
|
end
|
11
13
|
|
12
|
-
def string(id, source, target, options={})
|
14
|
+
def string(id, source, target, options = {})
|
13
15
|
string = Xliffle::String.new(id, source, target, options)
|
14
16
|
@strings << string
|
15
17
|
string
|
16
18
|
end
|
17
19
|
|
18
20
|
def to_xliff(xliff)
|
19
|
-
xliff.file(original: @original, datatype: 'plaintext', 'source-language' => @source_locale,
|
21
|
+
xliff.file(original: @original, datatype: 'plaintext', 'source-language' => @source_locale,
|
22
|
+
'target-language' => @target_locale) do |file|
|
20
23
|
file.body do |body|
|
21
|
-
|
24
|
+
strings.each do |string|
|
22
25
|
string.to_xliff(body)
|
23
26
|
end
|
24
27
|
end
|
data/lib/xliffle/note.rb
CHANGED
data/lib/xliffle/string.rb
CHANGED
@@ -1,25 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Xliffle
|
2
4
|
class String
|
3
|
-
attr_reader :id, :source, :target, :notes
|
5
|
+
attr_reader :id, :source, :target, :notes
|
4
6
|
|
5
|
-
def initialize(id, source_string, target_string, options={})
|
7
|
+
def initialize(id, source_string, target_string, options = {})
|
6
8
|
@id = id
|
7
9
|
@source_string = source_string
|
8
10
|
@target_string = target_string
|
9
|
-
@
|
11
|
+
@options = options
|
10
12
|
@notes = []
|
11
13
|
end
|
12
14
|
|
13
|
-
def note(note, priority=2)
|
14
|
-
note = Xliffle::Note.new(note, priority)
|
15
|
+
def note(note, priority = 2)
|
16
|
+
note = Xliffle::Note.new(note, priority: priority)
|
15
17
|
@notes << note
|
16
18
|
note
|
17
19
|
end
|
18
20
|
|
19
21
|
def to_xliff(xliff)
|
20
22
|
xliff.tag!('trans-unit', attributes) do |tag|
|
21
|
-
tag
|
22
|
-
tag
|
23
|
+
add_source_segment(tag)
|
24
|
+
add_target_segment(tag)
|
25
|
+
|
23
26
|
@notes.each do |note|
|
24
27
|
note.to_xliff(tag)
|
25
28
|
end
|
@@ -30,9 +33,33 @@ module Xliffle
|
|
30
33
|
|
31
34
|
def attributes
|
32
35
|
attributes = { id: @id }
|
33
|
-
attributes[:resname] = @resource_name if @resource_name
|
36
|
+
attributes[:resname] = @options[:resource_name] if @options[:resource_name]
|
34
37
|
|
35
38
|
attributes
|
36
39
|
end
|
40
|
+
|
41
|
+
def add_source_segment(tag)
|
42
|
+
return tag.source unless @source_string
|
43
|
+
|
44
|
+
tag.source do |xml|
|
45
|
+
segment(xml, @source_string)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def add_target_segment(tag)
|
50
|
+
return tag.target unless @target_string
|
51
|
+
|
52
|
+
tag.target do |xml|
|
53
|
+
segment(xml, @target_string)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def segment(tag, value)
|
58
|
+
if @options[:use_cdata] && value
|
59
|
+
tag.cdata!(value)
|
60
|
+
else
|
61
|
+
tag.text!(value)
|
62
|
+
end
|
63
|
+
end
|
37
64
|
end
|
38
65
|
end
|
data/lib/xliffle/version.rb
CHANGED
data/test/test_helper.rb
CHANGED
@@ -1,15 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Configure Rails Environment
|
2
|
-
ENV[
|
4
|
+
ENV['RAILS_ENV'] = 'test'
|
3
5
|
|
4
|
-
require File.expand_path(
|
5
|
-
require
|
6
|
+
require File.expand_path('dummy/config/environment.rb', __dir__)
|
7
|
+
require 'rails/test_help'
|
6
8
|
|
7
9
|
Rails.backtrace_cleaner.remove_silencers!
|
8
10
|
|
9
11
|
# Load support files
|
10
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
|
12
|
+
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].sort.each { |f| require f }
|
11
13
|
|
12
14
|
# Load fixtures from the engine
|
13
15
|
if ActiveSupport::TestCase.method_defined?(:fixture_path=)
|
14
|
-
ActiveSupport::TestCase.fixture_path = File.expand_path(
|
16
|
+
ActiveSupport::TestCase.fixture_path = File.expand_path('fixtures', __dir__)
|
15
17
|
end
|
data/test/xliffle_test.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xliffle
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stefan Rohde
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: builder
|
@@ -25,47 +25,75 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '3.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: oga
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '3'
|
33
|
+
version: '3.3'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '3'
|
40
|
+
version: '3.3'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: pry
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0.
|
47
|
+
version: '0.14'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0.
|
54
|
+
version: '0.14'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.10'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.10'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rubocop
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - "~>"
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
75
|
+
version: '1.15'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
80
|
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
82
|
+
version: '1.15'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rubocop-rspec
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '2.3'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '2.3'
|
69
97
|
description: A gem to build XLIFF files from translated strings.
|
70
98
|
email:
|
71
99
|
- info@rohdenetz.de
|
@@ -95,18 +123,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
95
123
|
requirements:
|
96
124
|
- - ">="
|
97
125
|
- !ruby/object:Gem::Version
|
98
|
-
version: '
|
126
|
+
version: '2.7'
|
127
|
+
- - "<"
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '4'
|
99
130
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
100
131
|
requirements:
|
101
132
|
- - ">="
|
102
133
|
- !ruby/object:Gem::Version
|
103
134
|
version: '0'
|
104
135
|
requirements: []
|
105
|
-
|
106
|
-
rubygems_version: 2.2.2
|
136
|
+
rubygems_version: 3.1.6
|
107
137
|
signing_key:
|
108
138
|
specification_version: 4
|
109
139
|
summary: Gem to create XLIFF files
|
110
140
|
test_files:
|
111
|
-
- test/test_helper.rb
|
112
141
|
- test/xliffle_test.rb
|
142
|
+
- test/test_helper.rb
|