//
//  VivochaLocalization.h
//  ios-sdk
//
//  Created by Michael Siddi on 01/09/14.
//  Copyright (c) 2014 Vivocha Inc. All rights reserved.
//

#import <Foundation/Foundation.h>

/**
 Represents a set of translations for a given language
 
 Usage example:

 ````
    VivochaLocalization *en = [VivochaLocalization localizationWithLanguage:@"en"];
    //Changes the "Agent" string to "Representative"
    [en setTranslation:@"Representative" forKey:VivochaSDK_String_Agent];
    [Vivocha addLocalization:en];
````
*/

@interface VivochaLocalization : NSObject

///The language identifier (e.g. "en", "it", "zh-Hans")
@property (nonatomic, retain) NSString *language;

/**
 Returns a VivochaLocalization object for the given language.
 
 @param lang the language identifier (e.g. "en", "it", "zh-Hans")
 */
+ (VivochaLocalization *)localizationWithLanguage:(NSString *)lang;

/**
 Initializes a VivochaLocalization object with the given language.
 
 @param lang the language identifier (e.g. "en", "it", "zh-Hans")
 */
- (id) initWithLanguage:(NSString *)lang;

/**
 Set a translation string for the given key.
 
 @param translation  the translated string (e.g. "LIVE HELP")
 @param key             the translation key being translated
 */
- (void) setTranslation:(NSString *)translation forKey:(NSString *)key;

/**
 Returns the translation string for the given key.
 
 @param key             the translation key
 */
- (NSString *) getTranslationForKey:(NSString *)key;

/**
 Returns a list of translated keys.
 */
- (NSArray *) translatedKeys;

@end
