AngularJS Example:

by Clay Anderson

HTML

<link rel="stylesheet" href="http://twitter.github.com/bootstrap/assets/css/bootstrap.css">
<div ng-app="myApp">

  <div translate="AUTHOR_NAME"></div>

  <div ng-controller="MyController">
    <button ng-click="changeToEnglish()">
    Change to english
    </button>
    <button ng-click="changeToGerman()">
    Change to german
    </button>
    
    <div>
    From controller: {{translatedText}}
    </div>
  </div>

</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',
        'SUB_HEADLINE': 'Translations for your Angular Apps!',
        'AUTHOR_NAME': 'Pascal Precht',
        'GITHUB_LINK_TEXT': 'View source on GitHub'
    });
    // Simply register translation table as object hash
    $translateProvider.translations('en', {
        'HEADLINE': 'ENIntroducing ngTranslate',
        'SUB_HEADLINE': 'ENTranslations for your Angular Apps!',
        'AUTHOR_NAME': 'ENPascal Precht',
       ...