AngularJS Example:
HTML
<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css">
<div ng-app="myApp">
<header>
<h1>{{ 'HEADLINE' | translate:{value:"THIS ONE!"} }}</h1>
<h2 title="{{ 'HEADLINE' | translate:{value:'THIS ONE!'} }}">Hover me!</h2>
<h3>{{ 'SUB_HEADLINE' | translate }}</h3>
<p>By <a href="http://twitter.com/PascalPrecht">{{ 'AUTHOR_NAME' | translate }}</a> - <a href="http://github.com/PascalPrecht/ng-translate">{{ 'GITHUB_LINK_TEXT' | translate }}</a></p>
</header>
<section>
<h2>{{ 'GETTING_STARTED_HEADLINE' | translate }}</h2>
<br/>
<h3>{{ 'HEADLINE_FILTER' | translate}}</h3>
<p>{{ 'INFO_TEXT_TRANSLATE_FILTER' | translate }}</p>
<h5>{{ 'HEADLINE_USAGE' | translate}}</h5>
<pre><code ng-non-bindable><ANY>{{ 'TRANSLATION_ID' | translate }}</ANY></code></pre>
<h4>{{ 'HEADLINE_FILTER_DYN_VALUES' | translate }}</h4>
<p>{{ 'INFO_TEXT_TRANSLATE_FILTER_2' | translate }}</p>
<p>{{ 'INFO_TEXT_TRANSLATE_FILTER_3' | translate }}</p>
<pre><code ng-non-bindable>$translateProvider.translations({
'T_ID': 'Lorem ipsum {{value}}'
});</code></pre>
<p>{{ 'INFO_TEXT_TRANSLATE_FILTER_4' | translate }}</p>
<pre><code ng-non-bindable>// Passing values via string expression
<ANY>{{ 'TD_ID' | translate:'{"value": 3}' }}</ANY>
// Passing values via scope object
<ANY>{{ 'TD_ID' | translate:anyObjectOnScope }}</ANY>
</code></pre>
</section>
</div>
JavaScript
// Including ngTranslate
angular.module("ngTranslate",["ng"]).config(["$provide",function(n){$TranslateProvider=function(){var n,t={};this.translations=function(n,r){if(!n&&!r)return t;if(n&&!r){if(angular.isString(n))return t[n];t=n}else t[n]=r},this.uses=function(r){if(!r)return n;if(!t[r])throw Error("$translateProvider couldn't find translationTable for langKey: '"+r+"'");n=r},this.$get=["$interpolate","$log",function(r,a){return $translate=function(e,i){var l=n?t[n][e]:t[e];return l?r(l)(i):(a.warn("Translation for "+e+" doesn't exist"),e)}}]},n.provider("$translate",$TranslateProvider)}]),angular.module("ngTranslate").directive("translate",["$filter","$interpolate",function(n,t){var r=n("translate");return{restrict:"A",scope:!0,link:function(n,a,e){e.$observe("translate",function(r){n.translationId=angular.equals(r,"")?t(a.text())(n.$parent):r}),e.$observe("values",function(t){n.interpolateParams=t}),n.$watch("translationId + interpolateParams",function(){a.html(r(n.translationId,n.interpolateParams))})}}}]),angular.module("ngTranslate").filter("translate",["$parse","$translate",function(n,t){return function(r,a){return angular.isObject(a)||(a=n(a)()),t(r,a)}}]);
// Configuring your module, asking for ngTranslate as dependency
var app = angular.module('myApp', ['ngTranslate']);
// Configuring $translateProvider
app.config(['$translateProvider', function ($translateProvider) {
// Simply register translation table as object hash
$translateProvider.translations({
'HEADLINE': 'Introducing ngTranslate also with params like {{value}}',
'SUB_HEADLINE': 'Translations for your Angular Apps!',
'AUTHOR_NAME': 'Pascal Precht',
'GITHUB_LINK_TEXT': 'View source on GitHub',
'GETTING_STARTED_HEADLINE': 'Getting Started',
'HEADLINE_FILTER': 'ngTranslate::translateFilter',
'HEADLINE_USAGE': 'Usage:',
'HEADLINE_FILTER_DYN_VALUES': 'Translations with dynamic values',
...