babelish_rnc 1.0.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +7 -0
  2. data/.babelish.sample +35 -0
  3. data/.gitignore +34 -0
  4. data/.hound.yml +4 -0
  5. data/.travis.yml +15 -0
  6. data/CONTRIBUTING.md +12 -0
  7. data/Dockerfile +6 -0
  8. data/Gemfile +8 -0
  9. data/LICENSE.txt +20 -0
  10. data/README.md +73 -0
  11. data/Rakefile +17 -0
  12. data/babelish.gemspec +41 -0
  13. data/babelish_rnc.gemspec +42 -0
  14. data/bin/babelish_rnc +6 -0
  15. data/lib/babelish_rnc.rb +31 -0
  16. data/lib/babelish_rnc/android2csv.rb +28 -0
  17. data/lib/babelish_rnc/base2csv.rb +103 -0
  18. data/lib/babelish_rnc/commandline.rb +188 -0
  19. data/lib/babelish_rnc/csv2android.rb +53 -0
  20. data/lib/babelish_rnc/csv2base.rb +189 -0
  21. data/lib/babelish_rnc/csv2json.rb +21 -0
  22. data/lib/babelish_rnc/csv2php.rb +25 -0
  23. data/lib/babelish_rnc/csv2strings.rb +34 -0
  24. data/lib/babelish_rnc/google_doc.rb +55 -0
  25. data/lib/babelish_rnc/json2csv.rb +20 -0
  26. data/lib/babelish_rnc/language.rb +30 -0
  27. data/lib/babelish_rnc/php2csv.rb +30 -0
  28. data/lib/babelish_rnc/strings2csv.rb +61 -0
  29. data/lib/babelish_rnc/version.rb +3 -0
  30. data/lib/babelish_rnc/xcode_macros.rb +49 -0
  31. data/test/babelish_rnc/commands/test_command_android2csv.rb +60 -0
  32. data/test/babelish_rnc/commands/test_command_csv2android.rb +35 -0
  33. data/test/babelish_rnc/commands/test_command_csv2strings.rb +139 -0
  34. data/test/babelish_rnc/commands/test_command_strings2csv.rb +110 -0
  35. data/test/babelish_rnc/test_android2csv.rb +53 -0
  36. data/test/babelish_rnc/test_base2csv.rb +43 -0
  37. data/test/babelish_rnc/test_bins.rb +32 -0
  38. data/test/babelish_rnc/test_commandline.rb +127 -0
  39. data/test/babelish_rnc/test_csv2android.rb +72 -0
  40. data/test/babelish_rnc/test_csv2base.rb +44 -0
  41. data/test/babelish_rnc/test_csv2json.rb +27 -0
  42. data/test/babelish_rnc/test_csv2php.rb +27 -0
  43. data/test/babelish_rnc/test_csv2strings.rb +154 -0
  44. data/test/babelish_rnc/test_json2csv.rb +34 -0
  45. data/test/babelish_rnc/test_php2csv.rb +73 -0
  46. data/test/babelish_rnc/test_strings2csv.rb +147 -0
  47. data/test/babelish_rnc/test_xcode_macros.rb +112 -0
  48. data/test/data/android-en.xml +9 -0
  49. data/test/data/android-fr.xml +9 -0
  50. data/test/data/android.xml +9 -0
  51. data/test/data/android_special_chars.csv +8 -0
  52. data/test/data/android_special_chars.xml +12 -0
  53. data/test/data/android_special_chars_test_result.xml +10 -0
  54. data/test/data/genstrings.strings +0 -0
  55. data/test/data/json.json +6 -0
  56. data/test/data/php_lang.php +8 -0
  57. data/test/data/test_comments.strings +2 -0
  58. data/test/data/test_data.csv +3 -0
  59. data/test/data/test_data.strings +2 -0
  60. data/test/data/test_data_fr_with_comments.strings +6 -0
  61. data/test/data/test_data_fr_with_comments.xml +9 -0
  62. data/test/data/test_data_multiple_langs.csv +3 -0
  63. data/test/data/test_data_with_comments.csv +3 -0
  64. data/test/data/test_data_with_percent.csv +3 -0
  65. data/test/data/test_data_with_percent_space.csv +4 -0
  66. data/test/data/test_data_with_semicolon.csv +3 -0
  67. data/test/data/test_data_with_spaces.csv +3 -0
  68. data/test/data/test_en.strings +2 -0
  69. data/test/data/test_fr.strings +2 -0
  70. data/test/data/test_space.strings +10 -0
  71. data/test/data/test_utf16.strings +0 -0
  72. data/test/data/test_with_nil.csv +3 -0
  73. data/test/data/test_with_nil.strings +4 -0
  74. data/test/data/xcode_empty.strings +7 -0
  75. data/test/test_helper.rb +17 -0
  76. metadata +311 -0
