Comparison tool for rails locales.
Pass in dotation paths for interesting yaml parts and this tool will travsere through all locales looking for matches, printing the found value for each locale if a match is found.
Example usage
$ bin/locales-compare thing.fields.type.options.{foo,bar,baz}.{label,help}
thing.fields.thing_type.options.foo.label
dk  "Ståldør"
en  "Pedestrain Door"
nb  "Ståldør"
sv  "Ståldörr"
thing.fields.thing_type.options.foo.help
dk  "Bredde"
en  "Width"
nb  "Bredde"
sv  "Bredd"
thing.fields.thing_type.options.bar.label
dk  "Svingport"
en  "Framed Hinged Door"
nb  "Slagport"
sv  "Slagport"
...bin/locales-compare
#!/usr/bin/env ruby
require "pathname"
ENV["BUNDLE_GEMFILE"] ||= File.expand_path("../../Gemfile",
  Pathname.new(__FILE__).realpath)
require "rubygems"
require "bundler/setup"
require "colorize"
require "yaml"
require "pp"
all_locales = {}
Dir["config/locales/**/*.yml"].each do |filename|
  *parts, locale = File.basename(filename).split(".")[0..-2]
  name = parts.join(".")
  all_locales[name] ||= {}
  all_locales[name][locale] =
    YAML.safe_load(File.read(filename), [], [], true)[locale]
end
ARGV.each do |yaml_search_path|
  all_matches = []
  all_locales.each do |_name, locales|
    matches = {}
    locales.each do |locale, yaml|
      next unless yaml
      match = yaml.dig(*yaml_search_path.split("."))
      matches[locale] = match if match
    end
    all_matches << matches
  end
  next if all_matches.empty?
  puts yaml_search_path.red
  all_matches.each do |matches|
    matches.each do |locale, match|
      puts "#{locale.yellow}  #{match.pretty_inspect}".chomp
    end
  end
endIf you don't want to add colorize as a dependency then you could implement String#red like this and avoid loading bundler etc:
class String
  def colorize(color_code)
    "\e[#{color_code}m#{self}\e[0m"
  end
  def red
    colorize(31)
  end
  def green
    colorize(32)
  end
  def yellow
    colorize(33)
  end
  def blue
    colorize(34)
  end
  def pink
    colorize(35)
  end
  def light_blue
    colorize(36)
  end
end