Skip to content

Commit

Permalink
Merge branch 'release/xliffle-0.0.4'
Browse files Browse the repository at this point in the history
  • Loading branch information
sr189 committed Aug 10, 2014
2 parents d2afe35 + b4b65ea commit b6cd0f7
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 14 deletions.
2 changes: 1 addition & 1 deletion Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PATH
remote: .
specs:
xliffle (0.0.3)
xliffle (0.0.4)
builder
rails (~> 4.1.4)

Expand Down
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ xliffle = Xliffle.new

```
file = xliffle.file('de.po', 'de', 'en')
=> #<Xliffle::File:0x007fea48d4ac08 @strings=[], @original="de.po", @source_locale="de", @target_locale="en">
=> #<Xliffle::File:0x007ff523bd9ca8 @id=1, @strings=[], @original="de.po", @source_locale="de", @target_locale="en">
```

Parameters:
Expand All @@ -35,17 +35,18 @@ Parameters:

```
file.string('admin.foo_bar','Foo', 'Bar')
=> #<Xliffle::String:0x007fea48ea6020 @id="admin.foo_bar", @source="Foo", @target="Bar">
=> #<Xliffle::String:0x007ff523bc2030 @id=1, @name="admin.foo_bar", @source="Foo", @target="Bar">
```

Parameters:

* name - identifier for the string
* source string
* target string

### Export to file

```xliffle.to_file
```
xliffle.to_file
=> #<Tempfile:/var/folders/61/2s8jsjln4vg_7tp6bpp0yrg40000gn/T/foo.xlf20140810-19106-11vhjba>
```

Expand All @@ -55,7 +56,7 @@ Returns temporary xliff-file

```
xliffle.to_xliff
=> "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<xliff version=\"1.2\" xmlns=\"urn:oasis:names:tc:xliff:document:1.2\">\n <file original=\"de.po\" datatype=\"plaintext\" source-language=\"de\" target-language=\"en\">\n <body>\n <trans-unit id=\"admin.foo_bar\">\n <source>Foo</source>\n <target>Bar</target>\n </trans-unit>\n </body>\n </file>\n</xliff>\n"
=> "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<xliff version=\"1.2\" xmlns=\"urn:oasis:names:tc:xliff:document:1.2\">\n <file original=\"de.po\" datatype=\"plaintext\" source-language=\"de\" target-language=\"en\">\n <body>\n <trans-unit id=\"1\" resname=\"admin.foo_bar\">\n <source>Foo</source>\n <target>Bar</target>\n </trans-unit>\n </body>\n </file>\n</xliff>\n"
```

Returns xliff structure as string
Expand Down
6 changes: 5 additions & 1 deletion lib/xliffle/creator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ def initialize
end

def file(original, source_locale, target_locale)
file = Xliffle::File.new(original, source_locale, target_locale)
file = Xliffle::File.new(file_id, original, source_locale, target_locale)
@files << file
file
end
Expand All @@ -31,6 +31,10 @@ def to_file

private

def file_id
@files.length.succ
end

def xml(&block)
xml = Builder::XmlMarkup.new( :indent => 2 )
xml.instruct! :xml, :encoding => "UTF-8"
Expand Down
13 changes: 10 additions & 3 deletions lib/xliffle/file.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,16 @@ module Xliffle
class File
attr_reader :original, :strings, :source_locale, :target_locale

def initialize(original, source_locale, target_locale)
def initialize(id, original, source_locale, target_locale)
@id = id
@strings = []
@original = original
@source_locale = source_locale
@target_locale = target_locale
end

def string(id, source, target)
string = Xliffle::String.new(id, source, target)
def string(name, source, target)
string = Xliffle::String.new(string_id, name, source, target)
@strings << string
string
end
Expand All @@ -24,5 +25,11 @@ def to_xliff(xliff)
end
end
end

private

def string_id
"#{ @id }_#{ @strings.length.succ }"
end
end
end
7 changes: 4 additions & 3 deletions lib/xliffle/string.rb
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
module Xliffle
class String
attr_reader :id, :source, :target
attr_reader :name, :source, :target

def initialize(id, source, target)
def initialize(id, name, source, target)
@id = id
@name = name
@source = source
@target = target
end

def to_xliff(xliff)
xliff.tag!('trans-unit', { id: @id }) do |t|
xliff.tag!('trans-unit', { id: @id, resname: @name }) do |t|
t.source(@source)
t.target(@target)
end
Expand Down
2 changes: 1 addition & 1 deletion lib/xliffle/version.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module Xliffle
VERSION = "0.0.3"
VERSION = "0.0.4"
end

0 comments on commit b6cd0f7

Please sign in to comment.