mirror of
https://github.com/kemko/liquid.git
synced 2026-01-01 15:55:40 +03:00
Change interpolation syntax to %{key}
This commit is contained in:
@@ -24,10 +24,10 @@ module Liquid
|
||||
|
||||
private
|
||||
def interpolate(name, vars)
|
||||
name.gsub(/([^\\]):(\w+)/) {
|
||||
raise TranslationError, translate("errors.i18n.undefined_interpolation", :key => $1, :name => name) unless vars[$2.to_sym]
|
||||
"#{$1}#{vars[$2.to_sym]}"
|
||||
}.gsub("\\:", ":")
|
||||
name.gsub(/%{(\w+)}/) {
|
||||
raise TranslationError, translate("errors.i18n.undefined_interpolation", :key => $1, :name => name) unless vars[$1.to_sym]
|
||||
"#{vars[$1.to_sym]}"
|
||||
}
|
||||
end
|
||||
|
||||
def deep_fetch_translation(name)
|
||||
|
||||
6
test/fixtures/en_locale.yml
vendored
6
test/fixtures/en_locale.yml
vendored
@@ -1,9 +1,9 @@
|
||||
---
|
||||
simple: "less is more"
|
||||
whatever: "something :something"
|
||||
whatever: "something %{something}"
|
||||
errors:
|
||||
i18n:
|
||||
undefined_interpolation: "undefined key :key"
|
||||
unknown_translation: "translation ':name' wasn't found"
|
||||
undefined_interpolation: "undefined key %{key}"
|
||||
unknown_translation: "translation '%{name}' wasn't found"
|
||||
syntax:
|
||||
oops: "something wasn't right"
|
||||
|
||||
@@ -34,12 +34,4 @@ class I18nTest < Test::Unit::TestCase
|
||||
def test_sets_default_path_to_en
|
||||
assert_equal I18n::DEFAULT_LOCALE, I18n.new.path
|
||||
end
|
||||
|
||||
def test_escaping_of_symbols
|
||||
assert_equal "do replaced! not :gsub", @i18n.send(:interpolate,
|
||||
'do :replace not \\:gsub',
|
||||
{
|
||||
:replace => "replaced!"
|
||||
})
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user