AngularJS Example:

HTML

<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css">
<div ng-app="myApp" ng-controller="ctrl">
    <header>
        <button ng-click="toggleLang()">Toggle Language</button>
        <button ng-click="reloadLang()">Reload Lang</button>
        <h1>{{ 'HEADLINE' | translate }}</h1>
        <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>
        <h3>{{ 'HEADLINE_FILTER' | translate}}</h3>
        <p>{{ 'INFO_TEXT_TRANSLATE_FILTER' | translate }}</p>
        <h5>{{ 'HEADLINE_USAGE' | translate}}</h5>        
        <pre><code ng-non-bindable>&lt;ANY&gt;{{ 'TRANSLATION_ID' | translate }}&lt;/ANY&gt;</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
&lt;ANY&gt;{{ 'TD_ID' | translate:'{"value": 3}' }}&lt;/ANY&gt;

// Passing values via scope object
&lt;ANY&gt;{{ 'TD_ID' | translate:anyObjectOnScope }}&lt;/ANY&gt;            
</code></pre>
        <h3>{{ 'HEADLINE_DIRECTIVE' | translate }}</h3>
        <p>{{ 'INFO_TEXT_TRANSLATE_DIRECTIVE' | translate }}</p>
        
        <pre><code ng-non-bindable>&lt;ANY translate&gt;TRANSLATION_ID&lt;/ANY&gt; // Use content as translation id
&lt;ANY translate="TRANSLATION_ID"&gt;&lt;/ANY&gt; // Pass translation id as attribute value
&lt;ANY translate&gt;{{translationIdOnScope}}&lt;/ANY&gt; // Use content as...

JavaScript

// Including ngCookies module
(function(m,f,l){'use strict';f.module("ngCookies",["ng"]).factory("$cookies",["$rootScope","$browser",function(d,c){var b={},g={},h,i=!1,j=f.copy,k=f.isUndefined;c.addPollFn(function(){var a=c.cookies();h!=a&&(h=a,j(a,g),j(a,b),i&&d.$apply())})();i=!0;d.$watch(function(){var a,e,d;for(a in g)k(b[a])&&c.cookies(a,l);for(a in b)e=b[a],f.isString(e)?e!==g[a]&&(c.cookies(a,e),d=!0):f.isDefined(g[a])?b[a]=g[a]:delete b[a];if(d)for(a in e=c.cookies(),b)b[a]!==e[a]&&(k(e[a])?delete b[a]:b[a]=e[a])});return b}]).factory("$cookieStore",
["$cookies",function(d){return{get:function(c){return f.fromJson(d[c])},put:function(c,b){d[c]=f.toJson(b)},remove:function(c){delete d[c]}}}])})(window,window.angular);


// Including ngTranslate
angular.module("ngTranslate",["ng","ngCookies"]).run(["$translate","$COOKIE_KEY","$cookieStore",function(n,t,r){n.rememberLanguage()&&(r.get(t)?n.uses(r.get(t)):r.put(t,n.uses()))}]),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)}}]),angular.module("ngTranslate").constant("$COOKIE_KEY","NG_TRANSLATE_LANG_KEY"),angular.module("ngTranslate").provider("$translate",function(){var n,t,r={},a=!1;this.translations=function(n,t){if(!n&&!t)return r;if(n&&!t){if(angular.isString(n))return r[n];r=n}else r[n]=t},this.setLoader=function(n){t=n},this.uses=function(t){if(!t)return n;if(!r[t])throw Error("$translateProvider couldn't find translationTable for langKey:...