本文整理汇总了Python中webapp2_extras.i18n.get_i18n函数的典型用法代码示例。如果您正苦于以下问题:Python get_i18n函数的具体用法?Python get_i18n怎么用?Python get_i18n使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_i18n函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get
def get(self, url, event='2012'):
session = model.SessionTalk.query(ndb.AND(model.SessionTalk.event == event, model.SessionTalk.url == url)).fetch(1)[0]
speakers = [ sp.get() for sp in session.speaker ]
# work depending on locale
locale = self.session['locale']
if self.request.get('locale'):
locale = self.request.get('locale')
i18n.get_i18n().set_locale(locale)
if locale[0:2] == "de":
session.title = session.title_de
session.abstract = session.abstract_de
session.requirements = session.requirements_de
for sp in speakers:
sp.bio = sp.bio_de
for link in session.link:
link.text = link.text_de
if session.language:
session.languagetext = languagetext_de[session.language]
if session.level:
session.leveltext = leveltext_de[session.level]
else:
session.title = session.title_en
session.abstract = session.abstract_en
session.requirements = session.requirements_en
for sp in speakers:
sp.bio = sp.bio_en
for link in session.link:
link.text = link.text_en
if session.language:
session.languagetext = languagetext_en[session.language]
if session.level:
session.leveltext = leveltext_en[session.level]
self.prep_html_response('session.html', {'event':event, 'session':session, 'speakers':speakers})
示例2: test_format_datetime
def test_format_datetime(self):
value = datetime.datetime(2009, 11, 10, 16, 36, 5)
self.assertEqual(
i18n.format_datetime(value, format='short'),
u'11/10/09, 4:36 PM'
)
self.assertEqual(
i18n.format_datetime(value, format='medium'),
u'Nov 10, 2009, 4:36:05 PM'
)
self.assertEqual(
i18n.format_datetime(value, format='long'),
u'November 10, 2009 at 4:36:05 PM +0000'
)
# self.assertEqual(i18n.format_datetime(value, format='full'),
# u'Tuesday, November 10, 2009 4:36:05 PM World (GMT) Time')
self.assertEqual(
i18n.format_datetime(value, format='full'),
u'Tuesday, November 10, 2009 at 4:36:05 PM GMT+00:00'
)
i18n.get_i18n().set_timezone('America/Chicago')
self.assertEqual(
i18n.format_datetime(value, format='short'),
u'11/10/09, 10:36 AM'
)
示例3: draw_page
def draw_page(self, template_name, **render_data):
if (get_application_id() == "the-hat-international") or (get_application_id() == "the-hat-dev"):
dev = True
else:
dev = None
template = self.jinja2().environment.get_template("{}.html".format(template_name))
render_data["dev"] = dev
render_data["user_link"] = (
users.create_logout_url("/") if self.user else users.create_login_url(self.request.url)
)
if self.user:
render_data["user_email"] = users.get_current_user().email()
else:
render_data["user_email"] = None
render_data["is_admin"] = users.is_current_user_admin()
curr_channel = ndb.Key(NotificationChannel, "notifications").get()
render_data["token"] = curr_channel.channel_token if curr_channel else None
if self.user:
locale = self.user_key.get().localization
else:
locale = "ru_RU"
i18n.get_i18n().set_locale(locale)
self.response.write(template.render(render_data))
示例4: init_model
def init_model(self):
# Set the requested locale.
locale = self.request.GET.get('locale')
if locale:
logging.debug("locale provided as parameter: %s", locale)
i18n.get_i18n().set_locale(locale)
else:
i18n.get_i18n().set_locale(self.get_requested_locale())
logging.info("locale set to %s", i18n.get_i18n().locale)
user = users.get_current_user()
modl = dict()
strings.add_to_model(modl)
operations.add_to_model(modl)
if user:
modl['user'] = {
'email': user.email(),
'nickname': user.nickname(),
'id': user.user_id()
}
modl['email'] = user.email()
modl['login_url'] = '#'
modl['logout_url'] = users.create_logout_url(self.request.uri)
else :
modl['user'] = 'null'
modl['email'] = ''
modl['login_url'] = users.create_login_url(self.request.uri)
modl['logout_url'] = '#'
return modl;
示例5: get
def get(self):
locale = self.request.GET.get('locale', 'en_US')
i18n.get_i18n().set_locale(locale)
template_values = {}
template = JINJA_ENVIRONMENT.get_template('index.html')
self.response.write(template.render(template_values))
示例6: test_format_datetime_pt_BR
def test_format_datetime_pt_BR(self):
i18n.get_i18n().set_locale('pt_BR')
value = datetime.datetime(2009, 11, 10, 16, 36, 5)
self.assertEqual(
i18n.format_datetime(value, format='short'),
u'10/11/09 16:36'
)
self.assertEqual(
i18n.format_datetime(value, format='medium'),
u'10 de nov de 2009 16:36:05'
)
# self.assertEqual(i18n.format_datetime(value, format='long'),
# u'10 de novembro de 2009 16:36:05 +0000')
self.assertEqual(
i18n.format_datetime(value, format='long'),
u'10 de novembro de 2009 16:36:05 +0000'
)
# self.assertEqual(i18n.format_datetime(value, format='full'),
# u'terça-feira, 10 de novembro de 2009
# 16h36min05s Horário Mundo (GMT)')
self.assertEqual(
i18n.format_datetime(value, format='full'),
u'ter\xe7a-feira, 10 de novembro de 2009 16:36:05 GMT+00:00'
)
示例7: render_template
def render_template(self, filename, params=None):
if not params:
params = {}
# override locale if set in params
if params and 'locale' in params.keys():
i18n.get_i18n().set_locale(params['locale'])
is_superuser = False
if self.user:
is_superuser = self.user.is_superuser
is_betatester = False
if self.user:
is_betatester = self.user.is_betatester
params['the_user'] = self.user
params['the_user_is_superuser'] = is_superuser
params['the_user_is_betatester'] = is_betatester
if self.user:
params['the_user_addgigbandlist'] = self.user.get_add_gig_band_list(self, self.user.key)
params['logout_link'] = self.uri_for('logout')
if self.user is not None and not self.user.seen_welcome:
params['welcome'] = True
# handle MOTD
if self.user is not None:
motd = motd_db.get_motd_object()
if motd and (self.user.seen_motd_time is None or self.user.seen_motd_time < motd.last_update):
params['motd'] = motd.value
self.render_response(filename, params)
示例8: send_the_new_member_email
def send_the_new_member_email(the_locale, the_email_address, new_member, the_band):
if not mail.is_email_valid(the_email_address):
return False
i18n.get_i18n().set_locale(the_locale)
message = mail.EmailMessage()
message.sender = SENDER_EMAIL
message.to = the_email_address
message.subject = _('Gig-o-Matic New Member for band {0})').format(the_band.name)
# message.body = u"""
# Hello! A new member {0} has signed up for your band {1}. Please log in and
# confirm the membership.
#
# http://gig-o-matic.appspot.com/band_info.html?bk={2}
#
# Thanks,
# The Gig-o-Matic Team
#
# """.format(new_member.name, the_band.name, the_band.key.urlsafe())
message.body = _('new_member_email').format(new_member.name, the_band.name, the_band.key.urlsafe())
try:
message.send()
except:
logging.error('failed to send email!')
return True
示例9: get
def get(self):
locale = self.request.GET.get('locale', 'en_US')
i18n.get_i18n().set_locale(locale)
template_values = {}
template = jinja_environment.get_template('index.html')
self.response.out.write(template.render(template_values))
示例10: render_template
def render_template(self, filename, params=None):
if params and "locale" in params.keys():
locale = params["locale"]
elif self.user:
if self.user.preferences.locale:
locale = self.user.preferences.locale
else:
locale = None
i18n.get_i18n().set_locale(locale)
if not params:
params = {}
is_superuser = False
if self.user:
is_superuser = self.user.is_superuser
is_betatester = False
if self.user:
is_betatester = self.user.is_betatester
params["the_user"] = self.user
params["the_user_is_superuser"] = is_superuser
params["the_user_is_betatester"] = is_betatester
if self.user:
params["the_user_addgigbandlist"] = self.user.get_add_gig_band_list(self, self.user.key)
params["logout_link"] = self.uri_for("logout")
if self.user is not None and not self.user.seen_welcome:
params["welcome"] = True
if self.user is not None and not self.user.seen_motd:
params["motd"] = motd_db.get_motd()
self.render_response(filename, params)
示例11: get
def get(self):
locale = getUserLocale(self.request.GET.get("locale"), self.request.headers.get("accept_language"))
i18n.get_i18n().set_locale(locale)
titleword = u""
mainviewDivInnerHTML = None
if self.request.path.startswith("/canon"):
if isValidCanonUrl(self.request.path):
titleword = getTitleInfo(self.request.path)
mainviewDivInnerHTML = getMainViewInnerHTML(self.request.path)
else:
self.error(404)
self.response.out.write("Page Not Found!")
return
devjs = self.request.GET.get("devjs")
if devjs not in ["yes", "no"]:
devjs = None
if devjs == None:
if os.environ["SERVER_SOFTWARE"].startswith("Development"):
devjs = "yes"
else:
devjs = "no"
template_values = {
"titleword": titleword,
"locale": "%s~%s" % (locale, self.request.headers.get("accept_language")),
"mainviewDivInnerHTML": mainviewDivInnerHTML,
"devjs": devjs,
}
template = jinja_environment.get_template("index.html")
self.response.out.write(template.render(template_values))
示例12: get
def get(self, teachId):
if not self.loggedIn():
self.redirect("/")
return
values = self.getValues()
i18n.get_i18n().set_locale(self.getLanguage())
teacher = db.Teacher.get_by_id(long(teachId))
lang = self.request.get("lang", None)
if lang is not None:
teacher.setLanguage(lang)
referrer = self.request.headers.get('referer')
if referrer:
return self.redirect(referrer)
return self.redirect("/")
if not teachId or not teacher:
self.redirect("/")
else:
own = teachId == str(self.getUserId())
values["own"] = own
values["teacher"] = teacher
values["username"] = self.getUserName()
values["subjects"] = ", ".join([s.name for s in db.Subject.getSubjectsByTeacher(teacher.key)])
template = JINJA_ENVIRONMENT.get_template('/view/profile/index.html')
self.response.write(template.render(values))
示例13: test_format_scientific
def test_format_scientific(self):
i18n.get_i18n().set_locale('en_US')
self.assertEqual(i18n.format_scientific(10000), u'1E4')
self.assertEqual(
i18n.format_scientific(1234567, u'##0E00'),
u'1.23E06'
)
示例14: create_jinja_environment
def create_jinja_environment(loader, locale=None, autoescape=True):
"""Create proper jinja environment."""
cache = None
if CAN_USE_JINJA2_TEMPLATE_CACHE.value:
prefix = 'jinja2:bytecode:%s:/' % models.MemcacheManager.get_namespace()
cache = JinjaBytecodeCache(prefix)
jinja_environment = jinja2.Environment(
autoescape=autoescape, finalize=finalize,
extensions=['jinja2.ext.i18n'], bytecode_cache=cache, loader=loader)
jinja_environment.filters['js_string'] = js_string
if locale:
i18n.get_i18n().set_locale(locale)
jinja_environment.install_gettext_translations(i18n)
old_handle_exception = jinja_environment.handle_exception
def _handle_exception(exc_info=None, rendered=False, source_hint=None):
"""Handle template exception."""
traceback.print_exc(exc_info)
result = old_handle_exception(exc_info, rendered, source_hint)
return result
jinja_environment.handle_exception = _handle_exception
return jinja_environment
示例15: set_locale
def set_locale(self, force=None):
locales = self.app.config.get('locales')
# disable i18n if config.locales array is empty or None
if not locales:
return None
# 1. force locale if provided
locale = force
if locale not in locales:
# 2. retrieve locale from url query string
locale = self.request.get("hl", None)
if locale not in locales:
# 3. retrieve locale from cookie
locale = self.request.cookies.get('hl', None)
if locale not in locales:
# 4. retrieve locale from accept language header
#locale = get_locale_from_accept_header(self.request)
if locale not in locales:
# 5. detect locale from IP address location
territory = get_territory_from_ip(self) or 'ZZ'
locale = str(Locale.negotiate(territory, locales))
if locale not in locales:
# 6. use default locale
locale = self.request.GET.get('locale', 'en_US')
i18n.get_i18n().set_locale(locale)
logger.info('locale is {0}'.format(locale))
# save locale in cookie with 26 weeks expiration (in seconds)
self.response.set_cookie('hl', locale, max_age=15724800)
return locale