problem converting using cvs2strings
romk1n opened this issue · comments
Hi, i am trying to get a header with all the macros for localization in our project.
- I took our localization strings and used babelish to create cvs file. by running
babelish strings2csv -i Localizable.strings
- Without modifications i know want to make a conversation back using
babelish csv2strings -i translations.csv -L English:en
however i am getting the following error
babelish csv2strings -i translations.csv -L English:en
/usr/local/lib/ruby/gems/2.2.0/gems/babelish-0.5.0/lib/babelish/csv2base.rb:139:in `block (2 levels) in convert': undefined method `add_content_pair' for nil:NilClass (NoMethodError)
from /usr/local/lib/ruby/gems/2.2.0/gems/babelish-0.5.0/lib/babelish/csv2base.rb:113:in `times'
from /usr/local/lib/ruby/gems/2.2.0/gems/babelish-0.5.0/lib/babelish/csv2base.rb:113:in `block in convert'
from /usr/local/Cellar/ruby/2.2.3/lib/ruby/2.2.0/csv.rb:1739:in `each'
from /usr/local/Cellar/ruby/2.2.3/lib/ruby/2.2.0/csv.rb:1122:in `block in foreach'
from /usr/local/Cellar/ruby/2.2.3/lib/ruby/2.2.0/csv.rb:1273:in `open'
from /usr/local/Cellar/ruby/2.2.3/lib/ruby/2.2.0/csv.rb:1121:in `foreach'
from /usr/local/lib/ruby/gems/2.2.0/gems/babelish-0.5.0/lib/babelish/csv2base.rb:102:in `convert'
from /usr/local/lib/ruby/gems/2.2.0/gems/babelish-0.5.0/lib/babelish/commandline.rb:153:in `block in csv2base'
from /usr/local/lib/ruby/gems/2.2.0/gems/babelish-0.5.0/lib/babelish/commandline.rb:145:in `each'
from /usr/local/lib/ruby/gems/2.2.0/gems/babelish-0.5.0/lib/babelish/commandline.rb:145:in `each_with_index'
from /usr/local/lib/ruby/gems/2.2.0/gems/babelish-0.5.0/lib/babelish/commandline.rb:145:in `csv2base'
from /usr/local/lib/ruby/gems/2.2.0/gems/babelish-0.5.0/lib/babelish/commandline.rb:37:in `block (2 levels) in <class:Commandline>'
from /usr/local/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
from /usr/local/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
from /usr/local/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
from /usr/local/lib/ruby/gems/2.2.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
from /usr/local/lib/ruby/gems/2.2.0/gems/babelish-0.5.0/bin/babelish:6:in `<top (required)>'
from /usr/local/bin/babelish:23:in `load'
from /usr/local/bin/babelish:23:in `<main>'
Could you post the Localizable.strings that you had?
@netbe sorry for the late response. for security reason's i cannot paste the hole .csv
but here the snippet
Variables,Localizable.strings
%ld minutes ago,%ld minutes ago,Text displaying number of minutes ago
%ld months ago,%ld months ago,Text displaying number of months ago
%ld seconds ago,%ld seconds ago,Text displaying number of seconds ago
%ld weeks ago,%ld weeks ago,Text displaying number of weeks ago
%ld years ago,%ld years ago,Text displaying number of years ago
if i delete the top line, i don't get an error but output is 0 files
also if that helps i have ruby version
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
@romk1n the resulting Localizable.strings is wrong missing the Comments
in header I guess.
Quick fix : Change the translations.csv file header by Variables,English,Comments
I am going to look at the generation strings2csv
Fixed in 0.5.1
Traceback (most recent call last):
14: from C:/Ruby25-x64/bin/babelish:23:in <main>' 13: from C:/Ruby25-x64/bin/babelish:23:in
load'
12: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/babelish-0.5.4/bin/babelish:6:in <top (required)>' 11: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/thor-0.20.3/lib/thor/base.rb:466:in
start'
10: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/thor-0.20.3/lib/thor.rb:387:in dispatch' 9: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/thor-0.20.3/lib/thor/invocation.rb:126:in
invoke_command'
8: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/thor-0.20.3/lib/thor/command.rb:27:in run' 7: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/babelish-0.5.4/lib/babelish/commandline.rb:38:in
block (2 levels) in class:Commandline'
6: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/babelish-0.5.4/lib/babelish/commandline.rb:150:in csv2base' 5: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/babelish-0.5.4/lib/babelish/commandline.rb:150:in
each_with_index'
4: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/babelish-0.5.4/lib/babelish/commandline.rb:150:in each' 3: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/babelish-0.5.4/lib/babelish/commandline.rb:157:in
block in csv2base'
2: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/babelish-0.5.4/lib/babelish/commandline.rb:157:in new' 1: from C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/babelish-0.5.4/lib/babelish/csv2android.rb:6:in
initialize'
C:/Ruby25-x64/lib/ruby/gems/2.5.0/gems/babelish-0.5.4/lib/babelish/csv2base.rb:26:in `initialize': wrong value of filename: nil (ArgumentError)
I have ruby 2.5.5p157 (2019-03-15 revision 67260) [x64-mingw32]