def change_texts(self, text): self.b.setText(_("Click me")) self.h.setHTML(_("<b>Hello World</b> (html)")) self.l.setText(_("Hello World (label)")) text = [_("Hello from %s") % pygwt.getModuleBaseURL()] for i in range(4): text.append(ngettext('%(num)d single', '%(num)d plural', i) % dict(num=i)) text = '<br />'.join(text) self.base.setHTML(text)
def change_texts(self, text): self.b.setText(_("Click me")) self.h.setHTML(_("<b>Hello World</b> (html)")) self.l.setText(_("Hello World (label)")) text = [_("Hello from %s") % pygwt.getModuleBaseURL()] for i in range(4): text.append( ngettext('%(num)d single', '%(num)d plural', i) % dict(num=i)) text = '<br />'.join(text) self.base.setHTML(text)
def __init__(self, app, config=None): """Initializes the Jinja2 object. :param app: A :class:`webapp2.WSGIApplication` instance. :param config: A dictionary of configuration values to be overridden. See the available keys in :data:`default_config`. """ self.config = config = app.config.load_config(self.config_key, default_values=default_config, user_values=config, required_keys=None) kwargs = config['environment_args'].copy() enable_i18n = 'jinja2.ext.i18n' in kwargs.get('extensions', []) if 'loader' not in kwargs: template_path = config['template_path'] compiled_path = config['compiled_path'] use_compiled = not app.debug or config['force_compiled'] if compiled_path and use_compiled: # Use precompiled templates loaded from a module or zip. kwargs['loader'] = jinja2.ModuleLoader(compiled_path) else: # Parse templates for every new environment instances. kwargs['loader'] = jinja2.FileSystemLoader(template_path) # Initialize the environment. env = jinja2.Environment(**kwargs) if config['globals']: env.globals.update(config['globals']) if config['filters']: env.filters.update(config['filters']) if enable_i18n: # Install i18n. import i18n env.install_gettext_callables( lambda x: i18n.gettext(x), lambda s, p, n: i18n.ngettext(s, p, n), newstyle=True) env.filters.update({ 'format_date': i18n.format_date, 'format_time': i18n.format_time, 'format_datetime': i18n.format_datetime, 'format_timedelta': i18n.format_timedelta, }) self.environment = env
def get_notification_icon_tooltip_dict(): '''returns a dict of the form {acct: {'show': show, 'message': message, 'event_lines': [list of text lines to show in tooltip]}''' # How many events must there be before they're shown summarized, not per-user max_ungrouped_events = 10 accounts = get_accounts_info() # Gather events. (With accounts, when there are more.) for account in accounts: account_name = account['name'] account['event_lines'] = [] # Gather events per-account pending_events = gajim.events.get_events(account=account_name) messages, non_messages, total_messages, total_non_messages = {}, {}, 0, 0 for jid in pending_events: for event in pending_events[jid]: if event.type_.count('file') > 0: # This is a non-messagee event. messages[jid] = non_messages.get(jid, 0) + 1 total_non_messages = total_non_messages + 1 else: # This is a message. messages[jid] = messages.get(jid, 0) + 1 total_messages = total_messages + 1 # Display unread messages numbers, if any if total_messages > 0: if total_messages > max_ungrouped_events: text = ngettext('%d message pending', '%d messages pending', total_messages, total_messages, total_messages) account['event_lines'].append(text) else: for jid in messages.keys(): text = ngettext('%d message pending', '%d messages pending', messages[jid], messages[jid], messages[jid]) contact = gajim.contacts.get_first_contact_from_jid( account['name'], jid) if jid in gajim.gc_connected[account['name']]: text += _(' from room %s') % (jid) elif contact: name = contact.get_shown_name() text += _(' from user %s') % (name) else: text += _(' from %s') % (jid) account['event_lines'].append(text) # Display unseen events numbers, if any if total_non_messages > 0: if total_non_messages > max_ungrouped_events: text = ngettext('%d event pending', '%d events pending', total_non_messages, total_non_messages, total_non_messages) accounts[account]['event_lines'].append(text) else: for jid in non_messages.keys(): text = ngettext('%d event pending', '%d events pending', non_messages[jid], non_messages[jid], non_messages[jid]) text += _(' from user %s') % (jid) accounts[account]['event_lines'].append(text) return accounts
def get_notification_icon_tooltip_dict(): '''returns a dict of the form {acct: {'show': show, 'message': message, 'event_lines': [list of text lines to show in tooltip]}''' # How many events must there be before they're shown summarized, not per-user max_ungrouped_events = 10 accounts = get_accounts_info() # Gather events. (With accounts, when there are more.) for account in accounts: account_name = account['name'] account['event_lines'] = [] # Gather events per-account pending_events = gajim.events.get_events(account = account_name) messages, non_messages, total_messages, total_non_messages = {}, {}, 0, 0 for jid in pending_events: for event in pending_events[jid]: if event.type_.count('file') > 0: # This is a non-messagee event. messages[jid] = non_messages.get(jid, 0) + 1 total_non_messages = total_non_messages + 1 else: # This is a message. messages[jid] = messages.get(jid, 0) + 1 total_messages = total_messages + 1 # Display unread messages numbers, if any if total_messages > 0: if total_messages > max_ungrouped_events: text = ngettext( '%d message pending', '%d messages pending', total_messages, total_messages, total_messages) account['event_lines'].append(text) else: for jid in messages.keys(): text = ngettext( '%d message pending', '%d messages pending', messages[jid], messages[jid], messages[jid]) contact = gajim.contacts.get_first_contact_from_jid( account['name'], jid) if jid in gajim.gc_connected[account['name']]: text += _(' from room %s') % (jid) elif contact: name = contact.get_shown_name() text += _(' from user %s') % (name) else: text += _(' from %s') % (jid) account['event_lines'].append(text) # Display unseen events numbers, if any if total_non_messages > 0: if total_non_messages > max_ungrouped_events: text = ngettext( '%d event pending', '%d events pending', total_non_messages, total_non_messages, total_non_messages) accounts[account]['event_lines'].append(text) else: for jid in non_messages.keys(): text = ngettext( '%d event pending', '%d events pending', non_messages[jid], non_messages[jid], non_messages[jid]) text += _(' from user %s') % (jid) accounts[account]['event_lines'].append(text) return accounts