babelish 0.5.0 → 0.5.1
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 +8 -8
- data/.gitignore +2 -3
- data/.travis.yml +0 -1
- data/README.md +1 -1
- data/babelish.gemspec +1 -1
- data/lib/babelish/base2csv.rb +1 -0
- data/lib/babelish/commandline.rb +6 -6
- data/lib/babelish/csv2json.rb +1 -1
- data/lib/babelish/version.rb +1 -1
- data/test/babelish/commands/test_command_android2csv.rb +5 -5
- data/test/babelish/commands/test_command_csv2android.rb +2 -2
- data/test/babelish/commands/test_command_strings2csv.rb +22 -7
- data/test/babelish/test_base2csv.rb +1 -1
- data/test/babelish/test_commandline.rb +7 -7
- data/test/babelish/test_csv2json.rb +5 -5
- data/test/babelish/test_csv2php.rb +4 -4
- data/test/babelish/test_csv2strings.rb +6 -6
- data/test/babelish/test_strings2csv.rb +1 -1
- data/test/babelish/test_xcode_macros.rb +8 -8
- data/test/data/android_special_chars.csv +8 -0
- data/test/data/genstrings.strings +0 -0
- data/test/data/test_comments.strings +2 -0
- data/test/data/test_data.csv +3 -0
- data/test/data/test_data.strings +2 -0
- data/test/data/test_data_fr_with_comments.strings +6 -0
- data/test/data/test_data_multiple_langs.csv +3 -0
- data/test/data/test_data_with_comments.csv +3 -0
- data/test/data/test_data_with_percent.csv +3 -0
- data/test/data/test_data_with_percent_space.csv +4 -0
- data/test/data/test_data_with_semicolon.csv +3 -0
- data/test/data/test_data_with_spaces.csv +3 -0
- data/test/data/test_en.strings +2 -0
- data/test/data/test_fr.strings +2 -0
- data/test/data/test_space.strings +10 -0
- data/test/data/test_utf16.strings +0 -0
- data/test/data/test_with_nil.csv +3 -0
- data/test/data/test_with_nil.strings +4 -0
- data/test/data/xcode_empty.strings +7 -0
- metadata +2 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZDBmYjkzYmRiMDA5MmQwMDZjOWQyMzk0MjE4YjllYWRlODQzNzE3Zg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
Nzk4MTgwOTExZWQwNjc5NDUwMDU3YjVhYzZmN2FkNmNmY2RiNzBkZQ==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ODA5ZTBmYTdkNmUzYWMyZWI0MWMyZTU2MzBlNTVhNjA0YTlmN2ZhMDZlZGEw
|
10
|
+
YzBkYmI3MDFjMGI2MGE5MmJiMTQzZTgyNzY3NzkwOTJmYjFmMjRkMGM2MmMy
|
11
|
+
MGViODA3M2I3NGZiNTU5NzM4MTk3NDNiMTY0ZTU3ZDZjYzJhZjA=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ZDZjNjA2YTg1OThmZTE5Y2RjOTJiOWEzMDgwNTIxMDQ2M2VmNmJmNDYwM2Zj
|
14
|
+
MjVhMmFlYjE5OTFlMTg3ZjA3ZDA4MzRhOTRkMTQyZDBhYTcwZjk4NmYxNDBk
|
15
|
+
NmY0ZGUyMjdjMTEzMjk2YWQ5OWYxZjk2YmNiODQ0ZTQxMDE5ZTE=
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/README.md
CHANGED
data/babelish.gemspec
CHANGED
@@ -6,7 +6,7 @@ require 'babelish/version'
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = 'babelish'
|
8
8
|
s.version = Babelish::VERSION
|
9
|
-
s.date =
|
9
|
+
s.date = Time.now.strftime("%Y-%m-%d")
|
10
10
|
s.summary = "CSV converter for localization files"
|
11
11
|
s.description = "This set of commands converts a CSV file to the following formats:
|
12
12
|
- .strings (iOS)
|
data/lib/babelish/base2csv.rb
CHANGED
@@ -83,6 +83,7 @@ module Babelish
|
|
83
83
|
def create_csv_file(keys, strings, comments = nil)
|
84
84
|
raise "csv_filename must not be nil" unless @csv_filename
|
85
85
|
CSV.open(@csv_filename, "wb") do |csv|
|
86
|
+
@headers << "Comments" if !comments.nil? && !comments.empty?
|
86
87
|
csv << @headers
|
87
88
|
keys.each do |key|
|
88
89
|
line = [key]
|
data/lib/babelish/commandline.rb
CHANGED
@@ -21,9 +21,9 @@ class Commandline < Thor
|
|
21
21
|
method_option :excluded_states, :type => :array, :aliases => "-x", :desc => "Exclude rows with given state"
|
22
22
|
method_option :state_column, :type => :numeric, :aliases => "-s", :desc => "Position of column for state if any"
|
23
23
|
method_option :keys_column, :type => :numeric, :aliases => "-k", :desc => "Position of column for keys"
|
24
|
-
method_option :comments_column, :type => :numeric, :aliases => "-
|
24
|
+
method_option :comments_column, :type => :numeric, :aliases => "-C", :desc => "Position of column for comments if any"
|
25
25
|
method_option :default_lang, :type => :string, :aliases => "-l", :desc => "Default language to use for empty values if any"
|
26
|
-
method_option :csv_separator, :type => :string, :aliases => "-
|
26
|
+
method_option :csv_separator, :type => :string, :aliases => "-S", :desc => "CSV column separator character, uses ',' by default"
|
27
27
|
method_option :output_dir, :type => :string, :aliases => "-d", :desc => "Path of output files"
|
28
28
|
method_option :output_basenames, :type => :array, :aliases => "-o", :desc => "Basename of output files"
|
29
29
|
method_option :stripping, :type => :boolean, :aliases => "-N", :default => false, :desc => "Strips values of spreadsheet"
|
@@ -77,7 +77,7 @@ class Commandline < Thor
|
|
77
77
|
desc "open FILE", "Open local csv file in default editor or Google Spreadsheet containing translations in default browser"
|
78
78
|
def open(file = "translations.csv")
|
79
79
|
filename = file || options["filename"]
|
80
|
-
if File.
|
80
|
+
if File.exist?(filename)
|
81
81
|
say "Opening local file '#{filename}'"
|
82
82
|
system "open \"#{filename}\""
|
83
83
|
else
|
@@ -89,12 +89,12 @@ class Commandline < Thor
|
|
89
89
|
|
90
90
|
desc "init", "Create a configuration file from template"
|
91
91
|
def init
|
92
|
-
if File.
|
92
|
+
if File.exist?(".babelish")
|
93
93
|
say "Config file '.babelish' already exists."
|
94
94
|
else
|
95
95
|
say "Creating new config file '.babelish'."
|
96
96
|
config_file = File.expand_path("../../../.babelish.sample", __FILE__)
|
97
|
-
if File.
|
97
|
+
if File.exist?(config_file)
|
98
98
|
system "cp #{config_file} .babelish"
|
99
99
|
else
|
100
100
|
say "Template '#{config_file}' not found."
|
@@ -176,7 +176,7 @@ class Commandline < Thor
|
|
176
176
|
|
177
177
|
def options
|
178
178
|
original_options = super
|
179
|
-
return original_options unless File.
|
179
|
+
return original_options unless File.exist?(original_options["config"])
|
180
180
|
defaults = ::YAML.load_file(original_options["config"]) || {}
|
181
181
|
Thor::CoreExt::HashWithIndifferentAccess.new(defaults.merge(original_options))
|
182
182
|
end
|
data/lib/babelish/csv2json.rb
CHANGED
@@ -5,7 +5,7 @@ module Babelish
|
|
5
5
|
def language_filepaths(language)
|
6
6
|
require 'pathname'
|
7
7
|
filename = @output_basename || language.code
|
8
|
-
filepath = Pathname.new("#{@output_dir}#{filename}.
|
8
|
+
filepath = Pathname.new("#{@output_dir}#{filename}.json")
|
9
9
|
|
10
10
|
return filepath ? [filepath] : []
|
11
11
|
end
|
data/lib/babelish/version.rb
CHANGED
@@ -6,7 +6,7 @@ class TestAndroid2CSVCommand < Test::Unit::TestCase
|
|
6
6
|
|
7
7
|
assert File.exist?("translations.csv")
|
8
8
|
|
9
|
-
#clean up
|
9
|
+
# clean up
|
10
10
|
system("rm -f translations.csv")
|
11
11
|
end
|
12
12
|
|
@@ -16,7 +16,7 @@ class TestAndroid2CSVCommand < Test::Unit::TestCase
|
|
16
16
|
|
17
17
|
assert !File.exist?("translations.csv")
|
18
18
|
|
19
|
-
#clean up
|
19
|
+
# clean up
|
20
20
|
system("rm -f translations.csv")
|
21
21
|
end
|
22
22
|
|
@@ -27,7 +27,7 @@ class TestAndroid2CSVCommand < Test::Unit::TestCase
|
|
27
27
|
|
28
28
|
assert File.exist?("myfile.csv")
|
29
29
|
|
30
|
-
#clean up
|
30
|
+
# clean up
|
31
31
|
system("rm -f myfile.csv")
|
32
32
|
end
|
33
33
|
|
@@ -38,7 +38,7 @@ class TestAndroid2CSVCommand < Test::Unit::TestCase
|
|
38
38
|
|
39
39
|
#TODO assertion or move test on at lib level
|
40
40
|
|
41
|
-
#clean up
|
41
|
+
# clean up
|
42
42
|
system("rm -f translations.csv")
|
43
43
|
end
|
44
44
|
|
@@ -53,7 +53,7 @@ class TestAndroid2CSVCommand < Test::Unit::TestCase
|
|
53
53
|
|
54
54
|
#TODO assertion
|
55
55
|
|
56
|
-
#clean up
|
56
|
+
# clean up
|
57
57
|
system("rm -f enfr.csv")
|
58
58
|
end
|
59
59
|
|
@@ -11,7 +11,7 @@ class TestCSV2AndroidCommand < Test::Unit::TestCase
|
|
11
11
|
assert File.exist?("./values-en/strings.xml")
|
12
12
|
assert File.exist?("./values-fr/strings.xml")
|
13
13
|
|
14
|
-
#clean up
|
14
|
+
# clean up
|
15
15
|
system("rm -rf ./values-en/")
|
16
16
|
system("rm -rf ./values-fr/")
|
17
17
|
end
|
@@ -28,7 +28,7 @@ class TestCSV2AndroidCommand < Test::Unit::TestCase
|
|
28
28
|
assert File.exist?("./mynewlocation/values-en/strings.xml"), "can't find output file for English"
|
29
29
|
assert File.exist?("./mynewlocation/values-fr/strings.xml"), "can't find output file for French"
|
30
30
|
|
31
|
-
#clean up
|
31
|
+
# clean up
|
32
32
|
system("rm -rf ./mynewlocation")
|
33
33
|
end
|
34
34
|
|
@@ -7,7 +7,7 @@ class TestStrings2CSVCommand < Test::Unit::TestCase
|
|
7
7
|
|
8
8
|
assert File.exist?("translations.csv")
|
9
9
|
|
10
|
-
#clean up
|
10
|
+
# clean up
|
11
11
|
system("rm -f translations.csv")
|
12
12
|
end
|
13
13
|
|
@@ -17,7 +17,7 @@ class TestStrings2CSVCommand < Test::Unit::TestCase
|
|
17
17
|
|
18
18
|
assert !File.exist?("translations.csv")
|
19
19
|
|
20
|
-
#clean up
|
20
|
+
# clean up
|
21
21
|
system("rm -f translations.csv")
|
22
22
|
end
|
23
23
|
|
@@ -28,7 +28,7 @@ class TestStrings2CSVCommand < Test::Unit::TestCase
|
|
28
28
|
|
29
29
|
assert File.exist?("myfile.csv")
|
30
30
|
|
31
|
-
#clean up
|
31
|
+
# clean up
|
32
32
|
system("rm -f myfile.csv")
|
33
33
|
end
|
34
34
|
|
@@ -39,7 +39,7 @@ class TestStrings2CSVCommand < Test::Unit::TestCase
|
|
39
39
|
|
40
40
|
#TODO assertion or move test on at lib level
|
41
41
|
|
42
|
-
#clean up
|
42
|
+
# clean up
|
43
43
|
system("rm -f translations.csv")
|
44
44
|
end
|
45
45
|
|
@@ -54,7 +54,7 @@ class TestStrings2CSVCommand < Test::Unit::TestCase
|
|
54
54
|
|
55
55
|
#TODO assertion
|
56
56
|
|
57
|
-
#clean up
|
57
|
+
# clean up
|
58
58
|
system("rm -f enfr.csv")
|
59
59
|
end
|
60
60
|
|
@@ -71,7 +71,7 @@ class TestStrings2CSVCommand < Test::Unit::TestCase
|
|
71
71
|
end
|
72
72
|
assert system("diff test_with_nil.csv test/data/test_with_nil.csv"), "no difference on output"
|
73
73
|
|
74
|
-
#clean up
|
74
|
+
# clean up
|
75
75
|
system("rm -f test_with_nil.csv")
|
76
76
|
end
|
77
77
|
|
@@ -87,9 +87,24 @@ class TestStrings2CSVCommand < Test::Unit::TestCase
|
|
87
87
|
Commandline.new([], options).strings2csv
|
88
88
|
end
|
89
89
|
|
90
|
-
#clean up
|
90
|
+
# clean up
|
91
91
|
system("rm -f test_utf16.csv")
|
92
92
|
|
93
93
|
end
|
94
94
|
|
95
|
+
def test_strings2csv_with_comments_outputs_right_headers
|
96
|
+
expected_content = <<-EOF
|
97
|
+
Variables,test/data/test_comments.strings,Comments
|
98
|
+
MY_CONSTANT,This 'is' ok,this is a comment
|
99
|
+
EOF
|
100
|
+
|
101
|
+
options = { :filenames => ["test/data/test_comments.strings"] }
|
102
|
+
Commandline.new([], options).strings2csv
|
103
|
+
|
104
|
+
csv_content = `cat translations.csv`
|
105
|
+
|
106
|
+
assert_equal expected_content, csv_content, "Content of generated file differs from expected one"
|
107
|
+
# clean up
|
108
|
+
system("rm -f translations.csv")
|
109
|
+
end
|
95
110
|
end
|
@@ -5,7 +5,7 @@ class TestCommandLine < Test::Unit::TestCase
|
|
5
5
|
assert_nothing_raised do
|
6
6
|
Commandline.new.init
|
7
7
|
end
|
8
|
-
#clean up
|
8
|
+
# clean up
|
9
9
|
system("rm -f .babelish")
|
10
10
|
end
|
11
11
|
|
@@ -22,7 +22,7 @@ class TestCommandLine < Test::Unit::TestCase
|
|
22
22
|
Commandline.new.csv2strings
|
23
23
|
end
|
24
24
|
|
25
|
-
#clean up
|
25
|
+
# clean up
|
26
26
|
system("rm -rf ./en.lproj/")
|
27
27
|
system("rm -rf ./fr.lproj/")
|
28
28
|
system("rm -f .babelish")
|
@@ -41,7 +41,7 @@ class TestCommandLine < Test::Unit::TestCase
|
|
41
41
|
Commandline.new.csv2strings
|
42
42
|
end
|
43
43
|
|
44
|
-
#clean up
|
44
|
+
# clean up
|
45
45
|
system("rm -rf ./en.lproj/")
|
46
46
|
system("rm -rf ./fr.lproj/")
|
47
47
|
system("rm -f .babelish")
|
@@ -59,7 +59,7 @@ class TestCommandLine < Test::Unit::TestCase
|
|
59
59
|
Commandline.new.strings2csv
|
60
60
|
end
|
61
61
|
|
62
|
-
#clean up
|
62
|
+
# clean up
|
63
63
|
system("rm -f translations.csv")
|
64
64
|
system("rm -f .babelish")
|
65
65
|
end
|
@@ -74,7 +74,7 @@ class TestCommandLine < Test::Unit::TestCase
|
|
74
74
|
Commandline.new.strings2csv
|
75
75
|
end
|
76
76
|
|
77
|
-
#clean up
|
77
|
+
# clean up
|
78
78
|
system("rm -f .babelish")
|
79
79
|
end
|
80
80
|
|
@@ -88,7 +88,7 @@ class TestCommandLine < Test::Unit::TestCase
|
|
88
88
|
Commandline.new.csv_download
|
89
89
|
end
|
90
90
|
|
91
|
-
#clean up
|
91
|
+
# clean up
|
92
92
|
system("rm -f .babelish")
|
93
93
|
end
|
94
94
|
|
@@ -104,7 +104,7 @@ class TestCommandLine < Test::Unit::TestCase
|
|
104
104
|
Commandline.new.csv_download
|
105
105
|
end
|
106
106
|
|
107
|
-
#clean up
|
107
|
+
# clean up
|
108
108
|
system("rm -f .babelish")
|
109
109
|
end
|
110
110
|
|
@@ -5,10 +5,10 @@ class TestCSV2JSON < Test::Unit::TestCase
|
|
5
5
|
csv_file = "test/data/test_data.csv"
|
6
6
|
converter = Babelish::CSV2JSON.new(csv_file, 'English' => "en")
|
7
7
|
converter.convert
|
8
|
-
assert File.
|
8
|
+
assert File.exist?("en.json"), "the ouptut file does not exist"
|
9
9
|
|
10
|
-
#clean up
|
11
|
-
system("rm -rf en.
|
10
|
+
# clean up
|
11
|
+
system("rm -rf en.json")
|
12
12
|
end
|
13
13
|
|
14
14
|
def test_converting_csv_to_dotstrings_one_output_option
|
@@ -19,9 +19,9 @@ class TestCSV2JSON < Test::Unit::TestCase
|
|
19
19
|
:output_basename => 'myfile',
|
20
20
|
:ignore_lang_path => true)
|
21
21
|
converter.convert
|
22
|
-
assert File.
|
22
|
+
assert File.exist?(single_file), "the ouptut file does not exist"
|
23
23
|
|
24
|
-
#clean up
|
24
|
+
# clean up
|
25
25
|
system("rm -rf ./" + single_file)
|
26
26
|
end
|
27
27
|
end
|
@@ -5,9 +5,9 @@ class TestCSV2Php < Test::Unit::TestCase
|
|
5
5
|
csv_file = "test/data/test_data.csv"
|
6
6
|
converter = Babelish::CSV2Php.new(csv_file, 'English' => "en")
|
7
7
|
converter.convert
|
8
|
-
assert File.
|
8
|
+
assert File.exist?("en/lang.php"), "the ouptut file does not exist"
|
9
9
|
|
10
|
-
#clean up
|
10
|
+
# clean up
|
11
11
|
system("rm -rf ./en")
|
12
12
|
end
|
13
13
|
|
@@ -19,9 +19,9 @@ class TestCSV2Php < Test::Unit::TestCase
|
|
19
19
|
:output_basename => 'myApp',
|
20
20
|
:ignore_lang_path => true)
|
21
21
|
converter.convert
|
22
|
-
assert File.
|
22
|
+
assert File.exist?(single_file), "the ouptut file does not exist"
|
23
23
|
|
24
|
-
#clean up
|
24
|
+
# clean up
|
25
25
|
system("rm -rf ./" + single_file)
|
26
26
|
end
|
27
27
|
end
|
@@ -5,7 +5,7 @@ class TestCSV2Strings < Test::Unit::TestCase
|
|
5
5
|
csv_file = "test/data/test_data.csv"
|
6
6
|
converter = Babelish::CSV2Strings.new(csv_file, 'English' => [:en])
|
7
7
|
converter.convert
|
8
|
-
assert File.
|
8
|
+
assert File.exist?("en.lproj/Localizable.strings"), "the ouptut file does not exist"
|
9
9
|
system("rm -rf en.lproj/")
|
10
10
|
end
|
11
11
|
|
@@ -17,7 +17,7 @@ class TestCSV2Strings < Test::Unit::TestCase
|
|
17
17
|
:output_basename => 'myApp',
|
18
18
|
:ignore_lang_path => true)
|
19
19
|
converter.convert
|
20
|
-
assert File.
|
20
|
+
assert File.exist?(single_file), "the ouptut file does not exist"
|
21
21
|
system("rm -f #{single_file}")
|
22
22
|
end
|
23
23
|
|
@@ -32,7 +32,7 @@ class TestCSV2Strings < Test::Unit::TestCase
|
|
32
32
|
{'English' => [:en], "French" => "fr", "German" => "de", "Spanish" => "es"},
|
33
33
|
:default_lang => "English")
|
34
34
|
converter.convert
|
35
|
-
assert File.
|
35
|
+
assert File.exist?(spanish_file), "the ouptut file does not exist"
|
36
36
|
result = File.read(spanish_file)
|
37
37
|
assert_equal expected_output, result
|
38
38
|
system("rm -rf *.lproj")
|
@@ -48,7 +48,7 @@ class TestCSV2Strings < Test::Unit::TestCase
|
|
48
48
|
converter = Babelish::CSV2Strings.new(csv_file,
|
49
49
|
{'English' => [:en], "French" => "fr", "German" => "de", "Spanish" => "es"})
|
50
50
|
converter.convert
|
51
|
-
assert File.
|
51
|
+
assert File.exist?(spanish_file), "the ouptut file does not exist"
|
52
52
|
result = File.read(spanish_file)
|
53
53
|
assert_equal expected_output, result
|
54
54
|
system("rm -rf *.lproj")
|
@@ -65,7 +65,7 @@ class TestCSV2Strings < Test::Unit::TestCase
|
|
65
65
|
{'English' => [:en], "French" => "fr", "German" => "de", "Spanish" => "es"},
|
66
66
|
:default_lang => "variables")
|
67
67
|
converter.convert
|
68
|
-
assert File.
|
68
|
+
assert File.exist?(spanish_file), "the ouptut file does not exist"
|
69
69
|
result = File.read(spanish_file)
|
70
70
|
assert_equal expected_output, result
|
71
71
|
system("rm -rf *.lproj")
|
@@ -146,7 +146,7 @@ class TestCSV2Strings < Test::Unit::TestCase
|
|
146
146
|
{"French" => "fr"},
|
147
147
|
:default_lang => "English", :comments_column => 5)
|
148
148
|
converter.convert
|
149
|
-
assert File.
|
149
|
+
assert File.exist?(spanish_file), "the ouptut file does not exist"
|
150
150
|
result = File.read(spanish_file)
|
151
151
|
assert_equal expected_output, result
|
152
152
|
system("rm -rf *.lproj")
|
@@ -27,10 +27,10 @@ class TestXcodeMacros < Test::Unit::TestCase
|
|
27
27
|
#define LS_LOGIN_TITLE NSLocalizedStringFromTable(@"login.title",@"Localizable",@"")
|
28
28
|
#define LS_LOGIN_BUTTON NSLocalizedStringFromTable(@"login.button",@"Localizable",@"")
|
29
29
|
EOS
|
30
|
-
assert File.
|
30
|
+
assert File.exist?("Babelish.h")
|
31
31
|
result = File.read("Babelish.h")
|
32
32
|
assert_equal expected_output, result
|
33
|
-
#clean up
|
33
|
+
# clean up
|
34
34
|
system("rm -f ./Babelish.h")
|
35
35
|
end
|
36
36
|
|
@@ -51,10 +51,10 @@ class TestXcodeMacros < Test::Unit::TestCase
|
|
51
51
|
#define LS_LOGIN_TITLE NSLocalizedStringFromTable(@"login.title",@"Localizable",@"")
|
52
52
|
#define LS_LOGIN_BUTTON NSLocalizedStringFromTable(@"login.button",@"Localizable",@"")
|
53
53
|
EOS
|
54
|
-
assert File.
|
54
|
+
assert File.exist?("Babelish.h")
|
55
55
|
result = File.read("Babelish.h")
|
56
56
|
assert_equal expected_output, result
|
57
|
-
#clean up
|
57
|
+
# clean up
|
58
58
|
system("rm -f ./Babelish.h")
|
59
59
|
end
|
60
60
|
|
@@ -76,10 +76,10 @@ class TestXcodeMacros < Test::Unit::TestCase
|
|
76
76
|
#define LS_LOGIN NSLocalizedStringFromTable(@"login!",@"Localizable",@"")
|
77
77
|
#define LS_HEY NSLocalizedStringFromTable(@"HEY!!",@"Localizable",@"")
|
78
78
|
EOS
|
79
|
-
assert File.
|
79
|
+
assert File.exist?("Babelish.h")
|
80
80
|
result = File.read("Babelish.h")
|
81
81
|
assert_equal expected_output, result
|
82
|
-
#clean up
|
82
|
+
# clean up
|
83
83
|
system("rm -f ./Babelish.h")
|
84
84
|
end
|
85
85
|
|
@@ -101,10 +101,10 @@ class TestXcodeMacros < Test::Unit::TestCase
|
|
101
101
|
#define LS_LOGIN_TITLE NSLocalizedStringFromTable(@"login.title",@"Localizable",@"this is the login screen title")
|
102
102
|
#define LS_LOGIN_BUTTON NSLocalizedStringFromTable(@"login.button",@"Localizable",@"")
|
103
103
|
EOS
|
104
|
-
assert File.
|
104
|
+
assert File.exist?("Babelish.h")
|
105
105
|
result = File.read("Babelish.h")
|
106
106
|
assert_equal expected_output, result
|
107
|
-
#clean up
|
107
|
+
# clean up
|
108
108
|
system("rm -f ./Babelish.h")
|
109
109
|
end
|
110
110
|
|
@@ -0,0 +1,8 @@
|
|
1
|
+
variables,german
|
2
|
+
good_example_1,This\'ll work
|
3
|
+
good_example_2,"This is a \""good string\""."
|
4
|
+
good_example_3,"""This'll also work"""
|
5
|
+
welcome_messages_1,"Hello, %1$s! You have %2$d new messages."
|
6
|
+
welcome_messages_2,"Hello, %1$s! You have <b>%2$d new messages</b>."
|
7
|
+
ANOTHER_STRING,"text <b>with</b> html and \' special # chars ` ´ !""§$%/()==?{[]}"
|
8
|
+
title,"Title of <a href=""asd"">File</a>"
|
Binary file
|
@@ -0,0 +1,10 @@
|
|
1
|
+
"name"= "definition";
|
2
|
+
"name1"="definition1";
|
3
|
+
"name2" = "definition2";
|
4
|
+
"name3" = "definition3" ;
|
5
|
+
"name4" = "definition4";
|
6
|
+
"this is a name"="a definition";
|
7
|
+
wrong format "should be ignored" = "really" ;
|
8
|
+
"should be ignored"wrong format = "really" ;
|
9
|
+
"should be ignored"= "really" dd;
|
10
|
+
"should be ignored"=aa "really";
|
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: babelish
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- François Benaiteau
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-03-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|
@@ -244,4 +244,3 @@ signing_key:
|
|
244
244
|
specification_version: 4
|
245
245
|
summary: CSV converter for localization files
|
246
246
|
test_files: []
|
247
|
-
has_rdoc:
|