Type-safe internationalization in TypeScript

I love TypeScript.

Some code

let x = f();
x += 1;

Faucibus in ornare quam viverra orci sagittis eu. Amet aliquam id diam maecenas ultricies mi. Scelerisque eu ultrices vitae auctor eu augue ut. Eu tincidunt tortor aliquam nulla facilisi cras. Venenatis cras sed felis eget velit aliquet sagittis id. Nec feugiat nisl pretium fusce. Sagittis nisl rhoncus mattis rhoncus urna neque viverra justo. Tempor commodo ullamcorper a lacus. Sapien eget mi proin sed libero. Nisl suscipit adipiscing bibendum est ultricies integer quis.

Convallis convallis tellus id interdum velit. At urna condimentum mattis pellentesque id. Ullamcorper morbi tincidunt ornare massa. Risus quis varius quam quisque id diam vel quam. Est lorem ipsum dolor sit amet consectetur adipiscing elit. Ligula ullamcorper malesuada proin libero. Ac placerat vestibulum lectus mauris ultrices eros in cursus. Gravida arcu ac tortor dignissim convallis. Sed enim ut sem viverra aliquet. Neque gravida in fermentum et sollicitudin ac orci phasellus. Velit sed ullamcorper morbi tincidunt ornare massa eget egestas. Dictum sit amet justo donec enim diam vulputate. Sem nulla pharetra diam sit amet nisl suscipit adipiscing bibendum. Vitae auctor eu augue ut lectus. Malesuada fames ac turpis egestas maecenas pharetra convallis posuere. Amet porttitor eget dolor morbi non arcu.

Mi quis hendrerit dolor magna. Urna neque viverra justo nec ultrices dui sapien eget mi. Tincidunt id aliquet risus feugiat in ante metus. Sollicitudin tempor id eu nisl. Ultrices gravida dictum fusce ut placerat orci nulla pellentesque. Accumsan tortor posuere ac ut consequat semper viverra nam libero. Quam lacus suspendisse faucibus interdum posuere lorem. Dui id ornare arcu odio ut sem nulla pharetra diam. Tellus in hac habitasse platea dictumst. Euismod elementum nisi quis eleifend quam adipiscing.

Quam elementum pulvinar etiam non. Amet consectetur adipiscing elit duis tristique sollicitudin nibh sit. A condimentum vitae sapien pellentesque habitant morbi tristique. Aliquet nibh praesent tristique magna. Mattis ullamcorper velit sed ullamcorper morbi tincidunt ornare massa. Nunc sed velit dignissim sodales ut eu sem integer vitae. Amet nisl suscipit adipiscing bibendum est ultricies. Nunc consequat interdum varius sit amet mattis vulputate. Eleifend quam adipiscing vitae proin. Mauris in aliquam sem fringilla ut morbi tincidunt.