netbe / Babelish

Chaotically confused, like Babel

Home Page:http://netbe.github.io/Babelish

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

problem converting using cvs2strings

romk1n opened this issue · comments

commented

Hi, i am trying to get a header with all the macros for localization in our project.

  1. I took our localization strings and used babelish to create cvs file. by running babelish strings2csv -i Localizable.strings
  2. 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?

commented

@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

commented

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]