adding jed1.x

I don't actually know that much about Jed format, but this was a quick-and-dirty way to make it work.  I imagine you'll want to clean it up.  There's one thing I'm not sure about, which I commented on below.
So, I'm looking at the tests, and I'm really confused about this:

    it("should choose the correct pluralization translation", function () {
          expect( i18n.ngettext('test plural %1$d', 'test plural %1$d', 1) ).to.be( 'test_1_singular %1$d' );
          expect( i18n.ngettext('test plural %1$d', 'test plural %1$d', 2) ).to.be( 'test_1_plural %1$d' );
          expect( i18n.ngettext('test plural %1$d', 'test plural %1$d', 0) ).to.be( 'test_1_plural %1$d' );
        });

        it("should still pass through on plurals", function () {
          expect(i18n.ngettext('Not translated', 'Not translated plural', 1) ).to.be( 'Not translated' );
          expect(i18n.ngettext('Not translated', 'Not translated plural', 2) ).to.be( 'Not translated plural' );
          expect(i18n.ngettext('Not translated', 'Not translated plural', 0) ).to.be( 'Not translated plural' );
          expect(i18n_2.ngettext('Not translated', 'Not translated plural', 3) ).to.be( 'Not translated plural' );
        });

It looks like if you know the translation is there, you're supposed to pass in the plural key to ngettext for both the singular and plural forms, but if you know the translation isn't there, you're supposed to pass in a singular key and a plural key.  

In order for this to work in the real world, it means that you're going to have to have both a translated singular key and a plural key that has a singular translation that never gets used.  Am I wrong about that?  Here's an example of what I think the data has to look like to work properly:

    {
        "shirt" : ["camisa"]
        "shirts" : ["camisa", "camisas"]
    }

If you only have the plural key, this will fail if there's a missing translation:

    i18n.ngettext("shirts", "shirts", 1) // -> "shirts"

And since there's no ```"shirt"``` key, you can't do this:

    i18n.ngettext("shirt", "shirts", 1) // -> translation_exists ? "shirt" (but should be "camisa") : "shirt"
    i18n.ngettext("shirts", "shirts", 2) // -> translation_exists ? "camisas" : "shirts"

Which, of course, will fallback fine if the translation is missing.  Am **I** missing something?