class Pseudolocalization::I18n::Pseudolocalizer

Constants

ESCAPED_REGEX
LETTERS
VOWELS

Public Class Methods

pseudolocalize(object) click to toggle source
# File lib/pseudolocalization/pseudolocalizer.rb, line 72
def pseudolocalize(object)
  translate_object(object)
end

Private Class Methods

translate_object(object) click to toggle source
# File lib/pseudolocalization/pseudolocalizer.rb, line 78
def translate_object(object)
  if object.is_a?(Hash)
    object.transform_values { |value| translate_object(value) }
  elsif object.is_a?(Array)
    object.map { |value| translate_object(value) }
  elsif object.is_a?(String)
    translate_string(object)
  else
    object
  end
end
translate_string(string) click to toggle source
# File lib/pseudolocalization/pseudolocalizer.rb, line 90
def translate_string(string)

  string.split(ESCAPED_REGEX).map do |part|
    if part =~ ESCAPED_REGEX
      part
    else
      part.chars.map do |char|
        if LETTERS.key?(char)
          value = LETTERS[char]
          value = value * 2 if VOWELS.include?(char)
          value
        else
          char
        end
      end.join
    end
  end.join
end