我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用gettext.gettext()。
def generate_random_forecast(use_celcius=True): """ Generate a random weather forecast. :param use_celcius: If true, phrase should use degrees celcius, otherwise use Fahrenheit. :return: A phrase describing a random weather forecast. """ degrees = random.choice([12, 15, 18, 21, 23]) conditions = random.choice([_("cloudy"), _("rainy"), _( "thunder storms"), _("windy"), _("clear sky"), _("light wind")]) if use_celcius: degrees_sentence = _("{} degrees celcius").format(degrees) else: degrees = int(degrees * 9 / 5 + 32) degrees_sentence = _("{} degrees Fahrenheit").format(degrees) return _("{}, {}").format(conditions, degrees_sentence)
def _format_args(self, action, default_metavar): get_metavar = self._metavar_formatter(action, default_metavar) if action.nargs is None: result = '%s' % get_metavar(1) elif action.nargs == OPTIONAL: result = '[%s]' % get_metavar(1) elif action.nargs == ZERO_OR_MORE: result = '[%s [%s ...]]' % get_metavar(2) elif action.nargs == ONE_OR_MORE: result = '%s [%s ...]' % get_metavar(2) elif action.nargs == REMAINDER: result = '...' elif action.nargs == PARSER: result = '%s ...' % get_metavar(1) else: formats = ['%s' for _ in range(action.nargs)] result = ' '.join(formats) % get_metavar(action.nargs) return result
def __call__(self, string): # the special argument "-" means sys.std{in,out} if string == '-': if 'r' in self._mode: return _sys.stdin elif 'w' in self._mode: return _sys.stdout else: msg = _('argument "-" with mode %r') % self._mode raise ValueError(msg) # all other arguments are used as file names try: return open(string, self._mode, self._bufsize) except IOError as e: message = _("can't open '%s': %s") raise ArgumentTypeError(message % (string, e))
def _match_argument(self, action, arg_strings_pattern): # match the pattern for this action to the arg strings nargs_pattern = self._get_nargs_pattern(action) match = _re.match(nargs_pattern, arg_strings_pattern) # raise an exception if we weren't able to find a match if match is None: nargs_errors = { None: _('expected one argument'), OPTIONAL: _('expected at most one argument'), ONE_OR_MORE: _('expected at least one argument'), } default = _('expected %s argument(s)') % action.nargs msg = nargs_errors.get(action.nargs, default) raise ArgumentError(action, msg) # return the number of arguments matched return len(match.group(1))
def _get_value(self, action, arg_string): type_func = self._registry_get('type', action.type, action.type) if not _callable(type_func): msg = _('%r is not callable') raise ArgumentError(action, msg % type_func) # convert the value to the appropriate type try: result = type_func(arg_string) # ArgumentTypeErrors indicate errors except ArgumentTypeError: name = getattr(action.type, '__name__', repr(action.type)) msg = str(_sys.exc_info()[1]) raise ArgumentError(action, msg) # TypeErrors or ValueErrors also indicate errors except (TypeError, ValueError): name = getattr(action.type, '__name__', repr(action.type)) msg = _('invalid %s value: %r') raise ArgumentError(action, msg % (name, arg_string)) # return the converted value return result
def _decompressContent(response, new_content): content = new_content try: encoding = response.get('content-encoding', None) if encoding in ['gzip', 'deflate']: if encoding == 'gzip': content = gzip.GzipFile(fileobj=StringIO.StringIO(new_content)).read() if encoding == 'deflate': content = zlib.decompress(content) response['content-length'] = str(len(content)) # Record the historical presence of the encoding in a way the won't interfere. response['-content-encoding'] = response['content-encoding'] del response['content-encoding'] except IOError: content = "" raise FailedToDecompressContent(_("Content purported to be compressed with %s but failed to decompress.") % response.get('content-encoding'), response, content) return content
def generate_left_box(self): left_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) remove_icon = Gio.ThemedIcon(name="user-trash-symbolic") remove_image = Gtk.Image.new_from_gicon( remove_icon, Gtk.IconSize.BUTTON) self.remove_button.set_tooltip_text(_("Remove selected accounts")) self.remove_button.set_image(remove_image) self.remove_button.set_sensitive(False) add_icon = Gio.ThemedIcon(name="list-add-symbolic") add_image = Gtk.Image.new_from_gicon(add_icon, Gtk.IconSize.BUTTON) self.add_button.set_tooltip_text(_("Add a new account")) self.add_button.set_image(add_image) lock_icon = Gio.ThemedIcon(name="changes-prevent-symbolic") lock_image = Gtk.Image.new_from_gicon(lock_icon, Gtk.IconSize.BUTTON) self.lock_button.set_tooltip_text(_("Lock the Application")) self.lock_button.set_image(lock_image) settings.connect('changed', self.bind_status) left_box.add(self.remove_button) left_box.add(self.add_button) left_box.add(self.lock_button) return left_box
def generate_right_box(self): count = self.app.db.count() right_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) select_icon = Gio.ThemedIcon(name="object-select-symbolic") select_image = Gtk.Image.new_from_gicon( select_icon, Gtk.IconSize.BUTTON) self.select_button.set_tooltip_text(_("Selection mode")) self.select_button.set_image(select_image) search_icon = Gio.ThemedIcon(name="system-search-symbolic") search_image = Gtk.Image.new_from_gicon( search_icon, Gtk.IconSize.BUTTON) self.search_button.set_tooltip_text(_("Search")) self.search_button.set_image(search_image) self.search_button.set_visible(count > 0) self.cancel_button.set_label(_("Cancel")) right_box.add(self.search_button) right_box.add(self.select_button) right_box.add(self.cancel_button) return right_box
def copy_code(self, *args): """ Copy code shows the code box for a while (10s by default) """ self.timer = 0 code = self.account.get_code() try: clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD) self.window.notification.set_message( _('Code "{0}" copied to clipboard'.format(str(code)))) self.window.notification.show() clipboard.clear() clipboard.set_text(code, len(code)) logging.debug("Secret code copied to clipboard") except Exception as e: logging.error(str(e)) self.revealer.set_reveal_child(True) GLib.timeout_add_seconds(1, self.update_timer)
def remove(self, *args): """ Remove an account """ message = _('Do you really want to remove "%s"?' % self.account.get_name()) confirmation = ConfirmationMessage(self.window, message) confirmation.show() if confirmation.get_confirmation(): self.window.notification.set_message( _('"%s" was removed' % self.account.get_name())) self.window.notification.set_undo_action(self.undo_remove) self.window.notification.show() self.remove_timer = self.window.notification.timeout GLib.timeout_add_seconds(1, self.update_remove_countdown) confirmation.destroy()
def __call__(self, string): # the special argument "-" means sys.std{in,out} if string == '-': if 'r' in self._mode: return _sys.stdin elif 'w' in self._mode: return _sys.stdout else: msg = _('argument "-" with mode %r' % self._mode) raise ValueError(msg) try: # all other arguments are used as file names if self._bufsize: return open(string, self._mode, self._bufsize) else: return open(string, self._mode) except IOError: err = _sys.exc_info()[1] message = _("can't open '%s': %s") raise ArgumentTypeError(message % (string, err))
def monthly(rrule): """ Convert a rule with a monthly frequency to text """ text = [] byweekday = rrule._original_rule.get('byweekday', []) bymonthday = rrule._original_rule.get('bymonthday', []) if rrule._original_rule.get('bymonth', []): if rrule._interval != 1: text.extend([' ', str(rrule._interval), ' ', _('months'), ' ', _('in')]) text.append(_bymonth(rrule)) else: if rrule._interval != 1: text.extend([' ', str(rrule._interval), ]) text.extend([' ', gettext.ngettext('month', 'months', rrule._interval)]) if bymonthday: text.append(_bymonthday(rrule)) elif byweekday and _is_weekdays(byweekday): text.extend([' ', _('on'), ' ', _('weekdays')]) elif byweekday: text.append(_byweekday(rrule)) return ''.join(text)
def rrule_to_text(rrule): """ Based on https://github.com/jkbrzt/rrule/ Convert an rrule data structure to human-readable text """ text = ['every', ] if not hasattr(rrule, '_freq'): raise Exception("Missing _freq") if rrule._freq + 1 > len(FREQUENCY): raise Exception("Can't do that frequency.") text.append(FREQUENCY[rrule._freq](rrule)) if rrule._until: text.extend([' ', _('until'), ' ', rrule._until.strftime(DATE_FORMAT)]) elif rrule._count: text.extend([' ', _('for'), ' ', str(rrule._count), ]) text.extend([' ', gettext.ngettext('time', 'times', rrule._count)]) return ''.join(text)
def _decompressContent(response, new_content): content = new_content try: encoding = response.get('content-encoding', None) if encoding in ['gzip', 'deflate']: if encoding == 'gzip': content = gzip.GzipFile(fileobj=StringIO.StringIO(new_content)).read() if encoding == 'deflate': content = zlib.decompress(content, -zlib.MAX_WBITS) response['content-length'] = str(len(content)) # Record the historical presence of the encoding in a way the won't interfere. response['-content-encoding'] = response['content-encoding'] del response['content-encoding'] except IOError: content = "" raise FailedToDecompressContent(_("Content purported to be compressed with %s but failed to decompress.") % response.get('content-encoding'), response, content) return content
def _decompressContent(response, new_content): content = new_content try: encoding = response.get('content-encoding', None) if encoding in ['gzip', 'deflate']: if encoding == 'gzip': content = gzip.GzipFile(fileobj=io.BytesIO(new_content)).read() if encoding == 'deflate': content = zlib.decompress(content, -zlib.MAX_WBITS) response['content-length'] = str(len(content)) # Record the historical presence of the encoding in a way the won't interfere. response['-content-encoding'] = response['content-encoding'] del response['content-encoding'] except IOError: content = "" raise FailedToDecompressContent(_("Content purported to be compressed with %s but failed to decompress.") % response.get('content-encoding'), response, content) return content
def test_unicode_error_dialog(self, path_mocker_stopall): # mock mock_logger_error = path_mocker_stopall.MagicMock(name="mock_logger_error") # patch path_mocker_stopall.patch.object(scarlett_os.subprocess.logging.Logger, 'error', mock_logger_error) s_path.unicode_error_dialog() assert mock_logger_error.call_count == 1 _message = _("The system's locale that you are using is not UTF-8 capable. " "Unicode support is required for Python3 software like Pitivi. " "Please correct your system settings; if you try to use Pitivi " "with a broken locale, weird bugs will happen.") mock_logger_error.assert_any_call(_message)
def _format_args(self, action, default_metavar): get_metavar = self._metavar_formatter(action, default_metavar) if action.nargs is None: result = '%s' % get_metavar(1) elif action.nargs == OPTIONAL: result = '[%s]' % get_metavar(1) elif action.nargs == ZERO_OR_MORE: result = '[%s [%s ...]]' % get_metavar(2) elif action.nargs == ONE_OR_MORE: result = '%s [%s ...]' % get_metavar(2) elif action.nargs is PARSER: result = '%s ...' % get_metavar(1) else: formats = ['%s' for _ in range(action.nargs)] result = ' '.join(formats) % get_metavar(action.nargs) return result
def __call__(self, parser, namespace, values, option_string=None): parser_name = values[0] arg_strings = values[1:] # set the parser name if requested if self.dest is not SUPPRESS: setattr(namespace, self.dest, parser_name) # select the parser try: parser = self._name_parser_map[parser_name] except KeyError: tup = parser_name, ', '.join(self._name_parser_map) msg = _('unknown parser %r (choices: %s)' % tup) raise ArgumentError(self, msg) # parse all the remaining options into the namespace parser.parse_args(arg_strings, namespace) # ============== # Type classes # ==============
def __call__(self, string): # the special argument "-" means sys.std{in,out} if string == '-': if 'r' in self._mode: return _sys.stdin elif 'w' in self._mode: return _sys.stdout else: msg = _('argument "-" with mode %r' % self._mode) raise ValueError(msg) # all other arguments are used as file names if self._bufsize: return open(string, self._mode, self._bufsize) else: return open(string, self._mode)
def _get_value(self, action, arg_string): type_func = self._registry_get('type', action.type, action.type) if not hasattr(type_func, '__call__'): msg = _('%r is not callable') raise ArgumentError(action, msg % type_func) # convert the value to the appropriate type try: result = type_func(arg_string) # TypeErrors or ValueErrors indicate errors except (TypeError, ValueError): name = getattr(action.type, '__name__', repr(action.type)) msg = _('invalid %s value: %r') raise ArgumentError(action, msg % (name, arg_string)) # return the converted value return result
def _decompressContent(response, new_content): content = new_content try: encoding = response.get('content-encoding', None) if encoding in ['gzip', 'deflate']: if encoding == 'gzip': content = gzip.GzipFile(fileobj=io.BytesIO(new_content)).read() if encoding == 'deflate': content = zlib.decompress(content) response['content-length'] = str(len(content)) # Record the historical presence of the encoding in a way the won't interfere. response['-content-encoding'] = response['content-encoding'] del response['content-encoding'] except IOError: content = "" raise FailedToDecompressContent(_("Content purported to be compressed with %s but failed to decompress.") % response.get('content-encoding'), response, content) return content