Method: Twine::Formatters::Android#determine_language_given_path

Defined in:
lib/twine/formatters/android.rb

#determine_language_given_path(path) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/twine/formatters/android.rb', line 26

def determine_language_given_path(path)
  path_arr = path.split(File::SEPARATOR)
  path_arr.each do |segment|
    if segment == 'values'
      return @twine_file.language_codes[0]
    else
      # The language is defined by a two-letter ISO 639-1 language code, optionally followed by a two letter ISO 3166-1-alpha-2 region code (preceded by lowercase "r").
      # see http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources
      match = /^values-([a-z]{2}(-r[a-z]{2})?)$/i.match(segment)

      return match[1].sub('-r', '-') if match
    end
  end

  return super
end