Skip to content

Instantly share code, notes, and snippets.

@aryondev
Last active September 4, 2018 11:25
Show Gist options
  • Save aryondev/3bcc4df552da8d0686c7bc3fe24ede5d to your computer and use it in GitHub Desktop.
Save aryondev/3bcc4df552da8d0686c7bc3fe24ede5d to your computer and use it in GitHub Desktop.

Revisions

  1. aryondev revised this gist Sep 4, 2018. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions test.rb
    Original file line number Diff line number Diff line change
    @@ -7,9 +7,9 @@

    parse_hash = lambda do |key, value|
    if value.is_a?(Hash)
    { key => value.map { |k,v| parse_hash(k,v) } }.reduce({}, &:merge)
    { key => value.map { |k,v| parse_hash.call(k,v) } }.reduce({}, &:merge)
    else
    { key => translator.translate(value) }
    { key => translator.translate(value, from: 'en', to: 'ru') }
    end
    end

  2. aryondev created this gist Sep 4, 2018.
    18 changes: 18 additions & 0 deletions test.rb
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,18 @@
    require 'json'
    require 'bing_translator'

    translator = BingTranslator.new('COGNITIVE_SUBSCRIPTION_KEY')
    content = File.read('content.json')
    json = JSON.parse(content)

    parse_hash = lambda do |key, value|
    if value.is_a?(Hash)
    { key => value.map { |k,v| parse_hash(k,v) } }.reduce({}, &:merge)
    else
    { key => translator.translate(value) }
    end
    end

    new_json = json.map do |key, value|
    new_json[key] = parse_hash.call(value)
    end.reduce({}, &:merge)