''' Created on Jan 25, 2014 @author: Chris Provides Internationalization for all text within the program. ''' import os import json import i18n_config __all__ = ['translate'] _LANG = i18n_config.LANG _DEFAULT_DIR = os.path.join(os.path.dirname(__file__), 'languages') _DICTIONARY = None def get_path(language): ''' Returns the full path to the language file ''' filename = language.lower() + '.json' lang_file_path = os.path.join(_DEFAULT_DIR, filename) if not os.path.exists(lang_file_path): raise IOError('Could not find {} language file'.format(language)) return lang_file_path def load(filename): ''' Open and return the supplied json file ''' global _DICTIONARY try: json_file = filename + '.json' with open(os.path.join(_DEFAULT_DIR, json_file), 'rb') as f: _DICTIONARY = json.load(f) except IOError: raise IOError('Language file not found. Make sure that your ', 'translation file is in the languages directory, ') def translate(key): return _DICTIONARY[key] if __name__ == '__main__': pass