Add i18n

I've tested these changes against a local backend and adjusted the sample store to work with it.

@romanb @gogregor Please review.