Class: R18n::Untranslated

Inherits:
Object
  • Object
show all
Defined in:
lib/r18n-core/untranslated.rb

Overview

Return if translation isn’t exists. Unlike nil, it didn’t raise error when you try to access for subtranslations.

You can set format to print untranslated string by filters. For example: Disable standart output:

R18n::Filters.off(:untranslated)

For development environment:

R18n::Filters.add(R18n::Untranslated, :untranslated_html) do
  |content, config, translated_path, untranslated_path, path|
  "#{translated_path}<span style='color: red'>#{untranslated_path}</span>"
end

For production environment:

R18n::Filters.add(R18n::Untranslated, :hide_untranslated) { '' }

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(translated_path, untranslated_path, locale, filters) ⇒ Untranslated

Returns a new instance of Untranslated.



49
50
51
52
53
54
# File 'lib/r18n-core/untranslated.rb', line 49

def initialize(translated_path, untranslated_path, locale, filters)
  @translated_path   = translated_path
  @untranslated_path = untranslated_path
  @locale            = locale
  @filters           = filters
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(*params) ⇒ Object



65
66
67
# File 'lib/r18n-core/untranslated.rb', line 65

def method_missing(*params)
  self[params.first]
end

Instance Attribute Details

#translated_pathObject (readonly)

Path, that exists in translation.



47
48
49
# File 'lib/r18n-core/untranslated.rb', line 47

def translated_path
  @translated_path
end

#untranslated_pathObject (readonly)

Path, that isn’t in translation.



44
45
46
# File 'lib/r18n-core/untranslated.rb', line 44

def untranslated_path
  @untranslated_path
end

Instance Method Details

#[](*params) ⇒ Object



69
70
71
72
# File 'lib/r18n-core/untranslated.rb', line 69

def [](*params)
  Untranslated.new(translated_path, "#{@untranslated_path}.#{params.first}",
                   @locale, @filters)
end

#pathObject

Path to translation.



57
58
59
# File 'lib/r18n-core/untranslated.rb', line 57

def path
  "#{@translated_path}#{@untranslated_path}"
end

#to_sObject Also known as: to_str



78
79
80
81
# File 'lib/r18n-core/untranslated.rb', line 78

def to_s
  @filters.process(:all, Untranslated, path, @locale, path,
                  [@translated_path, @untranslated_path, path])
end

#translated?Boolean

Returns:

  • (Boolean)


61
62
63
# File 'lib/r18n-core/untranslated.rb', line 61

def translated?
  false
end

#|(default) ⇒ Object



74
75
76
# File 'lib/r18n-core/untranslated.rb', line 74

def |(default)
  default
end