def read_strings_file(path)
      raise ArgumentError, "File '#{path}' doesn't exist" unless path.exist?
      raise ArgumentError, "File '#{path}' is not a file" unless path.file?
      error = `plutil -lint -s "#{path}" 2>&1`
      raise ArgumentError, "File %s is malformed:\n#{error}" % path.to_s unless $?.success?
      json_or_error = `plutil -convert json "#{path}" -o -`.chomp
      raise ArgumentError, "File %s couldn't be converted to JSON.\n#{json_or_error}" % path.to_s unless $?.success?
      JSON.parse(json_or_error.force_encoding('UTF-8'))
    rescue EncodingError => e
      raise StandardError, "Encoding error in #{path}: #{e}"
    end
def read_strings_file(path)
      raise ArgumentError, "File '#{path}' doesn't exist" unless path.exist?
      raise ArgumentError, "File '#{path}' is not a file" unless path.file?
      error = `plutil -lint -s "#{path}" 2>&1`
      raise ArgumentError, "File %s is malformed:\n#{error}" % path.to_s unless $?.success?
      json_or_error = `plutil -convert json "#{path}" -o -`.chomp
      raise ArgumentError, "File %s couldn't be converted to JSON.\n#{json_or_error}" % path.to_s unless $?.success?
      JSON.parse(json_or_error.force_encoding('UTF-8'))
    rescue EncodingError => e
      raise StandardError, "Encoding error in #{path}: #{e}"
    end
Read a .strings file given as a path

 @param [Pathname] path
        the path of the strings file

 @return [Hash]