Пример #1
0
from bing_translator import BingTranslator

import redis
import os

REDIS_HOST = os.environ.get("REDIS_HOST", "localhost")
REDIS_PORT = os.environ.get("REDIS_PORT", "6379")

TRANSLATE_ENABLED = bool(os.environ.get("TRANSLATION_ENABLED", False))
TARGET_TRANSLATION_LANG = 'de'

gig_redis = redis.StrictRedis(host=REDIS_HOST, port=REDIS_PORT, db=0)

gig_translator = Translator()
gig_translator.set_translator(BingTranslator())
gig_translator.set_target_translation_language(TARGET_TRANSLATION_LANG)


def build_localizable_key(untranslated, target_translation_lang):
    return 'giglocalizable%%%' + untranslated + '%%%' + target_translation_lang


def translate(untranslated):
    key = build_localizable_key(untranslated, TARGET_TRANSLATION_LANG)

    if not TRANSLATE_ENABLED:
        return untranslated

    # If redis contains the localized string in the target language, return it.
    try:
        localized = gig_redis.get(key)