mirror of https://github.com/chriskiehl/Gooey.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
861 B
34 lines
861 B
'''
|
|
Created on Jan 25, 2014
|
|
|
|
@author: Chris
|
|
|
|
Provides Internationalization for all text within the program.
|
|
|
|
'''
|
|
|
|
import io
|
|
import os
|
|
import json
|
|
|
|
__all__ = ['load', '_']
|
|
|
|
_DICTIONARY = None
|
|
|
|
def load(language_dir, filename, encoding):
|
|
''' Open and return the supplied json file '''
|
|
global _DICTIONARY
|
|
try:
|
|
json_file = filename + '.json'
|
|
with io.open(os.path.join(language_dir, json_file), 'r', encoding=encoding) as f:
|
|
_DICTIONARY = json.load(f)
|
|
except IOError:
|
|
raise IOError('{0} Language file not found at location {1}. '
|
|
'Make sure that your translation file is in the '
|
|
'listed language directory'.format(filename.title(), language_dir))
|
|
|
|
def translate(key):
|
|
return _DICTIONARY.get(key, '(Translate me!) {}'.format(key))
|
|
|
|
def _(key):
|
|
return translate(key)
|