
/* $Id: class_language.js 8 2009-01-11 06:02:53Z john $ */

if( typeof(SocialEngineAPI)=="undefined" )
  var SocialEngineAPI = {};

SocialEngineAPI.Language = new Class({
  
  // Properties
  Base: {},

  
  
  
  // Methods
  initialize: function()
  {
    this.languageVariables = new Hash();
  },
  
  
  Translate: function(id)
  {
    var rawValue = this.languageVariables.get(id) || 'Missing Language Variable #' + id;
    return rawValue;
  },
  
  
  TranslateFormatted: function(id, params)
  {
    var rawValue = this.languageVariables.get(id) || 'Missing Language Variable #' + id;
    params.unshift(rawValue);
    var formattedValue = sprintf.run(params);
    return formattedValue;
  },
  
  
  
  
  // Import Methods
  Import: function(languageVariableObject)
  {
    if( $type(languageVariableObject)=="object" )
      this.languageVariables.extend(languageVariableObject);
  }
  
});



// Backwards compatibilty
var SocialEngineLanguage = SocialEngineAPI.Language;