Skip to content

Commit

Permalink
update activesupport/vendor i18n gem
Browse files Browse the repository at this point in the history
  • Loading branch information
Sven Fuchs committed Aug 13, 2008
1 parent aae9f91 commit 78677cf
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
10 changes: 8 additions & 2 deletions activesupport/lib/active_support/vendor/i18n-0.0.1/i18n.rb
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,14 @@ def populate(&block)
backend.populate(&block)
end

def load_translations(filename)
backend.load_translations filename
# Allows client libraries to pass arguments that specify a source for
# translation data to be loaded by the backend. The backend defines
# acceptable sources.
# E.g. the provided SimpleBackend accepts a list of paths to translation
# files which are either named *.rb and contain plain Ruby Hashes or are
# named *.yml and contain YAML data.)
def load_translations(*args)
backend.load_translations *args
end

# Stores translations for the given locale in the backend.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@ class << self
def populate(&block)
yield
end


# Accepts a list of paths to translation files. Loads translations from
# plain Ruby (*.rb) or YAML files (*.yml). See #load_rb and #load_yml
# for details.
def load_translations(*filenames)
filenames.each {|filename| load_file filename }
end
Expand Down Expand Up @@ -135,6 +138,10 @@ def interpolate(locale, string, values = {})
s.string
end

# Loads a single translations file by delegating to #load_rb or
# #load_yml depending on the file extension and directly merges the
# data to the existing translations. Raises I18n::UnknownFileType
# for all other file extensions.
def load_file(filename)
type = File.extname(filename).tr('.', '').downcase
raise UnknownFileType.new(type, filename) unless respond_to? :"load_#{type}"
Expand All @@ -144,10 +151,14 @@ def load_file(filename)
end
end

# Loads a plain Ruby translations file. eval'ing the file must yield
# a Hash containing translation data with locales as toplevel keys.
def load_rb(filename)
eval IO.read(filename), binding, filename
end

# Loads a YAML translations file. The data must have locales as
# toplevel keys.
def load_yml(filename)
YAML::load IO.read(filename)
end
Expand Down

0 comments on commit 78677cf

Please sign in to comment.