There's a few i18n JavaScript libraries in the wild right now, some much better than others, but none that satisfied all my needs. I've found this to be the case when developing in the browser and in node.js. I wanted a single library that I could use in both the client and server sides so I didn't have to keep switching syntax and styles etc. As this didn't already exist (as far as I could tell) I decided to create my own, and I give you int17.

int17 is a highly customizable i18n framework whose locale file structure was inspired by (and fully compatible with) that used by Google Chrome extensions, meaning you can already collaborate with others using online services like crowdin. The API is clean, simple and robust, while also being very forgiving. The last thing you need when learning another library is exactly how methods should be used, and I've put a lot of effort into creating the initial documentation to help with this. Here's a brief highlight of some of it's fantastic features:

  • Simple message fetching
  • Shared API between client and server-side code
  • Localize your HTML easily using special attributes
  • Easily juggle between multiple locale instances
  • Out-of-the-box support for Express

I've been using some of this functionality within some of my Chrome extensions and it's been a lot of fun making these concepts available to everyone. As this is the initial public release of int17, I'm expecting to find lots of bugs and hope that the JavaScript community can help make this something all developers can benefit from.

Download View Source