babelish_rnc 1.0.0.pre

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.
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