<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>lib/i18n/string.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -7,6 +7,7 @@
 # License::   MIT
 require 'i18n/backend/simple'
 require 'i18n/exceptions'
+require 'i18n/string'
 
 module I18n
   @@backend = nil</diff>
      <filename>lib/i18n.rb</filename>
    </modified>
    <modified>
      <diff>@@ -33,7 +33,7 @@ module I18n
 
         raise(I18n::MissingTranslationData.new(locale, key, options)) if entry.nil?
         entry = pluralize(locale, entry, count)
-        entry = interpolate(locale, entry, values)
+        entry = interpolate(locale, entry, values) if values.size &gt; 0
         entry
       end
 
@@ -170,11 +170,11 @@ module I18n
             elsif RESERVED_KEYS.include?(key)
               raise ReservedInterpolationKey.new(key, string)
             elsif !values.include?(key)
-              raise MissingInterpolationArgument.new(key, string)
+              &quot;{{#{key}}}&quot;
             else
               values[key].to_s
             end
-          end
+          end % values
         end
 
         # Loads a single translations file by delegating to #load_rb or</diff>
      <filename>lib/i18n/backend/simple.rb</filename>
    </modified>
    <modified>
      <diff>@@ -8,6 +8,10 @@ class I18nSimpleBackendInterpolateTest &lt; Test::Unit::TestCase
     assert_equal 'Hi David!', @backend.send(:interpolate, nil, 'Hi {{name}}!', :name =&gt; 'David')
   end
 
+  def test_interpolate_with_ruby_1_9_syntax
+    assert_equal 'Hi David!', @backend.send(:interpolate, nil, 'Hi %{name}!', :name =&gt; 'David')
+  end
+
   def test_interpolate_given_a_value_hash_interpolates_into_unicode_string
     assert_equal 'H&#228;i David!', @backend.send(:interpolate, nil, 'H&#228;i {{name}}!', :name =&gt; 'David')
   end
@@ -50,8 +54,8 @@ class I18nSimpleBackendInterpolateTest &lt; Test::Unit::TestCase
     assert_equal 'Hi !', @backend.send(:interpolate, nil, 'Hi {{name}}!', {:name =&gt; nil})
   end
 
-  def test_interpolate_given_an_empty_values_hash_raises_missing_interpolation_argument
-    assert_raises(I18n::MissingInterpolationArgument) { @backend.send(:interpolate, nil, 'Hi {{name}}!', {}) }
+  def test_interpolate_given_an_empty_values_hash
+    assert_equal 'Hi {{name}}!', @backend.send(:interpolate, nil, 'Hi {{name}}!', {})
   end
 
   def test_interpolate_given_a_string_containing_a_reserved_key_raises_reserved_interpolation_key</diff>
      <filename>test/backend/simple/interpolate_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>01b640efc3adf168ef651b98dba39345d5a06743</id>
    </parent>
  </parents>
  <author>
    <name>Lawrence Pit</name>
    <email>lawrence.pit@gmail.com</email>
  </author>
  <url>http://github.com/svenfuchs/i18n/commit/c6e0b06d512f2af57199a843a1d8a40241b32861</url>
  <id>c6e0b06d512f2af57199a843a1d8a40241b32861</id>
  <committed-date>2009-06-30T15:07:52-07:00</committed-date>
  <authored-date>2009-06-21T00:27:29-07:00</authored-date>
  <message>Using ruby 1.9 syntax for string interpolation.</message>
  <tree>88a6fba5673c21ce92bad7b31a258d13c7d519cf</tree>
  <committer>
    <name>Sven Fuchs</name>
    <email>svenfuchs@artweb-design.de</email>
  </committer>
</commit>
