Я пытаюсь создать простой модуль локализации, который принимает имя ключа и возвращает локализованную строку на основе указанного языка. Язык является одной из констант и отображает файл python, содержащий строку. Я хочу сделать это динамически во время выполнения. Ниже мой подход, но GAE не поддерживает модуль imp. Есть ли альтернативный способ сделать это?Импорт по имени файла/модуля в GAE
import logging import imp import localizable LANGUAGE_EN = "en" LANGUAGE_JP = "ja" class Localizer(object): """ Returns a localized string corresponding to unique keys """ @classmethod def localize(cls, language = LANGUAGE_EN, key = None): user_language = imp.load_source("localizable.%s" % language, "/") if (user_language): return user_language.Locale.localize(key) else: logging.error("Localizable file was not found") return ""
Я положил языковые файлы в локализуемом/en.py и т.д.
Первое решение отлично работает, спасибо. Я буду продвигать, как только смогу .. (видимо, требуется 15 человек) – Morrowless