@@ -0,0 +1,112 @@
1
+ require "test_helper"
2
+ class TestXcodeMacros < Test::Unit::TestCase
3
+ def test_process
4
+ keys = ["login.title", "login.button"]
5
+ table = "Localizable"
6
+ xcode_macros = Babelish::XcodeMacros.new
7
+ content = xcode_macros.process(table, keys)
8
+ expected_output = String.new(<<-EOS)
9
+ #define LS_LOGIN_TITLE NSLocalizedStringFromTable(@"login.title",@"Localizable",@"")
10
+ #define LS_LOGIN_BUTTON NSLocalizedStringFromTable(@"login.button",@"Localizable",@"")
11
+ EOS
12
+ assert_equal expected_output, content
13
+ end
14
+
15
+ def test_write_macros_class_method
16
+ keys = ["login.title", "login.button"]
17
+ table = "Localizable"
18
+ Babelish::XcodeMacros.write_macros("Babelish.h", table, keys)
19
+ expected_output = String.new(<<-EOS)
20
+ //
21
+ // Babelish.h
22
+ //
23
+ // This file was generated by Babelish
24
+ //
25
+ // https://github.com/netbe/babelish
26
+ //
27
+ #define LS_LOGIN_TITLE NSLocalizedStringFromTable(@"login.title",@"Localizable",@"")
28
+ #define LS_LOGIN_BUTTON NSLocalizedStringFromTable(@"login.button",@"Localizable",@"")
29
+ EOS
30
+ assert File.exist?("Babelish.h")
31
+ result = File.read("Babelish.h")
32
+ assert_equal expected_output, result
33
+ # clean up
34
+ system("rm -f ./Babelish.h")
35
+ end
36
+
37
+ def test_write_macros_process
38
+ keys = ["login.title", "login.button"]
39
+ table = "Localizable"
40
+ macros = Babelish::XcodeMacros.new
41
+ macros.process(table, keys)
42
+ macros.write_content("Babelish.h")
43
+ expected_output = String.new(<<-EOS)
44
+ //
45
+ // Babelish.h
46
+ //
47
+ // This file was generated by Babelish
48
+ //
49
+ // https://github.com/netbe/babelish
50
+ //
51
+ #define LS_LOGIN_TITLE NSLocalizedStringFromTable(@"login.title",@"Localizable",@"")
52
+ #define LS_LOGIN_BUTTON NSLocalizedStringFromTable(@"login.button",@"Localizable",@"")
53
+ EOS
54
+ assert File.exist?("Babelish.h")
55
+ result = File.read("Babelish.h")
56
+ assert_equal expected_output, result
57
+ # clean up
58
+ system("rm -f ./Babelish.h")
59
+ end
60
+
61
+ def test_write_macros_process_with_special_characters
62
+ keys = ["%d blabla", "login!", "HEY!!"]
63
+ table = "Localizable"
64
+ macros = Babelish::XcodeMacros.new
65
+ macros.process(table, keys)
66
+ macros.write_content("Babelish.h")
67
+ expected_output = String.new(<<-EOS)
68
+ //
69
+ // Babelish.h
70
+ //
71
+ // This file was generated by Babelish
72
+ //
73
+ // https://github.com/netbe/babelish
74
+ //
75
+ #define LS_DBLABLA NSLocalizedStringFromTable(@"%d blabla",@"Localizable",@"")
76
+ #define LS_LOGIN NSLocalizedStringFromTable(@"login!",@"Localizable",@"")
77
+ #define LS_HEY NSLocalizedStringFromTable(@"HEY!!",@"Localizable",@"")
78
+ EOS
79
+ assert File.exist?("Babelish.h")
80
+ result = File.read("Babelish.h")
81
+ assert_equal expected_output, result
82
+ # clean up
83
+ system("rm -f ./Babelish.h")
84
+ end
85
+
86
+ def test_write_macros_with_comments_process
87
+ keys = ["login.title", "login.button"]
88
+ table = "Localizable"
89
+ comments = {"login.title" => "this is the login screen title", "login.button" => nil}
90
+ macros = Babelish::XcodeMacros.new
91
+ macros.process(table, keys, comments)
92
+ macros.write_content("Babelish.h")
93
+ expected_output = String.new(<<-EOS)
94
+ //
95
+ // Babelish.h
96
+ //
97
+ // This file was generated by Babelish
98
+ //
99
+ // https://github.com/netbe/babelish
100
+ //
101
+ #define LS_LOGIN_TITLE NSLocalizedStringFromTable(@"login.title",@"Localizable",@"this is the login screen title")
102
+ #define LS_LOGIN_BUTTON NSLocalizedStringFromTable(@"login.button",@"Localizable",@"")
103
+ EOS
104
+ assert File.exist?("Babelish.h")
105
+ result = File.read("Babelish.h")
106
+ assert_equal expected_output, result
107
+ # clean up
108
+ system("rm -f ./Babelish.h")
109
+ end
110
+
111
+
112
+ end
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <resources>
3
+
4
+ <string name="app_name">android2csv</string>
5
+ <string name="action_greetings">Hello</string>
6
+ <string name="ANOTHER_STRING">testEN</string>
7
+ <string name="empty"></string>
8
+
9
+ </resources>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <resources>
3
+
4
+ <string name="app_name">android2csv</string>
5
+ <string name="action_greetings">Bonjour</string>
6
+ <string name="ANOTHER_STRING">testFR</string>
7
+ <string name="empty"></string>
8
+
9
+ </resources>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <resources>
3
+
4
+ <string name="app_name">android2csv</string>
5
+ <string name="action_greetings">Hello</string>
6
+ <string name="ANOTHER_STRING">testEN</string>
7
+ <string name="empty"></string>
8
+
9
+ </resources>
@@ -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 &lt;b&gt;%2$d new messages&lt;/b&gt;."
7
+ ANOTHER_STRING,"text <b>with</b> html and \' special # chars ` ´ !""§$%/()==?{[]}"
8
+ title,"Title of &lt;a href=""asd""&gt;File&lt;/a&gt;"
@@ -0,0 +1,12 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <resources>
3
+
4
+ <string name="good_example_1">This\'ll work</string>
5
+ <string name="good_example_2">This is a \"good string\".</string>
6
+ <string name="good_example_3">"This'll also work"</string>
7
+ <string name="welcome_messages_1">Hello, %1$s! You have %2$d new messages.</string>
8
+ <string name="welcome_messages_2">Hello, %1$s! You have &lt;b>%2$d new messages&lt;/b>.</string>
9
+ <string name="ANOTHER_STRING">text <b>with</b> html and \' special # chars ` ´ !"§$%/()==?{[]}</string>
10
+ <string name="title">Title of &lt;a href="asd">File&lt;/a></string>
11
+
12
+ </resources>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <resources>
3
+ <string name="good_example_1">This\'ll work</string>
4
+ <string name="good_example_2">This is a \"good string\".</string>
5
+ <string name="good_example_3">"This'll also work"</string>
6
+ <string name="welcome_messages_1">Hello, %1$s! You have %2$d new messages.</string>
7
+ <string name="welcome_messages_2">Hello, %1$s! You have &lt;b&gt;%2$d new messages&lt;/b&gt;.</string>
8
+ <string name="ANOTHER_STRING">text <b>with</b> html and \' special # chars ` ´ !\"§$%/()==?{[]}</string>
9
+ <string name="title">Title of &lt;a href=\"asd\"&gt;File&lt;/a&gt;</string>
10
+ </resources>
Binary file
@@ -0,0 +1,6 @@
1
+ {
2
+ "app_name": "json2csv",
3
+ "action_greetings": "hello",
4
+ "ANOTHER_STRING": "testEN",
5
+ "empty": ""
6
+ }
@@ -0,0 +1,8 @@
1
+ <?php
2
+
3
+ $lang['app_name'] = "php2csv";
4
+ $lang['action_greetings'] = "Hello";
5
+ $lang['ANOTHER_STRING'] = "testEN";
6
+ $lang['empty'] = "";
7
+
8
+ ?>
@@ -0,0 +1,2 @@
1
+ /* this is a comment */
2
+ "MY_CONSTANT" = "This 'is' ok";
@@ -0,0 +1,3 @@
1
+ variables,English
2
+ ERROR_HANDLER_WARNING_DISMISS,OK
3
+ ANOTHER_STRING,hello
@@ -0,0 +1,2 @@
1
+ "ERROR_HANDLER_WARNING_DISMISS" = "OK";
2
+ "ANOTHER_STRING" = "hello";
@@ -0,0 +1,6 @@
1
+
2
+ /* this is a greeting string */
3
+ "GREETINGS" = "Salut";
4
+
5
+ /* this is another example */
6
+ "ANOTHER_STRING" = "testEN";
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <resources>
3
+
4
+ <!-- this is a greeting string -->
5
+ <string name="GREETINGS">Salut</string>
6
+
7
+ <!-- this is another example -->
8
+ <string name="ANOTHER_STRING">testEN</string>
9
+ </resources>
@@ -0,0 +1,3 @@
1
+ variables,English,German,French,Spanish
2
+ GREETINGS,Hello,Hallo,Salut,Buenos dias
3
+ ANOTHER_STRING,testEN,,,
@@ -0,0 +1,3 @@
1
+ variables,English,German,French,Spanish,Comments
2
+ GREETINGS,Hello,Hallo,Salut,Buenos dias,this is a greeting string
3
+ ANOTHER_STRING,testEN,,,,this is another example
@@ -0,0 +1,3 @@
1
+ variables,English
2
+ GREETINGS,hello_%@
3
+ ANOTHER_STRING,hello
@@ -0,0 +1,4 @@
1
+ variables,English
2
+ GREETINGS,you have %d points
3
+ ANOTHER_STRING,this is a string with 10% of juice
4
+ ANOTHER_EXAMPLE,tu as fait 10% d'efforts
@@ -0,0 +1,3 @@
1
+ variables;English
2
+ ERROR_HANDLER_WARNING_DISMISS;OK
3
+ ANOTHER_STRING;hello
@@ -0,0 +1,3 @@
1
+ variables,English
2
+ GREETINGS ,hello
3
+ ANOTHER_STRING, my other string with space at begin
@@ -0,0 +1,2 @@
1
+ "GREETINGS" = "Hello";
2
+ "ANOTHER_STRING" = "testEN";
@@ -0,0 +1,2 @@
1
+ "GREETINGS" = "Bonjour";
2
+ "ANOTHER_STRING" = "testFR";
@@ -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
@@ -0,0 +1,3 @@
1
+ Variables,test/data/test_with_nil.strings
2
+ GREETINGS,Hello
3
+ ANOTHER_STRING,testEN
@@ -0,0 +1,4 @@
1
+ "GREETINGS" = "Hello";
2
+
3
+ "ANOTHER_STRING" = "testEN";
4
+
@@ -0,0 +1,7 @@
1
+ /*
2
+ Localized.strings
3
+ testLocalization
4
+
5
+ Created by François Benaiteau on 14/04/14.
6
+ Copyright (c) 2014 SinnerSchrader Mobile. All rights reserved.
7
+ */
@@ -0,0 +1,17 @@
1
+ begin
2
+ require 'simplecov'
3
+ require 'coveralls'
4
+
5
+ SimpleCov.formatter = Coveralls::SimpleCov::Formatter
6
+ SimpleCov.start do
7
+ add_filter '/test/'
8
+ end
9
+ rescue LoadError
10
+ puts 'Coverage disabled, enable by installing simplecov'
11
+ end
12
+
13
+ require 'test/unit'
14
+
15
+ require 'babelish'
16
+
17
+ require "babelish/commandline"
metadata ADDED
@@ -0,0 +1,311 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: babelish_rnc
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0.pre
5
+ platform: ruby
6
+ authors:
7
+ - François Benaiteau
8
+ - Markus Paeschke
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2018-04-17 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: thor
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: google_drive
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 2.1.7
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: 2.1.7
42
+ - !ruby/object:Gem::Dependency
43
+ name: nokogiri
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: highline
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rack
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - '='
75
+ - !ruby/object:Gem::Version
76
+ version: 1.6.4
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - '='
82
+ - !ruby/object:Gem::Version
83
+ version: 1.6.4
84
+ - !ruby/object:Gem::Dependency
85
+ name: json
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :runtime
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: rake
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: test-unit
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: simplecov
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: yard
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ description: |-
155
+ This set of commands converts a CSV file to the following formats:
156
+ - .strings (iOS)
157
+ - .xml (Android)
158
+ - .json
159
+ - .php
160
+ email:
161
+ - francois.benaiteau@gmail.com
162
+ - markus.paeschke@gmail.com
163
+ executables:
164
+ - babelish_rnc
165
+ extensions: []
166
+ extra_rdoc_files: []
167
+ files:
168
+ - ".babelish.sample"
169
+ - ".gitignore"
170
+ - ".hound.yml"
171
+ - ".travis.yml"
172
+ - CONTRIBUTING.md
173
+ - Dockerfile
174
+ - Gemfile
175
+ - LICENSE.txt
176
+ - README.md
177
+ - Rakefile
178
+ - babelish.gemspec
179
+ - babelish_rnc.gemspec
180
+ - bin/babelish_rnc
181
+ - lib/babelish_rnc.rb
182
+ - lib/babelish_rnc/android2csv.rb
183
+ - lib/babelish_rnc/base2csv.rb
184
+ - lib/babelish_rnc/commandline.rb
185
+ - lib/babelish_rnc/csv2android.rb
186
+ - lib/babelish_rnc/csv2base.rb
187
+ - lib/babelish_rnc/csv2json.rb
188
+ - lib/babelish_rnc/csv2php.rb
189
+ - lib/babelish_rnc/csv2strings.rb
190
+ - lib/babelish_rnc/google_doc.rb
191
+ - lib/babelish_rnc/json2csv.rb
192
+ - lib/babelish_rnc/language.rb
193
+ - lib/babelish_rnc/php2csv.rb
194
+ - lib/babelish_rnc/strings2csv.rb
195
+ - lib/babelish_rnc/version.rb
196
+ - lib/babelish_rnc/xcode_macros.rb
197
+ - test/babelish_rnc/commands/test_command_android2csv.rb
198
+ - test/babelish_rnc/commands/test_command_csv2android.rb
199
+ - test/babelish_rnc/commands/test_command_csv2strings.rb
200
+ - test/babelish_rnc/commands/test_command_strings2csv.rb
201
+ - test/babelish_rnc/test_android2csv.rb
202
+ - test/babelish_rnc/test_base2csv.rb
203
+ - test/babelish_rnc/test_bins.rb
204
+ - test/babelish_rnc/test_commandline.rb
205
+ - test/babelish_rnc/test_csv2android.rb
206
+ - test/babelish_rnc/test_csv2base.rb
207
+ - test/babelish_rnc/test_csv2json.rb
208
+ - test/babelish_rnc/test_csv2php.rb
209
+ - test/babelish_rnc/test_csv2strings.rb
210
+ - test/babelish_rnc/test_json2csv.rb
211
+ - test/babelish_rnc/test_php2csv.rb
212
+ - test/babelish_rnc/test_strings2csv.rb
213
+ - test/babelish_rnc/test_xcode_macros.rb
214
+ - test/data/android-en.xml
215
+ - test/data/android-fr.xml
216
+ - test/data/android.xml
217
+ - test/data/android_special_chars.csv
218
+ - test/data/android_special_chars.xml
219
+ - test/data/android_special_chars_test_result.xml
220
+ - test/data/genstrings.strings
221
+ - test/data/json.json
222
+ - test/data/php_lang.php
223
+ - test/data/test_comments.strings
224
+ - test/data/test_data.csv
225
+ - test/data/test_data.strings
226
+ - test/data/test_data_fr_with_comments.strings
227
+ - test/data/test_data_fr_with_comments.xml
228
+ - test/data/test_data_multiple_langs.csv
229
+ - test/data/test_data_with_comments.csv
230
+ - test/data/test_data_with_percent.csv
231
+ - test/data/test_data_with_percent_space.csv
232
+ - test/data/test_data_with_semicolon.csv
233
+ - test/data/test_data_with_spaces.csv
234
+ - test/data/test_en.strings
235
+ - test/data/test_fr.strings
236
+ - test/data/test_space.strings
237
+ - test/data/test_utf16.strings
238
+ - test/data/test_with_nil.csv
239
+ - test/data/test_with_nil.strings
240
+ - test/data/xcode_empty.strings
241
+ - test/test_helper.rb
242
+ homepage: https://github.com/rbrovko/babelish_rnc
243
+ licenses:
244
+ - MIT
245
+ metadata: {}
246
+ post_install_message:
247
+ rdoc_options: []
248
+ require_paths:
249
+ - lib
250
+ required_ruby_version: !ruby/object:Gem::Requirement
251
+ requirements:
252
+ - - ">="
253
+ - !ruby/object:Gem::Version
254
+ version: '0'
255
+ required_rubygems_version: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - ">"
258
+ - !ruby/object:Gem::Version
259
+ version: 1.3.1
260
+ requirements: []
261
+ rubyforge_project:
262
+ rubygems_version: 2.6.14
263
+ signing_key:
264
+ specification_version: 4
265
+ summary: CSV converter for localization files
266
+ test_files:
267
+ - test/babelish_rnc/commands/test_command_android2csv.rb
268
+ - test/babelish_rnc/commands/test_command_csv2android.rb
269
+ - test/babelish_rnc/commands/test_command_csv2strings.rb
270
+ - test/babelish_rnc/commands/test_command_strings2csv.rb
271
+ - test/babelish_rnc/test_android2csv.rb
272
+ - test/babelish_rnc/test_base2csv.rb
273
+ - test/babelish_rnc/test_bins.rb
274
+ - test/babelish_rnc/test_commandline.rb
275
+ - test/babelish_rnc/test_csv2android.rb
276
+ - test/babelish_rnc/test_csv2base.rb
277
+ - test/babelish_rnc/test_csv2json.rb
278
+ - test/babelish_rnc/test_csv2php.rb
279
+ - test/babelish_rnc/test_csv2strings.rb
280
+ - test/babelish_rnc/test_json2csv.rb
281
+ - test/babelish_rnc/test_php2csv.rb
282
+ - test/babelish_rnc/test_strings2csv.rb
283
+ - test/babelish_rnc/test_xcode_macros.rb
284
+ - test/data/android-en.xml
285
+ - test/data/android-fr.xml
286
+ - test/data/android.xml
287
+ - test/data/android_special_chars.csv
288
+ - test/data/android_special_chars.xml
289
+ - test/data/android_special_chars_test_result.xml
290
+ - test/data/genstrings.strings
291
+ - test/data/json.json
292
+ - test/data/php_lang.php
293
+ - test/data/test_comments.strings
294
+ - test/data/test_data.csv
295
+ - test/data/test_data.strings
296
+ - test/data/test_data_fr_with_comments.strings
297
+ - test/data/test_data_fr_with_comments.xml
298
+ - test/data/test_data_multiple_langs.csv
299
+ - test/data/test_data_with_comments.csv
300
+ - test/data/test_data_with_percent.csv
301
+ - test/data/test_data_with_percent_space.csv
302
+ - test/data/test_data_with_semicolon.csv
303
+ - test/data/test_data_with_spaces.csv
304
+ - test/data/test_en.strings
305
+ - test/data/test_fr.strings
306
+ - test/data/test_space.strings
307
+ - test/data/test_utf16.strings
308
+ - test/data/test_with_nil.csv
309
+ - test/data/test_with_nil.strings
310
+ - test/data/xcode_empty.strings
311
+ - test/test_helper.rb