Merge pull request #1544 from notro/ure_sub

extmod/ure: Extend functionality
This commit is contained in:
Scott Shawcroft 2019-02-14 10:26:57 -08:00 committed by GitHub
commit 35e3d99f62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 1400 additions and 875 deletions

View File

@ -77,8 +77,83 @@ STATIC mp_obj_t match_group(mp_obj_t self_in, mp_obj_t no_in) {
}
MP_DEFINE_CONST_FUN_OBJ_2(match_group_obj, match_group);
#if MICROPY_PY_URE_MATCH_GROUPS
STATIC mp_obj_t match_groups(mp_obj_t self_in) {
mp_obj_match_t *self = MP_OBJ_TO_PTR(self_in);
if (self->num_matches <= 1) {
return mp_const_empty_tuple;
}
mp_obj_tuple_t *groups = MP_OBJ_TO_PTR(mp_obj_new_tuple(self->num_matches - 1, NULL));
for (int i = 1; i < self->num_matches; ++i) {
groups->items[i - 1] = match_group(self_in, MP_OBJ_NEW_SMALL_INT(i));
}
return MP_OBJ_FROM_PTR(groups);
}
MP_DEFINE_CONST_FUN_OBJ_1(match_groups_obj, match_groups);
#endif
#if MICROPY_PY_URE_MATCH_SPAN_START_END
STATIC void match_span_helper(size_t n_args, const mp_obj_t *args, mp_obj_t span[2]) {
mp_obj_match_t *self = MP_OBJ_TO_PTR(args[0]);
mp_int_t no = 0;
if (n_args == 2) {
no = mp_obj_get_int(args[1]);
if (no < 0 || no >= self->num_matches) {
nlr_raise(mp_obj_new_exception_arg1(&mp_type_IndexError, args[1]));
}
}
mp_int_t s = -1;
mp_int_t e = -1;
const char *start = self->caps[no * 2];
if (start != NULL) {
// have a match for this group
const char *begin = mp_obj_str_get_str(self->str);
s = start - begin;
e = self->caps[no * 2 + 1] - begin;
}
span[0] = mp_obj_new_int(s);
span[1] = mp_obj_new_int(e);
}
STATIC mp_obj_t match_span(size_t n_args, const mp_obj_t *args) {
mp_obj_t span[2];
match_span_helper(n_args, args, span);
return mp_obj_new_tuple(2, span);
}
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(match_span_obj, 1, 2, match_span);
STATIC mp_obj_t match_start(size_t n_args, const mp_obj_t *args) {
mp_obj_t span[2];
match_span_helper(n_args, args, span);
return span[0];
}
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(match_start_obj, 1, 2, match_start);
STATIC mp_obj_t match_end(size_t n_args, const mp_obj_t *args) {
mp_obj_t span[2];
match_span_helper(n_args, args, span);
return span[1];
}
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(match_end_obj, 1, 2, match_end);
#endif
STATIC const mp_rom_map_elem_t match_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_group), MP_ROM_PTR(&match_group_obj) },
#if MICROPY_PY_URE_MATCH_GROUPS
{ MP_ROM_QSTR(MP_QSTR_groups), MP_ROM_PTR(&match_groups_obj) },
#endif
#if MICROPY_PY_URE_MATCH_SPAN_START_END
{ MP_ROM_QSTR(MP_QSTR_span), MP_ROM_PTR(&match_span_obj) },
{ MP_ROM_QSTR(MP_QSTR_start), MP_ROM_PTR(&match_start_obj) },
{ MP_ROM_QSTR(MP_QSTR_end), MP_ROM_PTR(&match_end_obj) },
#endif
};
STATIC MP_DEFINE_CONST_DICT(match_locals_dict, match_locals_dict_table);
@ -103,6 +178,35 @@ STATIC mp_obj_t ure_exec(bool is_anchored, uint n_args, const mp_obj_t *args) {
size_t len;
subj.begin = mp_obj_str_get_data(args[1], &len);
subj.end = subj.begin + len;
#if MICROPY_PY_URE_MATCH_SPAN_START_END
if (n_args > 2) {
const mp_obj_type_t *self_type = mp_obj_get_type(args[1]);
mp_int_t str_len = MP_OBJ_SMALL_INT_VALUE(mp_obj_len_maybe(args[1]));
const byte *begin = (const byte *)subj.begin;
int pos = mp_obj_get_int(args[2]);
if (pos >= str_len) {
return mp_const_none;
}
if (pos < 0) {
pos = 0;
}
const byte *pos_ptr = str_index_to_ptr(self_type, begin, len, MP_OBJ_NEW_SMALL_INT(pos), true);
const byte *endpos_ptr = (const byte *)subj.end;
if (n_args > 3) {
int endpos = mp_obj_get_int(args[3]);
if (endpos <= pos) {
return mp_const_none;
}
// Will cap to length
endpos_ptr = str_index_to_ptr(self_type, begin, len, args[3], true);
}
subj.begin = (const char *)pos_ptr;
subj.end = (const char *)endpos_ptr;
}
#endif
int caps_num = (self->re.sub + 1) * 2;
mp_obj_match_t *match = m_new_obj_var(mp_obj_match_t, char*, caps_num);
// cast is a workaround for a bug in msvc: it treats const char** as a const pointer instead of a pointer to pointer to const char
@ -174,10 +278,127 @@ STATIC mp_obj_t re_split(size_t n_args, const mp_obj_t *args) {
}
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(re_split_obj, 2, 3, re_split);
#if MICROPY_PY_URE_SUB
STATIC mp_obj_t re_sub_helper(mp_obj_t self_in, size_t n_args, const mp_obj_t *args) {
mp_obj_re_t *self = MP_OBJ_TO_PTR(self_in);
mp_obj_t replace = args[1];
mp_obj_t where = args[2];
mp_int_t count = 0;
if (n_args > 3) {
count = mp_obj_get_int(args[3]);
// Note: flags are currently ignored
}
size_t where_len;
const char *where_str = mp_obj_str_get_data(where, &where_len);
Subject subj;
subj.begin = where_str;
subj.end = subj.begin + where_len;
int caps_num = (self->re.sub + 1) * 2;
vstr_t vstr_return;
vstr_return.buf = NULL; // We'll init the vstr after the first match
mp_obj_match_t *match = mp_local_alloc(sizeof(mp_obj_match_t) + caps_num * sizeof(char*));
match->base.type = &match_type;
match->num_matches = caps_num / 2; // caps_num counts start and end pointers
match->str = where;
for (;;) {
// cast is a workaround for a bug in msvc: it treats const char** as a const pointer instead of a pointer to pointer to const char
memset((char*)match->caps, 0, caps_num * sizeof(char*));
int res = re1_5_recursiveloopprog(&self->re, &subj, match->caps, caps_num, false);
// If we didn't have a match, or had an empty match, it's time to stop
if (!res || match->caps[0] == match->caps[1]) {
break;
}
// Initialise the vstr if it's not already
if (vstr_return.buf == NULL) {
vstr_init(&vstr_return, match->caps[0] - subj.begin);
}
// Add pre-match string
vstr_add_strn(&vstr_return, subj.begin, match->caps[0] - subj.begin);
// Get replacement string
const char* repl = mp_obj_str_get_str((mp_obj_is_callable(replace) ? mp_call_function_1(replace, MP_OBJ_FROM_PTR(match)) : replace));
// Append replacement string to result, substituting any regex groups
while (*repl != '\0') {
if (*repl == '\\') {
++repl;
bool is_g_format = false;
if (*repl == 'g' && repl[1] == '<') {
// Group specified with syntax "\g<number>"
repl += 2;
is_g_format = true;
}
if ('0' <= *repl && *repl <= '9') {
// Group specified with syntax "\g<number>" or "\number"
unsigned int match_no = 0;
do {
match_no = match_no * 10 + (*repl++ - '0');
} while ('0' <= *repl && *repl <= '9');
if (is_g_format && *repl == '>') {
++repl;
}
if (match_no >= (unsigned int)match->num_matches) {
nlr_raise(mp_obj_new_exception_arg1(&mp_type_IndexError, MP_OBJ_NEW_SMALL_INT(match_no)));
}
const char *start_match = match->caps[match_no * 2];
if (start_match != NULL) {
// Add the substring matched by group
const char *end_match = match->caps[match_no * 2 + 1];
vstr_add_strn(&vstr_return, start_match, end_match - start_match);
}
}
} else {
// Just add the current byte from the replacement string
vstr_add_byte(&vstr_return, *repl++);
}
}
// Move start pointer to end of last match
subj.begin = match->caps[1];
// Stop substitutions if count was given and gets to 0
if (count > 0 && --count == 0) {
break;
}
}
mp_local_free(match);
if (vstr_return.buf == NULL) {
// Optimisation for case of no substitutions
return where;
}
// Add post-match string
vstr_add_strn(&vstr_return, subj.begin, subj.end - subj.begin);
return mp_obj_new_str_from_vstr(mp_obj_get_type(where), &vstr_return);
}
STATIC mp_obj_t re_sub(size_t n_args, const mp_obj_t *args) {
return re_sub_helper(args[0], n_args, args);
}
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(re_sub_obj, 3, 5, re_sub);
#endif
STATIC const mp_rom_map_elem_t re_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_match), MP_ROM_PTR(&re_match_obj) },
{ MP_ROM_QSTR(MP_QSTR_search), MP_ROM_PTR(&re_search_obj) },
{ MP_ROM_QSTR(MP_QSTR_split), MP_ROM_PTR(&re_split_obj) },
#if MICROPY_PY_URE_SUB
{ MP_ROM_QSTR(MP_QSTR_sub), MP_ROM_PTR(&re_sub_obj) },
#endif
};
STATIC MP_DEFINE_CONST_DICT(re_locals_dict, re_locals_dict_table);
@ -232,11 +453,22 @@ STATIC mp_obj_t mod_re_search(size_t n_args, const mp_obj_t *args) {
}
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_re_search_obj, 2, 4, mod_re_search);
#if MICROPY_PY_URE_SUB
STATIC mp_obj_t mod_re_sub(size_t n_args, const mp_obj_t *args) {
mp_obj_t self = mod_re_compile(1, args);
return re_sub_helper(self, n_args, args);
}
MP_DEFINE_CONST_FUN_OBJ_VAR_BETWEEN(mod_re_sub_obj, 3, 5, mod_re_sub);
#endif
STATIC const mp_rom_map_elem_t mp_module_re_globals_table[] = {
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_ure) },
{ MP_ROM_QSTR(MP_QSTR_compile), MP_ROM_PTR(&mod_re_compile_obj) },
{ MP_ROM_QSTR(MP_QSTR_match), MP_ROM_PTR(&mod_re_match_obj) },
{ MP_ROM_QSTR(MP_QSTR_search), MP_ROM_PTR(&mod_re_search_obj) },
#if MICROPY_PY_URE_SUB
{ MP_ROM_QSTR(MP_QSTR_sub), MP_ROM_PTR(&mod_re_sub_obj) },
#endif
{ MP_ROM_QSTR(MP_QSTR_DEBUG), MP_ROM_INT(FLAG_DEBUG) },
};

View File

@ -10,6 +10,29 @@
#define EMIT(at, byte) (code ? (code[at] = byte) : (at))
#define PC (prog->bytelen)
static char unescape(char c) {
switch (c) {
case 'a':
return '\a';
case 'b':
return '\b';
case 'f':
return '\f';
case 'n':
return '\n';
case 'r':
return '\r';
case 'v':
return '\v';
case 'x':
return '\\';
default:
return c;
}
}
static const char *_compilecode(const char *re, ByteProg *prog, int sizecode)
{
char *code = sizecode ? NULL : prog->insts;
@ -22,13 +45,16 @@ static const char *_compilecode(const char *re, ByteProg *prog, int sizecode)
case '\\':
re++;
if (!*re) return NULL; // Trailing backslash
term = PC;
if ((*re | 0x20) == 'd' || (*re | 0x20) == 's' || (*re | 0x20) == 'w') {
term = PC;
EMIT(PC++, NamedClass);
EMIT(PC++, *re);
prog->len++;
break;
} else {
EMIT(PC++, Char);
EMIT(PC++, unescape(*re));
}
prog->len++;
break;
default:
term = PC;
EMIT(PC++, Char);
@ -54,11 +80,21 @@ static const char *_compilecode(const char *re, ByteProg *prog, int sizecode)
prog->len++;
for (cnt = 0; *re != ']'; re++, cnt++) {
if (!*re) return NULL;
EMIT(PC++, *re);
if (*re == '\\') {
re += 1;
EMIT(PC++, unescape(*re));
} else {
EMIT(PC++, *re);
}
if (re[1] == '-' && re[2] != ']') {
re += 2;
}
EMIT(PC++, *re);
if (*re == '\\') {
re += 1;
EMIT(PC++, unescape(*re));
} else {
EMIT(PC++, *re);
}
}
EMIT(term + 1, cnt);
break;

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-12 22:32-0500\n"
"POT-Creation-Date: 2019-02-14 15:42+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -103,11 +103,11 @@ msgstr "heap kosong"
msgid "syntax error in JSON"
msgstr "sintaksis error pada JSON"
#: extmod/modure.c:161
#: extmod/modure.c:265
msgid "Splitting with sub-captures"
msgstr "Memisahkan dengan menggunakan sub-captures"
#: extmod/modure.c:207
#: extmod/modure.c:428
msgid "Error in regex"
msgstr "Error pada regex"
@ -155,7 +155,7 @@ msgstr "kompilasi script tidak didukung"
msgid " output:\n"
msgstr "output:\n"
#: main.c:166 main.c:247
#: main.c:166 main.c:248
msgid ""
"Auto-reload is on. Simply save files over USB to run them or enter REPL to "
"disable.\n"
@ -167,7 +167,7 @@ msgstr ""
msgid "Running in safe mode! Auto-reload is off.\n"
msgstr "Berjalan di mode aman(safe mode)! Auto-reload tidak aktif.\n"
#: main.c:170 main.c:249
#: main.c:170 main.c:250
msgid "Auto-reload is off.\n"
msgstr "Auto-reload tidak aktif.\n"
@ -186,13 +186,13 @@ msgid ""
"Code done running. Waiting for reload.\n"
msgstr ""
#: main.c:254
#: main.c:255
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
msgstr ""
"Tekan tombol apa saja untuk masuk ke dalam REPL. Gunakan CTRL+D untuk reset "
"(Reload)"
#: main.c:419
#: main.c:420
msgid "soft reboot\n"
msgstr "memulai ulang software(soft reboot)\n"
@ -360,12 +360,12 @@ msgstr "Gagal untuk mengalokasikan buffer RX"
msgid "Could not initialize UART"
msgstr "Tidak dapat menginisialisasi UART"
#: ports/atmel-samd/common-hal/busio/UART.c:241
#: ports/atmel-samd/common-hal/busio/UART.c:252
#: ports/nrf/common-hal/busio/UART.c:230
msgid "No RX pin"
msgstr "Tidak pin RX"
#: ports/atmel-samd/common-hal/busio/UART.c:300
#: ports/atmel-samd/common-hal/busio/UART.c:311
#: ports/nrf/common-hal/busio/UART.c:265
msgid "No TX pin"
msgstr "Tidak ada pin TX"
@ -1508,7 +1508,7 @@ msgstr ""
msgid "object with buffer protocol required"
msgstr ""
#: py/objarray.c:413 py/objstr.c:428 py/objstrunicode.c:191 py/objtuple.c:188
#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188
#: shared-bindings/nvm/ByteArray.c:85
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
@ -1658,152 +1658,157 @@ msgstr ""
msgid "wrong number of arguments"
msgstr ""
#: py/objstr.c:468
#: py/objstr.c:414 py/objstrunicode.c:118
#, fuzzy
msgid "offset out of bounds"
msgstr "modul tidak ditemukan"
#: py/objstr.c:477
msgid "join expects a list of str/bytes objects consistent with self object"
msgstr ""
#: py/objstr.c:543 py/objstr.c:648 py/objstr.c:1745
#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754
msgid "empty separator"
msgstr ""
#: py/objstr.c:642
#: py/objstr.c:651
msgid "rsplit(None,n)"
msgstr ""
#: py/objstr.c:714
#: py/objstr.c:723
msgid "substring not found"
msgstr ""
#: py/objstr.c:771
#: py/objstr.c:780
msgid "start/end indices"
msgstr ""
#: py/objstr.c:932
#: py/objstr.c:941
msgid "bad format string"
msgstr ""
#: py/objstr.c:954
#: py/objstr.c:963
msgid "single '}' encountered in format string"
msgstr ""
#: py/objstr.c:993
#: py/objstr.c:1002
msgid "bad conversion specifier"
msgstr ""
#: py/objstr.c:997
#: py/objstr.c:1006
msgid "end of format while looking for conversion specifier"
msgstr ""
#: py/objstr.c:999
#: py/objstr.c:1008
#, c-format
msgid "unknown conversion specifier %c"
msgstr ""
#: py/objstr.c:1030
#: py/objstr.c:1039
msgid "unmatched '{' in format"
msgstr ""
#: py/objstr.c:1037
#: py/objstr.c:1046
msgid "expected ':' after format specifier"
msgstr ""
#: py/objstr.c:1051
#: py/objstr.c:1060
msgid ""
"can't switch from automatic field numbering to manual field specification"
msgstr ""
#: py/objstr.c:1056 py/objstr.c:1084
#: py/objstr.c:1065 py/objstr.c:1093
msgid "tuple index out of range"
msgstr ""
#: py/objstr.c:1072
#: py/objstr.c:1081
msgid "attributes not supported yet"
msgstr ""
#: py/objstr.c:1080
#: py/objstr.c:1089
msgid ""
"can't switch from manual field specification to automatic field numbering"
msgstr ""
#: py/objstr.c:1172
#: py/objstr.c:1181
msgid "invalid format specifier"
msgstr ""
#: py/objstr.c:1193
#: py/objstr.c:1202
msgid "sign not allowed in string format specifier"
msgstr ""
#: py/objstr.c:1201
#: py/objstr.c:1210
msgid "sign not allowed with integer format specifier 'c'"
msgstr ""
#: py/objstr.c:1260
#: py/objstr.c:1269
#, c-format
msgid "unknown format code '%c' for object of type '%s'"
msgstr ""
#: py/objstr.c:1332
#: py/objstr.c:1341
#, c-format
msgid "unknown format code '%c' for object of type 'float'"
msgstr ""
#: py/objstr.c:1344
#: py/objstr.c:1353
msgid "'=' alignment not allowed in string format specifier"
msgstr ""
#: py/objstr.c:1368
#: py/objstr.c:1377
#, c-format
msgid "unknown format code '%c' for object of type 'str'"
msgstr ""
#: py/objstr.c:1416
#: py/objstr.c:1425
msgid "format requires a dict"
msgstr ""
#: py/objstr.c:1425
#: py/objstr.c:1434
msgid "incomplete format key"
msgstr ""
#: py/objstr.c:1483
#: py/objstr.c:1492
msgid "incomplete format"
msgstr ""
#: py/objstr.c:1491
#: py/objstr.c:1500
msgid "not enough arguments for format string"
msgstr ""
#: py/objstr.c:1501
#: py/objstr.c:1510
#, c-format
msgid "%%c requires int or char"
msgstr ""
#: py/objstr.c:1508
#: py/objstr.c:1517
msgid "integer required"
msgstr ""
#: py/objstr.c:1571
#: py/objstr.c:1580
#, c-format
msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr ""
#: py/objstr.c:1578
#: py/objstr.c:1587
msgid "not all arguments converted during string formatting"
msgstr ""
#: py/objstr.c:2103
#: py/objstr.c:2112
msgid "can't convert to str implicitly"
msgstr ""
#: py/objstr.c:2107
#: py/objstr.c:2116
msgid "can't convert '%q' object to %q implicitly"
msgstr ""
#: py/objstrunicode.c:134
#: py/objstrunicode.c:154
#, c-format
msgid "string indices must be integers, not %s"
msgstr ""
#: py/objstrunicode.c:145 py/objstrunicode.c:164
#: py/objstrunicode.c:165 py/objstrunicode.c:184
msgid "string index out of range"
msgstr ""
@ -2233,8 +2238,11 @@ msgid "timeout must be >= 0.0"
msgstr "bits harus memilki nilai 8"
#: shared-bindings/bleio/CharacteristicBuffer.c:79
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69
#: shared-bindings/displayio/Shape.c:73
#, fuzzy
msgid "buffer_size must be >= 1"
msgid "%q must be >= 1"
msgstr "buffers harus mempunyai panjang yang sama"
#: shared-bindings/bleio/CharacteristicBuffer.c:83
@ -2393,12 +2401,6 @@ msgstr ""
msgid "Command must be an int between 0 and 255"
msgstr ""
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100
#, fuzzy
msgid "%q must be >= 1"
msgstr "buffers harus mempunyai panjang yang sama"
#: shared-bindings/displayio/Palette.c:91
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
msgstr ""
@ -2420,15 +2422,15 @@ msgstr ""
msgid "palette_index should be an int"
msgstr ""
#: shared-bindings/displayio/Shape.c:88
#: shared-bindings/displayio/Shape.c:97
msgid "y should be an int"
msgstr ""
#: shared-bindings/displayio/Shape.c:92
#: shared-bindings/displayio/Shape.c:101
msgid "start_x should be an int"
msgstr ""
#: shared-bindings/displayio/Shape.c:96
#: shared-bindings/displayio/Shape.c:105
msgid "end_x should be an int"
msgstr ""
@ -2845,15 +2847,24 @@ msgid ""
"exit safe mode.\n"
msgstr ""
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART tidak tersedia"
#~ msgid ""
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
#~ msgstr ""
#~ "Silahkan taruh masalah disini dengan isi dari CIRCUITPY drive: anda \n"
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
#~ msgstr ""
#~ "Sepertinya inti kode CircuitPython kita crash dengan sangat keras. Ups!\n"
#, fuzzy
#~ msgid "unicode_characters must be a string"
#~ msgstr "keyword harus berupa string"
#~ msgid "unpack requires a buffer of %d bytes"
#~ msgstr "Gagal untuk megalokasikan buffer RX dari %d byte"
#~ msgid "All PWM peripherals are in use"
#~ msgstr "Semua perangkat PWM sedang digunakan"
#~ msgid "Invalid UUID string length"
#~ msgstr "Panjang string UUID tidak valid"
#~ msgid "Invalid UUID parameter"
#~ msgstr "Parameter UUID tidak valid"
#~ msgid ""
#~ "enough power for the whole circuit and press reset (after ejecting "
@ -2862,21 +2873,16 @@ msgstr ""
#~ "tegangan cukup untuk semua sirkuit dan tekan reset (setelah mencabut "
#~ "CIRCUITPY).\n"
#~ msgid "Invalid UUID parameter"
#~ msgstr "Parameter UUID tidak valid"
#~ msgid "Invalid UUID string length"
#~ msgstr "Panjang string UUID tidak valid"
#~ msgid "All PWM peripherals are in use"
#~ msgstr "Semua perangkat PWM sedang digunakan"
#, fuzzy
#~ msgid "unpack requires a buffer of %d bytes"
#~ msgstr "Gagal untuk megalokasikan buffer RX dari %d byte"
#~ msgid "unicode_characters must be a string"
#~ msgstr "keyword harus berupa string"
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
#~ msgstr ""
#~ "Sepertinya inti kode CircuitPython kita crash dengan sangat keras. Ups!\n"
#~ msgid ""
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
#~ msgstr ""
#~ "Silahkan taruh masalah disini dengan isi dari CIRCUITPY drive: anda \n"
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART tidak tersedia"
#, fuzzy
#~ msgid "buffer_size must be >= 1"
#~ msgstr "buffers harus mempunyai panjang yang sama"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-12 22:32-0500\n"
"POT-Creation-Date: 2019-02-14 15:42+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -103,11 +103,11 @@ msgstr ""
msgid "syntax error in JSON"
msgstr ""
#: extmod/modure.c:161
#: extmod/modure.c:265
msgid "Splitting with sub-captures"
msgstr ""
#: extmod/modure.c:207
#: extmod/modure.c:428
msgid "Error in regex"
msgstr ""
@ -155,7 +155,7 @@ msgstr ""
msgid " output:\n"
msgstr ""
#: main.c:166 main.c:247
#: main.c:166 main.c:248
msgid ""
"Auto-reload is on. Simply save files over USB to run them or enter REPL to "
"disable.\n"
@ -165,7 +165,7 @@ msgstr ""
msgid "Running in safe mode! Auto-reload is off.\n"
msgstr ""
#: main.c:170 main.c:249
#: main.c:170 main.c:250
msgid "Auto-reload is off.\n"
msgstr ""
@ -183,11 +183,11 @@ msgid ""
"Code done running. Waiting for reload.\n"
msgstr ""
#: main.c:254
#: main.c:255
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
msgstr ""
#: main.c:419
#: main.c:420
msgid "soft reboot\n"
msgstr ""
@ -353,12 +353,12 @@ msgstr ""
msgid "Could not initialize UART"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c:241
#: ports/atmel-samd/common-hal/busio/UART.c:252
#: ports/nrf/common-hal/busio/UART.c:230
msgid "No RX pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c:300
#: ports/atmel-samd/common-hal/busio/UART.c:311
#: ports/nrf/common-hal/busio/UART.c:265
msgid "No TX pin"
msgstr ""
@ -1474,7 +1474,7 @@ msgstr ""
msgid "object with buffer protocol required"
msgstr ""
#: py/objarray.c:413 py/objstr.c:428 py/objstrunicode.c:191 py/objtuple.c:188
#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188
#: shared-bindings/nvm/ByteArray.c:85
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
@ -1624,152 +1624,156 @@ msgstr ""
msgid "wrong number of arguments"
msgstr ""
#: py/objstr.c:468
#: py/objstr.c:414 py/objstrunicode.c:118
msgid "offset out of bounds"
msgstr ""
#: py/objstr.c:477
msgid "join expects a list of str/bytes objects consistent with self object"
msgstr ""
#: py/objstr.c:543 py/objstr.c:648 py/objstr.c:1745
#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754
msgid "empty separator"
msgstr ""
#: py/objstr.c:642
#: py/objstr.c:651
msgid "rsplit(None,n)"
msgstr ""
#: py/objstr.c:714
#: py/objstr.c:723
msgid "substring not found"
msgstr ""
#: py/objstr.c:771
#: py/objstr.c:780
msgid "start/end indices"
msgstr ""
#: py/objstr.c:932
#: py/objstr.c:941
msgid "bad format string"
msgstr ""
#: py/objstr.c:954
#: py/objstr.c:963
msgid "single '}' encountered in format string"
msgstr ""
#: py/objstr.c:993
#: py/objstr.c:1002
msgid "bad conversion specifier"
msgstr ""
#: py/objstr.c:997
#: py/objstr.c:1006
msgid "end of format while looking for conversion specifier"
msgstr ""
#: py/objstr.c:999
#: py/objstr.c:1008
#, c-format
msgid "unknown conversion specifier %c"
msgstr ""
#: py/objstr.c:1030
#: py/objstr.c:1039
msgid "unmatched '{' in format"
msgstr ""
#: py/objstr.c:1037
#: py/objstr.c:1046
msgid "expected ':' after format specifier"
msgstr ""
#: py/objstr.c:1051
#: py/objstr.c:1060
msgid ""
"can't switch from automatic field numbering to manual field specification"
msgstr ""
#: py/objstr.c:1056 py/objstr.c:1084
#: py/objstr.c:1065 py/objstr.c:1093
msgid "tuple index out of range"
msgstr ""
#: py/objstr.c:1072
#: py/objstr.c:1081
msgid "attributes not supported yet"
msgstr ""
#: py/objstr.c:1080
#: py/objstr.c:1089
msgid ""
"can't switch from manual field specification to automatic field numbering"
msgstr ""
#: py/objstr.c:1172
#: py/objstr.c:1181
msgid "invalid format specifier"
msgstr ""
#: py/objstr.c:1193
#: py/objstr.c:1202
msgid "sign not allowed in string format specifier"
msgstr ""
#: py/objstr.c:1201
#: py/objstr.c:1210
msgid "sign not allowed with integer format specifier 'c'"
msgstr ""
#: py/objstr.c:1260
#: py/objstr.c:1269
#, c-format
msgid "unknown format code '%c' for object of type '%s'"
msgstr ""
#: py/objstr.c:1332
#: py/objstr.c:1341
#, c-format
msgid "unknown format code '%c' for object of type 'float'"
msgstr ""
#: py/objstr.c:1344
#: py/objstr.c:1353
msgid "'=' alignment not allowed in string format specifier"
msgstr ""
#: py/objstr.c:1368
#: py/objstr.c:1377
#, c-format
msgid "unknown format code '%c' for object of type 'str'"
msgstr ""
#: py/objstr.c:1416
#: py/objstr.c:1425
msgid "format requires a dict"
msgstr ""
#: py/objstr.c:1425
#: py/objstr.c:1434
msgid "incomplete format key"
msgstr ""
#: py/objstr.c:1483
#: py/objstr.c:1492
msgid "incomplete format"
msgstr ""
#: py/objstr.c:1491
#: py/objstr.c:1500
msgid "not enough arguments for format string"
msgstr ""
#: py/objstr.c:1501
#: py/objstr.c:1510
#, c-format
msgid "%%c requires int or char"
msgstr ""
#: py/objstr.c:1508
#: py/objstr.c:1517
msgid "integer required"
msgstr ""
#: py/objstr.c:1571
#: py/objstr.c:1580
#, c-format
msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr ""
#: py/objstr.c:1578
#: py/objstr.c:1587
msgid "not all arguments converted during string formatting"
msgstr ""
#: py/objstr.c:2103
#: py/objstr.c:2112
msgid "can't convert to str implicitly"
msgstr ""
#: py/objstr.c:2107
#: py/objstr.c:2116
msgid "can't convert '%q' object to %q implicitly"
msgstr ""
#: py/objstrunicode.c:134
#: py/objstrunicode.c:154
#, c-format
msgid "string indices must be integers, not %s"
msgstr ""
#: py/objstrunicode.c:145 py/objstrunicode.c:164
#: py/objstrunicode.c:165 py/objstrunicode.c:184
msgid "string index out of range"
msgstr ""
@ -2197,7 +2201,10 @@ msgid "timeout must be >= 0.0"
msgstr ""
#: shared-bindings/bleio/CharacteristicBuffer.c:79
msgid "buffer_size must be >= 1"
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69
#: shared-bindings/displayio/Shape.c:73
msgid "%q must be >= 1"
msgstr ""
#: shared-bindings/bleio/CharacteristicBuffer.c:83
@ -2354,11 +2361,6 @@ msgstr ""
msgid "Command must be an int between 0 and 255"
msgstr ""
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100
msgid "%q must be >= 1"
msgstr ""
#: shared-bindings/displayio/Palette.c:91
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
msgstr ""
@ -2380,15 +2382,15 @@ msgstr ""
msgid "palette_index should be an int"
msgstr ""
#: shared-bindings/displayio/Shape.c:88
#: shared-bindings/displayio/Shape.c:97
msgid "y should be an int"
msgstr ""
#: shared-bindings/displayio/Shape.c:92
#: shared-bindings/displayio/Shape.c:101
msgid "start_x should be an int"
msgstr ""
#: shared-bindings/displayio/Shape.c:96
#: shared-bindings/displayio/Shape.c:105
msgid "end_x should be an int"
msgstr ""

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-12 22:32-0500\n"
"POT-Creation-Date: 2019-02-14 15:42+0100\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: Sebastian Plamauer\n"
"Language-Team: \n"
@ -103,11 +103,11 @@ msgstr "leerer heap"
msgid "syntax error in JSON"
msgstr "Syntaxfehler in JSON"
#: extmod/modure.c:161
#: extmod/modure.c:265
msgid "Splitting with sub-captures"
msgstr "Teilen mit unter-captures"
#: extmod/modure.c:207
#: extmod/modure.c:428
msgid "Error in regex"
msgstr "Fehler in regex"
@ -155,7 +155,7 @@ msgstr "kompilieren von Skripten ist nicht unterstützt"
msgid " output:\n"
msgstr " Ausgabe:\n"
#: main.c:166 main.c:247
#: main.c:166 main.c:248
msgid ""
"Auto-reload is on. Simply save files over USB to run them or enter REPL to "
"disable.\n"
@ -167,7 +167,7 @@ msgstr ""
msgid "Running in safe mode! Auto-reload is off.\n"
msgstr "Sicherheitsmodus aktiv! Automatisches Neuladen ist deaktiviert.\n"
#: main.c:170 main.c:249
#: main.c:170 main.c:250
msgid "Auto-reload is off.\n"
msgstr "Automatisches Neuladen ist deaktiviert.\n"
@ -186,13 +186,13 @@ msgid ""
"Code done running. Waiting for reload.\n"
msgstr ""
#: main.c:254
#: main.c:255
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
msgstr ""
"Drücke eine Taste um dich mit der REPL zu verbinden. Drücke Strg-D zum neu "
"laden"
#: main.c:419
#: main.c:420
msgid "soft reboot\n"
msgstr "soft reboot\n"
@ -358,12 +358,12 @@ msgstr "Konnte keinen RX Buffer allozieren"
msgid "Could not initialize UART"
msgstr "Konnte UART nicht initialisieren"
#: ports/atmel-samd/common-hal/busio/UART.c:241
#: ports/atmel-samd/common-hal/busio/UART.c:252
#: ports/nrf/common-hal/busio/UART.c:230
msgid "No RX pin"
msgstr "Kein RX Pin"
#: ports/atmel-samd/common-hal/busio/UART.c:300
#: ports/atmel-samd/common-hal/busio/UART.c:311
#: ports/nrf/common-hal/busio/UART.c:265
msgid "No TX pin"
msgstr "Kein TX Pin"
@ -1493,7 +1493,7 @@ msgstr "'%s' Objekt unterstützt keine item assignment"
msgid "object with buffer protocol required"
msgstr "Objekt mit Pufferprotokoll (buffer protocol) erforderlich"
#: py/objarray.c:413 py/objstr.c:428 py/objstrunicode.c:191 py/objtuple.c:188
#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188
#: shared-bindings/nvm/ByteArray.c:85
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
@ -1643,152 +1643,157 @@ msgstr ""
msgid "wrong number of arguments"
msgstr ""
#: py/objstr.c:468
#: py/objstr.c:414 py/objstrunicode.c:118
#, fuzzy
msgid "offset out of bounds"
msgstr "Modul nicht gefunden"
#: py/objstr.c:477
msgid "join expects a list of str/bytes objects consistent with self object"
msgstr ""
#: py/objstr.c:543 py/objstr.c:648 py/objstr.c:1745
#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754
msgid "empty separator"
msgstr ""
#: py/objstr.c:642
#: py/objstr.c:651
msgid "rsplit(None,n)"
msgstr ""
#: py/objstr.c:714
#: py/objstr.c:723
msgid "substring not found"
msgstr ""
#: py/objstr.c:771
#: py/objstr.c:780
msgid "start/end indices"
msgstr ""
#: py/objstr.c:932
#: py/objstr.c:941
msgid "bad format string"
msgstr ""
#: py/objstr.c:954
#: py/objstr.c:963
msgid "single '}' encountered in format string"
msgstr ""
#: py/objstr.c:993
#: py/objstr.c:1002
msgid "bad conversion specifier"
msgstr ""
#: py/objstr.c:997
#: py/objstr.c:1006
msgid "end of format while looking for conversion specifier"
msgstr ""
#: py/objstr.c:999
#: py/objstr.c:1008
#, c-format
msgid "unknown conversion specifier %c"
msgstr ""
#: py/objstr.c:1030
#: py/objstr.c:1039
msgid "unmatched '{' in format"
msgstr ""
#: py/objstr.c:1037
#: py/objstr.c:1046
msgid "expected ':' after format specifier"
msgstr ""
#: py/objstr.c:1051
#: py/objstr.c:1060
msgid ""
"can't switch from automatic field numbering to manual field specification"
msgstr ""
#: py/objstr.c:1056 py/objstr.c:1084
#: py/objstr.c:1065 py/objstr.c:1093
msgid "tuple index out of range"
msgstr ""
#: py/objstr.c:1072
#: py/objstr.c:1081
msgid "attributes not supported yet"
msgstr ""
#: py/objstr.c:1080
#: py/objstr.c:1089
msgid ""
"can't switch from manual field specification to automatic field numbering"
msgstr ""
#: py/objstr.c:1172
#: py/objstr.c:1181
msgid "invalid format specifier"
msgstr ""
#: py/objstr.c:1193
#: py/objstr.c:1202
msgid "sign not allowed in string format specifier"
msgstr ""
#: py/objstr.c:1201
#: py/objstr.c:1210
msgid "sign not allowed with integer format specifier 'c'"
msgstr ""
#: py/objstr.c:1260
#: py/objstr.c:1269
#, c-format
msgid "unknown format code '%c' for object of type '%s'"
msgstr ""
#: py/objstr.c:1332
#: py/objstr.c:1341
#, c-format
msgid "unknown format code '%c' for object of type 'float'"
msgstr ""
#: py/objstr.c:1344
#: py/objstr.c:1353
msgid "'=' alignment not allowed in string format specifier"
msgstr ""
#: py/objstr.c:1368
#: py/objstr.c:1377
#, c-format
msgid "unknown format code '%c' for object of type 'str'"
msgstr ""
#: py/objstr.c:1416
#: py/objstr.c:1425
msgid "format requires a dict"
msgstr ""
#: py/objstr.c:1425
#: py/objstr.c:1434
msgid "incomplete format key"
msgstr ""
#: py/objstr.c:1483
#: py/objstr.c:1492
msgid "incomplete format"
msgstr ""
#: py/objstr.c:1491
#: py/objstr.c:1500
msgid "not enough arguments for format string"
msgstr ""
#: py/objstr.c:1501
#: py/objstr.c:1510
#, c-format
msgid "%%c requires int or char"
msgstr ""
#: py/objstr.c:1508
#: py/objstr.c:1517
msgid "integer required"
msgstr ""
#: py/objstr.c:1571
#: py/objstr.c:1580
#, c-format
msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr ""
#: py/objstr.c:1578
#: py/objstr.c:1587
msgid "not all arguments converted during string formatting"
msgstr ""
#: py/objstr.c:2103
#: py/objstr.c:2112
msgid "can't convert to str implicitly"
msgstr ""
#: py/objstr.c:2107
#: py/objstr.c:2116
msgid "can't convert '%q' object to %q implicitly"
msgstr ""
#: py/objstrunicode.c:134
#: py/objstrunicode.c:154
#, c-format
msgid "string indices must be integers, not %s"
msgstr ""
#: py/objstrunicode.c:145 py/objstrunicode.c:164
#: py/objstrunicode.c:165 py/objstrunicode.c:184
msgid "string index out of range"
msgstr ""
@ -2222,7 +2227,11 @@ msgid "timeout must be >= 0.0"
msgstr "timeout muss >= 0.0 sein"
#: shared-bindings/bleio/CharacteristicBuffer.c:79
msgid "buffer_size must be >= 1"
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69
#: shared-bindings/displayio/Shape.c:73
#, fuzzy
msgid "%q must be >= 1"
msgstr "Puffergröße muss >= 1 sein"
#: shared-bindings/bleio/CharacteristicBuffer.c:83
@ -2379,12 +2388,6 @@ msgstr ""
msgid "Command must be an int between 0 and 255"
msgstr ""
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100
#, fuzzy
msgid "%q must be >= 1"
msgstr "Puffergröße muss >= 1 sein"
#: shared-bindings/displayio/Palette.c:91
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
msgstr ""
@ -2406,15 +2409,15 @@ msgstr ""
msgid "palette_index should be an int"
msgstr ""
#: shared-bindings/displayio/Shape.c:88
#: shared-bindings/displayio/Shape.c:97
msgid "y should be an int"
msgstr ""
#: shared-bindings/displayio/Shape.c:92
#: shared-bindings/displayio/Shape.c:101
msgid "start_x should be an int"
msgstr ""
#: shared-bindings/displayio/Shape.c:96
#: shared-bindings/displayio/Shape.c:105
msgid "end_x should be an int"
msgstr ""
@ -2841,16 +2844,19 @@ msgstr ""
"Die Reset-Taste wurde beim Booten von CircuitPython gedrückt. Drücke sie "
"erneut um den abgesicherten Modus zu verlassen. \n"
#, fuzzy
#~ msgid "Group must have %q at least 1"
#~ msgstr "Der Puffer muss eine Mindestenslänge von 1 haben"
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART nicht verfügbar"
#~ msgid "All PWM peripherals are in use"
#~ msgstr "Alle PWM-Peripheriegeräte werden verwendet"
#, fuzzy
#~ msgid "unicode_characters must be a string"
#~ msgstr "name muss ein String sein"
#~ msgid "All PWM peripherals are in use"
#~ msgstr "Alle PWM-Peripheriegeräte werden verwendet"
#, fuzzy
#~ msgid "Group must have %q at least 1"
#~ msgstr "Der Puffer muss eine Mindestenslänge von 1 haben"
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART nicht verfügbar"
#~ msgid "buffer_size must be >= 1"
#~ msgstr "Puffergröße muss >= 1 sein"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-12 22:32-0500\n"
"POT-Creation-Date: 2019-02-14 15:42+0100\n"
"PO-Revision-Date: 2018-07-27 11:55-0700\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -103,11 +103,11 @@ msgstr ""
msgid "syntax error in JSON"
msgstr ""
#: extmod/modure.c:161
#: extmod/modure.c:265
msgid "Splitting with sub-captures"
msgstr ""
#: extmod/modure.c:207
#: extmod/modure.c:428
msgid "Error in regex"
msgstr ""
@ -155,7 +155,7 @@ msgstr ""
msgid " output:\n"
msgstr ""
#: main.c:166 main.c:247
#: main.c:166 main.c:248
msgid ""
"Auto-reload is on. Simply save files over USB to run them or enter REPL to "
"disable.\n"
@ -165,7 +165,7 @@ msgstr ""
msgid "Running in safe mode! Auto-reload is off.\n"
msgstr ""
#: main.c:170 main.c:249
#: main.c:170 main.c:250
msgid "Auto-reload is off.\n"
msgstr ""
@ -183,11 +183,11 @@ msgid ""
"Code done running. Waiting for reload.\n"
msgstr ""
#: main.c:254
#: main.c:255
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
msgstr ""
#: main.c:419
#: main.c:420
msgid "soft reboot\n"
msgstr ""
@ -353,12 +353,12 @@ msgstr ""
msgid "Could not initialize UART"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c:241
#: ports/atmel-samd/common-hal/busio/UART.c:252
#: ports/nrf/common-hal/busio/UART.c:230
msgid "No RX pin"
msgstr ""
#: ports/atmel-samd/common-hal/busio/UART.c:300
#: ports/atmel-samd/common-hal/busio/UART.c:311
#: ports/nrf/common-hal/busio/UART.c:265
msgid "No TX pin"
msgstr ""
@ -1474,7 +1474,7 @@ msgstr ""
msgid "object with buffer protocol required"
msgstr ""
#: py/objarray.c:413 py/objstr.c:428 py/objstrunicode.c:191 py/objtuple.c:188
#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188
#: shared-bindings/nvm/ByteArray.c:85
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
@ -1624,152 +1624,156 @@ msgstr ""
msgid "wrong number of arguments"
msgstr ""
#: py/objstr.c:468
#: py/objstr.c:414 py/objstrunicode.c:118
msgid "offset out of bounds"
msgstr ""
#: py/objstr.c:477
msgid "join expects a list of str/bytes objects consistent with self object"
msgstr ""
#: py/objstr.c:543 py/objstr.c:648 py/objstr.c:1745
#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754
msgid "empty separator"
msgstr ""
#: py/objstr.c:642
#: py/objstr.c:651
msgid "rsplit(None,n)"
msgstr ""
#: py/objstr.c:714
#: py/objstr.c:723
msgid "substring not found"
msgstr ""
#: py/objstr.c:771
#: py/objstr.c:780
msgid "start/end indices"
msgstr ""
#: py/objstr.c:932
#: py/objstr.c:941
msgid "bad format string"
msgstr ""
#: py/objstr.c:954
#: py/objstr.c:963
msgid "single '}' encountered in format string"
msgstr ""
#: py/objstr.c:993
#: py/objstr.c:1002
msgid "bad conversion specifier"
msgstr ""
#: py/objstr.c:997
#: py/objstr.c:1006
msgid "end of format while looking for conversion specifier"
msgstr ""
#: py/objstr.c:999
#: py/objstr.c:1008
#, c-format
msgid "unknown conversion specifier %c"
msgstr ""
#: py/objstr.c:1030
#: py/objstr.c:1039
msgid "unmatched '{' in format"
msgstr ""
#: py/objstr.c:1037
#: py/objstr.c:1046
msgid "expected ':' after format specifier"
msgstr ""
#: py/objstr.c:1051
#: py/objstr.c:1060
msgid ""
"can't switch from automatic field numbering to manual field specification"
msgstr ""
#: py/objstr.c:1056 py/objstr.c:1084
#: py/objstr.c:1065 py/objstr.c:1093
msgid "tuple index out of range"
msgstr ""
#: py/objstr.c:1072
#: py/objstr.c:1081
msgid "attributes not supported yet"
msgstr ""
#: py/objstr.c:1080
#: py/objstr.c:1089
msgid ""
"can't switch from manual field specification to automatic field numbering"
msgstr ""
#: py/objstr.c:1172
#: py/objstr.c:1181
msgid "invalid format specifier"
msgstr ""
#: py/objstr.c:1193
#: py/objstr.c:1202
msgid "sign not allowed in string format specifier"
msgstr ""
#: py/objstr.c:1201
#: py/objstr.c:1210
msgid "sign not allowed with integer format specifier 'c'"
msgstr ""
#: py/objstr.c:1260
#: py/objstr.c:1269
#, c-format
msgid "unknown format code '%c' for object of type '%s'"
msgstr ""
#: py/objstr.c:1332
#: py/objstr.c:1341
#, c-format
msgid "unknown format code '%c' for object of type 'float'"
msgstr ""
#: py/objstr.c:1344
#: py/objstr.c:1353
msgid "'=' alignment not allowed in string format specifier"
msgstr ""
#: py/objstr.c:1368
#: py/objstr.c:1377
#, c-format
msgid "unknown format code '%c' for object of type 'str'"
msgstr ""
#: py/objstr.c:1416
#: py/objstr.c:1425
msgid "format requires a dict"
msgstr ""
#: py/objstr.c:1425
#: py/objstr.c:1434
msgid "incomplete format key"
msgstr ""
#: py/objstr.c:1483
#: py/objstr.c:1492
msgid "incomplete format"
msgstr ""
#: py/objstr.c:1491
#: py/objstr.c:1500
msgid "not enough arguments for format string"
msgstr ""
#: py/objstr.c:1501
#: py/objstr.c:1510
#, c-format
msgid "%%c requires int or char"
msgstr ""
#: py/objstr.c:1508
#: py/objstr.c:1517
msgid "integer required"
msgstr ""
#: py/objstr.c:1571
#: py/objstr.c:1580
#, c-format
msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr ""
#: py/objstr.c:1578
#: py/objstr.c:1587
msgid "not all arguments converted during string formatting"
msgstr ""
#: py/objstr.c:2103
#: py/objstr.c:2112
msgid "can't convert to str implicitly"
msgstr ""
#: py/objstr.c:2107
#: py/objstr.c:2116
msgid "can't convert '%q' object to %q implicitly"
msgstr ""
#: py/objstrunicode.c:134
#: py/objstrunicode.c:154
#, c-format
msgid "string indices must be integers, not %s"
msgstr ""
#: py/objstrunicode.c:145 py/objstrunicode.c:164
#: py/objstrunicode.c:165 py/objstrunicode.c:184
msgid "string index out of range"
msgstr ""
@ -2197,7 +2201,10 @@ msgid "timeout must be >= 0.0"
msgstr ""
#: shared-bindings/bleio/CharacteristicBuffer.c:79
msgid "buffer_size must be >= 1"
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69
#: shared-bindings/displayio/Shape.c:73
msgid "%q must be >= 1"
msgstr ""
#: shared-bindings/bleio/CharacteristicBuffer.c:83
@ -2354,11 +2361,6 @@ msgstr ""
msgid "Command must be an int between 0 and 255"
msgstr ""
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100
msgid "%q must be >= 1"
msgstr ""
#: shared-bindings/displayio/Palette.c:91
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
msgstr ""
@ -2380,15 +2382,15 @@ msgstr ""
msgid "palette_index should be an int"
msgstr ""
#: shared-bindings/displayio/Shape.c:88
#: shared-bindings/displayio/Shape.c:97
msgid "y should be an int"
msgstr ""
#: shared-bindings/displayio/Shape.c:92
#: shared-bindings/displayio/Shape.c:101
msgid "start_x should be an int"
msgstr ""
#: shared-bindings/displayio/Shape.c:96
#: shared-bindings/displayio/Shape.c:105
msgid "end_x should be an int"
msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-12 22:32-0500\n"
"POT-Creation-Date: 2019-02-14 15:42+0100\n"
"PO-Revision-Date: 2018-08-24 22:56-0500\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -104,11 +104,11 @@ msgstr "heap vacío"
msgid "syntax error in JSON"
msgstr "error de sintaxis en JSON"
#: extmod/modure.c:161
#: extmod/modure.c:265
msgid "Splitting with sub-captures"
msgstr "Dividiendo con sub-capturas"
#: extmod/modure.c:207
#: extmod/modure.c:428
msgid "Error in regex"
msgstr "Error en regex"
@ -156,7 +156,7 @@ msgstr "script de compilación no soportado"
msgid " output:\n"
msgstr " salida:\n"
#: main.c:166 main.c:247
#: main.c:166 main.c:248
msgid ""
"Auto-reload is on. Simply save files over USB to run them or enter REPL to "
"disable.\n"
@ -168,7 +168,7 @@ msgstr ""
msgid "Running in safe mode! Auto-reload is off.\n"
msgstr "Ejecutando en modo seguro! La auto-recarga esta deshabilitada.\n"
#: main.c:170 main.c:249
#: main.c:170 main.c:250
msgid "Auto-reload is off.\n"
msgstr "Auto-recarga deshabilitada.\n"
@ -186,12 +186,12 @@ msgid ""
"Code done running. Waiting for reload.\n"
msgstr ""
#: main.c:254
#: main.c:255
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
msgstr ""
"Presiona cualquier tecla para entrar al REPL. Usa CTRL-D para recargar."
#: main.c:419
#: main.c:420
msgid "soft reboot\n"
msgstr "reinicio suave\n"
@ -359,12 +359,12 @@ msgstr "Ha fallado la asignación del buffer RX"
msgid "Could not initialize UART"
msgstr "No se puede inicializar la UART"
#: ports/atmel-samd/common-hal/busio/UART.c:241
#: ports/atmel-samd/common-hal/busio/UART.c:252
#: ports/nrf/common-hal/busio/UART.c:230
msgid "No RX pin"
msgstr "Sin pin RX"
#: ports/atmel-samd/common-hal/busio/UART.c:300
#: ports/atmel-samd/common-hal/busio/UART.c:311
#: ports/nrf/common-hal/busio/UART.c:265
msgid "No TX pin"
msgstr "Sin pin TX"
@ -1511,7 +1511,7 @@ msgstr "el objeto '%s' no soporta la asignación de elementos"
msgid "object with buffer protocol required"
msgstr "objeto con protocolo de buffer requerido"
#: py/objarray.c:413 py/objstr.c:428 py/objstrunicode.c:191 py/objtuple.c:188
#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188
#: shared-bindings/nvm/ByteArray.c:85
msgid "only slices with step=1 (aka None) are supported"
msgstr "solo se admiten segmentos con step=1 (alias None)"
@ -1662,158 +1662,163 @@ msgstr "valor de bytes fuera de rango"
msgid "wrong number of arguments"
msgstr "numero erroneo de argumentos"
#: py/objstr.c:468
#: py/objstr.c:414 py/objstrunicode.c:118
#, fuzzy
msgid "offset out of bounds"
msgstr "address fuera de límites"
#: py/objstr.c:477
msgid "join expects a list of str/bytes objects consistent with self object"
msgstr ""
"join espera una lista de objetos str/bytes consistentes con el mismo objeto"
#: py/objstr.c:543 py/objstr.c:648 py/objstr.c:1745
#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754
msgid "empty separator"
msgstr "separator vacío"
#: py/objstr.c:642
#: py/objstr.c:651
msgid "rsplit(None,n)"
msgstr "rsplit(None,n)"
#: py/objstr.c:714
#: py/objstr.c:723
msgid "substring not found"
msgstr "substring no encontrado"
#: py/objstr.c:771
#: py/objstr.c:780
msgid "start/end indices"
msgstr "índices inicio/final"
#: py/objstr.c:932
#: py/objstr.c:941
msgid "bad format string"
msgstr "formato de string erroneo"
#: py/objstr.c:954
#: py/objstr.c:963
msgid "single '}' encountered in format string"
msgstr "un solo '}' encontrado en format string"
#: py/objstr.c:993
#: py/objstr.c:1002
msgid "bad conversion specifier"
msgstr "especificador de conversion erroneo"
#: py/objstr.c:997
#: py/objstr.c:1006
msgid "end of format while looking for conversion specifier"
msgstr "el final del formato mientras se busca el especificador de conversión"
#: py/objstr.c:999
#: py/objstr.c:1008
#, c-format
msgid "unknown conversion specifier %c"
msgstr "especificador de conversión %c desconocido"
#: py/objstr.c:1030
#: py/objstr.c:1039
msgid "unmatched '{' in format"
msgstr "No coinciden '{' en format"
#: py/objstr.c:1037
#: py/objstr.c:1046
msgid "expected ':' after format specifier"
msgstr "se espera ':' despues de un especificaro de tipo format"
#: py/objstr.c:1051
#: py/objstr.c:1060
msgid ""
"can't switch from automatic field numbering to manual field specification"
msgstr ""
"no se puede cambiar de la numeración automática de campos a la "
"especificación de campo manual"
#: py/objstr.c:1056 py/objstr.c:1084
#: py/objstr.c:1065 py/objstr.c:1093
msgid "tuple index out of range"
msgstr "tuple index fuera de rango"
#: py/objstr.c:1072
#: py/objstr.c:1081
msgid "attributes not supported yet"
msgstr "atributos aún no soportados"
#: py/objstr.c:1080
#: py/objstr.c:1089
msgid ""
"can't switch from manual field specification to automatic field numbering"
msgstr ""
"no se puede cambiar de especificación de campo manual a numeración "
"automática de campos"
#: py/objstr.c:1172
#: py/objstr.c:1181
msgid "invalid format specifier"
msgstr "especificador de formato inválido"
#: py/objstr.c:1193
#: py/objstr.c:1202
msgid "sign not allowed in string format specifier"
msgstr "signo no permitido en el espeficador de string format"
#: py/objstr.c:1201
#: py/objstr.c:1210
msgid "sign not allowed with integer format specifier 'c'"
msgstr "signo no permitido con el especificador integer format 'c'"
#: py/objstr.c:1260
#: py/objstr.c:1269
#, c-format
msgid "unknown format code '%c' for object of type '%s'"
msgstr "codigo format desconocido '%c' para el typo de objeto '%s'"
#: py/objstr.c:1332
#: py/objstr.c:1341
#, c-format
msgid "unknown format code '%c' for object of type 'float'"
msgstr "codigo format desconocido '%c' para el typo de objeto 'float'"
#: py/objstr.c:1344
#: py/objstr.c:1353
msgid "'=' alignment not allowed in string format specifier"
msgstr "'=' alineación no permitida en el especificador string format"
#: py/objstr.c:1368
#: py/objstr.c:1377
#, c-format
msgid "unknown format code '%c' for object of type 'str'"
msgstr "codigo format desconocido '%c' para objeto de tipo 'str'"
#: py/objstr.c:1416
#: py/objstr.c:1425
msgid "format requires a dict"
msgstr "format requiere un dict"
#: py/objstr.c:1425
#: py/objstr.c:1434
msgid "incomplete format key"
msgstr ""
#: py/objstr.c:1483
#: py/objstr.c:1492
msgid "incomplete format"
msgstr "formato incompleto"
#: py/objstr.c:1491
#: py/objstr.c:1500
msgid "not enough arguments for format string"
msgstr "no suficientes argumentos para format string"
#: py/objstr.c:1501
#: py/objstr.c:1510
#, c-format
msgid "%%c requires int or char"
msgstr "%%c requiere int o char"
#: py/objstr.c:1508
#: py/objstr.c:1517
msgid "integer required"
msgstr "Entero requerido"
#: py/objstr.c:1571
#: py/objstr.c:1580
#, c-format
msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "carácter no soportado '%c' (0x%x) en índice %d"
#: py/objstr.c:1578
#: py/objstr.c:1587
msgid "not all arguments converted during string formatting"
msgstr ""
"no todos los argumentos fueron convertidos durante el formato de string"
#: py/objstr.c:2103
#: py/objstr.c:2112
msgid "can't convert to str implicitly"
msgstr "no se puede convertir a str implícitamente"
#: py/objstr.c:2107
#: py/objstr.c:2116
msgid "can't convert '%q' object to %q implicitly"
msgstr "no se puede convertir el objeto '%q' a %q implícitamente"
#: py/objstrunicode.c:134
#: py/objstrunicode.c:154
#, c-format
msgid "string indices must be integers, not %s"
msgstr "índices de string deben ser enteros, no %s"
#: py/objstrunicode.c:145 py/objstrunicode.c:164
#: py/objstrunicode.c:165 py/objstrunicode.c:184
msgid "string index out of range"
msgstr "string index fuera de rango"
@ -2253,8 +2258,11 @@ msgid "timeout must be >= 0.0"
msgstr "bits debe ser 8"
#: shared-bindings/bleio/CharacteristicBuffer.c:79
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69
#: shared-bindings/displayio/Shape.c:73
#, fuzzy
msgid "buffer_size must be >= 1"
msgid "%q must be >= 1"
msgstr "los buffers deben de tener la misma longitud"
#: shared-bindings/bleio/CharacteristicBuffer.c:83
@ -2417,12 +2425,6 @@ msgstr ""
msgid "Command must be an int between 0 and 255"
msgstr "Bytes debe estar entre 0 y 255."
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100
#, fuzzy
msgid "%q must be >= 1"
msgstr "los buffers deben de tener la misma longitud"
#: shared-bindings/displayio/Palette.c:91
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
msgstr "color buffer deberia ser un bytearray o array de tipo 'b' o 'B'"
@ -2444,16 +2446,16 @@ msgstr "color buffer deber ser un buffer o un int"
msgid "palette_index should be an int"
msgstr "palette_index deberia ser un int"
#: shared-bindings/displayio/Shape.c:88
#: shared-bindings/displayio/Shape.c:97
msgid "y should be an int"
msgstr "y deberia ser un int"
#: shared-bindings/displayio/Shape.c:92
#: shared-bindings/displayio/Shape.c:101
#, fuzzy
msgid "start_x should be an int"
msgstr "y deberia ser un int"
#: shared-bindings/displayio/Shape.c:96
#: shared-bindings/displayio/Shape.c:105
#, fuzzy
msgid "end_x should be an int"
msgstr "y deberia ser un int"
@ -2883,85 +2885,11 @@ msgstr ""
"El botón reset fue presionado mientras arrancaba CircuitPython. Presiona "
"otra vez para salir del modo seguro.\n"
#, fuzzy
#~ msgid "Group must have %q at least 1"
#~ msgstr "Group debe tener size de minimo 1"
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART no disponible"
#~ msgid "Baud rate too high for this SPI peripheral"
#~ msgstr "Baud rate demasiado alto para este periférico SPI"
#~ msgid "Invalid UUID parameter"
#~ msgstr "Parámetro UUID inválido"
#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
#~ msgstr "row buffer deberia ser un bytearray o array de tipo 'b' o 'B'"
#~ msgid "row data must be a buffer"
#~ msgstr "row data debe ser un buffer"
#, fuzzy
#~ msgid "unicode_characters must be a string"
#~ msgstr "palabras clave deben ser strings"
#~ msgid "index must be int"
#~ msgstr "indice debe ser int"
#~ msgid "Can not query for the device address."
#~ msgstr "No se puede consultar la dirección del dispositivo."
#~ msgid "All PWM peripherals are in use"
#~ msgstr "Todos los periféricos PWM en uso"
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
#~ msgstr ""
#~ "Parece que nuestro código CircuitPython dejó de funcionar. Whoops!\n"
#~ msgid "Group empty"
#~ msgstr "Group vacío"
#~ msgid "Wrong address length"
#~ msgstr "Longitud de address erronea"
#~ msgid "Can encode UUID into the advertisement packet."
#~ msgstr "Se puede codificar el UUID en el paquete de anuncio."
#~ msgid "Invalid Service type"
#~ msgstr "Tipo de Servicio inválido"
#~ msgid "Invalid UUID string length"
#~ msgstr "Longitud de string UUID inválida"
#~ msgid "Can not add Service."
#~ msgstr "No se puede agregar el Servicio."
#~ msgid "displayio is a work in progress"
#~ msgstr "displayio todavia esta en desarrollo"
#~ msgid ""
#~ "enough power for the whole circuit and press reset (after ejecting "
#~ "CIRCUITPY).\n"
#~ msgstr ""
#~ "suficiente poder para todo el circuito y presiona reset (después de "
#~ "expulsar CIRCUITPY).\n"
#, fuzzy
#~ msgid "unpack requires a buffer of %d bytes"
#~ msgstr "Falló la asignación del buffer RX de %d bytes"
#~ msgid "Can not encode UUID, to check length."
#~ msgstr "No se puede codificar el UUID, para revisar la longitud."
#~ msgid "Wrong number of bytes provided"
#~ msgstr "Numero erroneo de bytes dados"
#~ msgid "Cannot apply GAP parameters."
#~ msgstr "No se pueden aplicar los parámetros GAP."
#~ msgid "Can not apply device name in the stack."
#~ msgstr "No se puede aplicar el nombre del dispositivo en el stack."
#~ msgid "Cannot set PPCP parameters."
#~ msgstr "No se pueden establecer los parámetros PPCP."
#~ msgid "Can not apply advertisement data. status: 0x%02x"
#~ msgstr "No se puede aplicar los datos de anuncio. status: 0x%02x"
#, fuzzy
#~ msgid ""
@ -2970,8 +2898,86 @@ msgstr ""
#~ "Por favor registra un issue en la siguiente URL con el contenidos de tu "
#~ "unidad de almacenamiento CIRCUITPY:\n"
#~ msgid "Can not apply advertisement data. status: 0x%02x"
#~ msgstr "No se puede aplicar los datos de anuncio. status: 0x%02x"
#~ msgid "Cannot set PPCP parameters."
#~ msgstr "No se pueden establecer los parámetros PPCP."
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART no disponible"
#~ msgid "Can not apply device name in the stack."
#~ msgstr "No se puede aplicar el nombre del dispositivo en el stack."
#~ msgid "Cannot apply GAP parameters."
#~ msgstr "No se pueden aplicar los parámetros GAP."
#~ msgid "Wrong number of bytes provided"
#~ msgstr "Numero erroneo de bytes dados"
#~ msgid "Can not encode UUID, to check length."
#~ msgstr "No se puede codificar el UUID, para revisar la longitud."
#, fuzzy
#~ msgid "unpack requires a buffer of %d bytes"
#~ msgstr "Falló la asignación del buffer RX de %d bytes"
#~ msgid ""
#~ "enough power for the whole circuit and press reset (after ejecting "
#~ "CIRCUITPY).\n"
#~ msgstr ""
#~ "suficiente poder para todo el circuito y presiona reset (después de "
#~ "expulsar CIRCUITPY).\n"
#~ msgid "displayio is a work in progress"
#~ msgstr "displayio todavia esta en desarrollo"
#~ msgid "Can not add Service."
#~ msgstr "No se puede agregar el Servicio."
#~ msgid "Invalid UUID string length"
#~ msgstr "Longitud de string UUID inválida"
#~ msgid "Invalid Service type"
#~ msgstr "Tipo de Servicio inválido"
#~ msgid "Can encode UUID into the advertisement packet."
#~ msgstr "Se puede codificar el UUID en el paquete de anuncio."
#~ msgid "Wrong address length"
#~ msgstr "Longitud de address erronea"
#~ msgid "Group empty"
#~ msgstr "Group vacío"
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
#~ msgstr ""
#~ "Parece que nuestro código CircuitPython dejó de funcionar. Whoops!\n"
#~ msgid "All PWM peripherals are in use"
#~ msgstr "Todos los periféricos PWM en uso"
#~ msgid "Can not query for the device address."
#~ msgstr "No se puede consultar la dirección del dispositivo."
#~ msgid "index must be int"
#~ msgstr "indice debe ser int"
#, fuzzy
#~ msgid "unicode_characters must be a string"
#~ msgstr "palabras clave deben ser strings"
#~ msgid "row data must be a buffer"
#~ msgstr "row data debe ser un buffer"
#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
#~ msgstr "row buffer deberia ser un bytearray o array de tipo 'b' o 'B'"
#~ msgid "Invalid UUID parameter"
#~ msgstr "Parámetro UUID inválido"
#~ msgid "Baud rate too high for this SPI peripheral"
#~ msgstr "Baud rate demasiado alto para este periférico SPI"
#, fuzzy
#~ msgid "Group must have %q at least 1"
#~ msgstr "Group debe tener size de minimo 1"
#, fuzzy
#~ msgid "buffer_size must be >= 1"
#~ msgstr "los buffers deben de tener la misma longitud"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-12 22:32-0500\n"
"POT-Creation-Date: 2019-02-14 15:42+0100\n"
"PO-Revision-Date: 2018-12-20 22:15-0800\n"
"Last-Translator: Timothy <me@timothygarcia.ca>\n"
"Language-Team: fil\n"
@ -103,11 +103,11 @@ msgstr "walang laman ang heap"
msgid "syntax error in JSON"
msgstr "sintaks error sa JSON"
#: extmod/modure.c:161
#: extmod/modure.c:265
msgid "Splitting with sub-captures"
msgstr "Binibiyak gamit ang sub-captures"
#: extmod/modure.c:207
#: extmod/modure.c:428
msgid "Error in regex"
msgstr "May pagkakamali sa REGEX"
@ -155,7 +155,7 @@ msgstr "script kompilasyon hindi supportado"
msgid " output:\n"
msgstr " output:\n"
#: main.c:166 main.c:247
#: main.c:166 main.c:248
msgid ""
"Auto-reload is on. Simply save files over USB to run them or enter REPL to "
"disable.\n"
@ -167,7 +167,7 @@ msgstr ""
msgid "Running in safe mode! Auto-reload is off.\n"
msgstr "Tumatakbo sa safe mode! Awtomatikong pag re-reload ay OFF.\n"
#: main.c:170 main.c:249
#: main.c:170 main.c:250
msgid "Auto-reload is off.\n"
msgstr "Awtomatikong pag re-reload ay OFF.\n"
@ -185,13 +185,13 @@ msgid ""
"Code done running. Waiting for reload.\n"
msgstr ""
#: main.c:254
#: main.c:255
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
msgstr ""
"Pindutin ang anumang key upang pumasok sa REPL. Gamitin ang CTRL-D upang i-"
"reload."
#: main.c:419
#: main.c:420
msgid "soft reboot\n"
msgstr "malambot na reboot\n"
@ -357,12 +357,12 @@ msgstr "Nabigong ilaan ang RX buffer"
msgid "Could not initialize UART"
msgstr "Hindi ma-initialize ang UART"
#: ports/atmel-samd/common-hal/busio/UART.c:241
#: ports/atmel-samd/common-hal/busio/UART.c:252
#: ports/nrf/common-hal/busio/UART.c:230
msgid "No RX pin"
msgstr "Walang RX pin"
#: ports/atmel-samd/common-hal/busio/UART.c:300
#: ports/atmel-samd/common-hal/busio/UART.c:311
#: ports/nrf/common-hal/busio/UART.c:265
msgid "No TX pin"
msgstr "Walang TX pin"
@ -1512,7 +1512,7 @@ msgstr "'%s' object hindi sumusuporta ng item assignment"
msgid "object with buffer protocol required"
msgstr "object na may buffer protocol kinakailangan"
#: py/objarray.c:413 py/objstr.c:428 py/objstrunicode.c:191 py/objtuple.c:188
#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188
#: shared-bindings/nvm/ByteArray.c:85
msgid "only slices with step=1 (aka None) are supported"
msgstr "ang mga slices lamang na may hakbang = 1 (aka None) ang sinusuportahan"
@ -1663,158 +1663,163 @@ msgstr "bytes value wala sa sakop"
msgid "wrong number of arguments"
msgstr "mali ang bilang ng argumento"
#: py/objstr.c:468
#: py/objstr.c:414 py/objstrunicode.c:118
#, fuzzy
msgid "offset out of bounds"
msgstr "wala sa sakop ang address"
#: py/objstr.c:477
msgid "join expects a list of str/bytes objects consistent with self object"
msgstr ""
"join umaaasang may listahan ng str/bytes objects na naalinsunod sa self "
"object"
#: py/objstr.c:543 py/objstr.c:648 py/objstr.c:1745
#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754
msgid "empty separator"
msgstr "walang laman na separator"
#: py/objstr.c:642
#: py/objstr.c:651
msgid "rsplit(None,n)"
msgstr "rsplit(None,n)"
#: py/objstr.c:714
#: py/objstr.c:723
msgid "substring not found"
msgstr "substring hindi nahanap"
#: py/objstr.c:771
#: py/objstr.c:780
msgid "start/end indices"
msgstr "start/end indeks"
#: py/objstr.c:932
#: py/objstr.c:941
msgid "bad format string"
msgstr "maling format ang string"
#: py/objstr.c:954
#: py/objstr.c:963
msgid "single '}' encountered in format string"
msgstr "isang '}' nasalubong sa format string"
#: py/objstr.c:993
#: py/objstr.c:1002
msgid "bad conversion specifier"
msgstr "masamang pag convert na specifier"
#: py/objstr.c:997
#: py/objstr.c:1006
msgid "end of format while looking for conversion specifier"
msgstr "sa huli ng format habang naghahanap sa conversion specifier"
#: py/objstr.c:999
#: py/objstr.c:1008
#, c-format
msgid "unknown conversion specifier %c"
msgstr "hindi alam ang conversion specifier na %c"
#: py/objstr.c:1030
#: py/objstr.c:1039
msgid "unmatched '{' in format"
msgstr "hindi tugma ang '{' sa format"
#: py/objstr.c:1037
#: py/objstr.c:1046
msgid "expected ':' after format specifier"
msgstr "umaasa ng ':' pagkatapos ng format specifier"
#: py/objstr.c:1051
#: py/objstr.c:1060
msgid ""
"can't switch from automatic field numbering to manual field specification"
msgstr ""
"hindi mapalitan ang awtomatikong field numbering sa manual field "
"specification"
#: py/objstr.c:1056 py/objstr.c:1084
#: py/objstr.c:1065 py/objstr.c:1093
msgid "tuple index out of range"
msgstr "indeks ng tuple wala sa sakop"
#: py/objstr.c:1072
#: py/objstr.c:1081
msgid "attributes not supported yet"
msgstr "attributes hindi sinusuportahan"
#: py/objstr.c:1080
#: py/objstr.c:1089
msgid ""
"can't switch from manual field specification to automatic field numbering"
msgstr ""
"hindi mapalitan ang manual field specification sa awtomatikong field "
"numbering"
#: py/objstr.c:1172
#: py/objstr.c:1181
msgid "invalid format specifier"
msgstr "mali ang format specifier"
#: py/objstr.c:1193
#: py/objstr.c:1202
msgid "sign not allowed in string format specifier"
msgstr "sign hindi maaring string format specifier"
#: py/objstr.c:1201
#: py/objstr.c:1210
msgid "sign not allowed with integer format specifier 'c'"
msgstr "sign hindi maari sa integer format specifier 'c'"
#: py/objstr.c:1260
#: py/objstr.c:1269
#, c-format
msgid "unknown format code '%c' for object of type '%s'"
msgstr "hindi alam ang format code '%c' para sa object na ang type ay '%s'"
#: py/objstr.c:1332
#: py/objstr.c:1341
#, c-format
msgid "unknown format code '%c' for object of type 'float'"
msgstr "hindi alam ang format code '%c' sa object na ang type ay 'float'"
#: py/objstr.c:1344
#: py/objstr.c:1353
msgid "'=' alignment not allowed in string format specifier"
msgstr "'=' Gindi pinapayagan ang alignment sa pag specify ng string format"
#: py/objstr.c:1368
#: py/objstr.c:1377
#, c-format
msgid "unknown format code '%c' for object of type 'str'"
msgstr "hindi alam ang format ng code na '%c' para sa object ng type ay 'str'"
#: py/objstr.c:1416
#: py/objstr.c:1425
msgid "format requires a dict"
msgstr "kailangan ng format ng dict"
#: py/objstr.c:1425
#: py/objstr.c:1434
msgid "incomplete format key"
msgstr "hindi kumpleto ang format key"
#: py/objstr.c:1483
#: py/objstr.c:1492
msgid "incomplete format"
msgstr "hindi kumpleto ang format"
#: py/objstr.c:1491
#: py/objstr.c:1500
msgid "not enough arguments for format string"
msgstr "kulang sa arguments para sa format string"
#: py/objstr.c:1501
#: py/objstr.c:1510
#, c-format
msgid "%%c requires int or char"
msgstr "%%c nangangailangan ng int o char"
#: py/objstr.c:1508
#: py/objstr.c:1517
msgid "integer required"
msgstr "kailangan ng int"
#: py/objstr.c:1571
#: py/objstr.c:1580
#, c-format
msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "hindi sinusuportahan ang format character na '%c' (0x%x) sa index %d"
#: py/objstr.c:1578
#: py/objstr.c:1587
msgid "not all arguments converted during string formatting"
msgstr "hindi lahat ng arguments na i-convert habang string formatting"
#: py/objstr.c:2103
#: py/objstr.c:2112
msgid "can't convert to str implicitly"
msgstr "hindi ma i-convert sa string ng walang pahiwatig"
#: py/objstr.c:2107
#: py/objstr.c:2116
msgid "can't convert '%q' object to %q implicitly"
msgstr "hindi maaaring i-convert ang '%q' na bagay sa %q nang walang pahiwatig"
#: py/objstrunicode.c:134
#: py/objstrunicode.c:154
#, c-format
msgid "string indices must be integers, not %s"
msgstr "ang indeks ng string ay dapat na integer, hindi %s"
#: py/objstrunicode.c:145 py/objstrunicode.c:164
#: py/objstrunicode.c:165 py/objstrunicode.c:184
msgid "string index out of range"
msgstr "indeks ng string wala sa sakop"
@ -2258,8 +2263,11 @@ msgid "timeout must be >= 0.0"
msgstr "bits ay dapat walo (8)"
#: shared-bindings/bleio/CharacteristicBuffer.c:79
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69
#: shared-bindings/displayio/Shape.c:73
#, fuzzy
msgid "buffer_size must be >= 1"
msgid "%q must be >= 1"
msgstr "aarehas na haba dapat ang buffer slices"
#: shared-bindings/bleio/CharacteristicBuffer.c:83
@ -2422,12 +2430,6 @@ msgstr ""
msgid "Command must be an int between 0 and 255"
msgstr "Sa gitna ng 0 o 255 dapat ang bytes."
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100
#, fuzzy
msgid "%q must be >= 1"
msgstr "aarehas na haba dapat ang buffer slices"
#: shared-bindings/displayio/Palette.c:91
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
msgstr "ang color buffer ay dapat bytearray o array na type b or B"
@ -2449,16 +2451,16 @@ msgstr "color buffer ay dapat buffer or int"
msgid "palette_index should be an int"
msgstr "palette_index ay dapat na int"
#: shared-bindings/displayio/Shape.c:88
#: shared-bindings/displayio/Shape.c:97
msgid "y should be an int"
msgstr "y ay dapat int"
#: shared-bindings/displayio/Shape.c:92
#: shared-bindings/displayio/Shape.c:101
#, fuzzy
msgid "start_x should be an int"
msgstr "y ay dapat int"
#: shared-bindings/displayio/Shape.c:96
#: shared-bindings/displayio/Shape.c:105
#, fuzzy
msgid "end_x should be an int"
msgstr "y ay dapat int"
@ -2889,60 +2891,36 @@ msgstr ""
"Ang reset button ay pinindot habang nag boot ang CircuitPython. Pindutin "
"ulit para lumabas sa safe mode.\n"
#, fuzzy
#~ msgid "Group must have %q at least 1"
#~ msgstr "Group dapat ay hindi baba sa 1 na haba"
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART hindi available"
#, fuzzy
#~ msgid "palette must be displayio.Palette"
#~ msgstr "ang palette ay dapat 32 bytes ang haba"
#~ msgid "Can not apply advertisement data. status: 0x%02x"
#~ msgstr "Hindi ma i-apply ang advertisement data. status: 0x%02x"
#~ msgid "Invalid UUID parameter"
#~ msgstr "Mali ang UUID parameter"
#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
#~ msgstr "ang row buffer ay dapat bytearray o array na type b or B"
#~ msgid "row data must be a buffer"
#~ msgstr "row data ay dapat na buffer"
#, fuzzy
#~ msgid "unicode_characters must be a string"
#~ msgstr "ang keywords dapat strings"
#~ msgid "index must be int"
#~ msgstr "index ay dapat int"
#~ msgid "Can not query for the device address."
#~ msgstr "Hindi maaaring mag-query para sa address ng device."
#~ msgid "All PWM peripherals are in use"
#~ msgstr "Lahat ng PWM peripherals ay ginagamit"
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
#~ msgid ""
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
#~ msgstr ""
#~ "Mukhang ang core CircuitPython code ay nag-crash ng malakas. Aray!\n"
#~ "Mag-file ng isang isyu dito gamit ang mga nilalaman ng iyong CIRCUITPY "
#~ "drive:\n"
#~ msgid "Group empty"
#~ msgstr "Walang laman ang group"
#~ msgid "Cannot set PPCP parameters."
#~ msgstr "Hindi ma-set ang PPCP parameters."
#~ msgid "Wrong address length"
#~ msgstr "Mali ang address length"
#~ msgid "Can not apply device name in the stack."
#~ msgstr "Hindi maaaring ma-aplay ang device name sa stack."
#~ msgid "Can encode UUID into the advertisement packet."
#~ msgstr "Maaring i-encode ang UUID sa advertisement packet."
#~ msgid "Cannot apply GAP parameters."
#~ msgstr "Hindi ma-apply ang GAP parameters."
#~ msgid "Invalid Service type"
#~ msgstr "Mali ang tipo ng serbisyo"
#~ msgid "Wrong number of bytes provided"
#~ msgstr "Mali ang bilang ng bytes"
#~ msgid "Invalid UUID string length"
#~ msgstr "Mali ang UUID string length"
#~ msgid "Can not encode UUID, to check length."
#~ msgstr "Hindi ma-encode UUID, para suriin ang haba."
#~ msgid "Can not add Service."
#~ msgstr "Hindi maidaragdag ang serbisyo."
#~ msgid "displayio is a work in progress"
#~ msgstr "displayio ay nasa gitna ng konstruksiyon"
#, fuzzy
#~ msgid "unpack requires a buffer of %d bytes"
#~ msgstr "Nabigong ilaan ang RX buffer ng %d bytes"
#~ msgid ""
#~ "enough power for the whole circuit and press reset (after ejecting "
@ -2951,33 +2929,61 @@ msgstr ""
#~ "ay nagbibigay ng sapat na power para sa buong circuit at i-press ang "
#~ "reset (pagkatapos i-eject ang CIRCUITPY).\n"
#, fuzzy
#~ msgid "unpack requires a buffer of %d bytes"
#~ msgstr "Nabigong ilaan ang RX buffer ng %d bytes"
#~ msgid "displayio is a work in progress"
#~ msgstr "displayio ay nasa gitna ng konstruksiyon"
#~ msgid "Can not encode UUID, to check length."
#~ msgstr "Hindi ma-encode UUID, para suriin ang haba."
#~ msgid "Can not add Service."
#~ msgstr "Hindi maidaragdag ang serbisyo."
#~ msgid "Wrong number of bytes provided"
#~ msgstr "Mali ang bilang ng bytes"
#~ msgid "Invalid UUID string length"
#~ msgstr "Mali ang UUID string length"
#~ msgid "Cannot apply GAP parameters."
#~ msgstr "Hindi ma-apply ang GAP parameters."
#~ msgid "Invalid Service type"
#~ msgstr "Mali ang tipo ng serbisyo"
#~ msgid "Can not apply device name in the stack."
#~ msgstr "Hindi maaaring ma-aplay ang device name sa stack."
#~ msgid "Can encode UUID into the advertisement packet."
#~ msgstr "Maaring i-encode ang UUID sa advertisement packet."
#~ msgid "Cannot set PPCP parameters."
#~ msgstr "Hindi ma-set ang PPCP parameters."
#~ msgid "Wrong address length"
#~ msgstr "Mali ang address length"
#~ msgid ""
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
#~ msgid "Group empty"
#~ msgstr "Walang laman ang group"
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
#~ msgstr ""
#~ "Mag-file ng isang isyu dito gamit ang mga nilalaman ng iyong CIRCUITPY "
#~ "drive:\n"
#~ "Mukhang ang core CircuitPython code ay nag-crash ng malakas. Aray!\n"
#~ msgid "Can not apply advertisement data. status: 0x%02x"
#~ msgstr "Hindi ma i-apply ang advertisement data. status: 0x%02x"
#~ msgid "All PWM peripherals are in use"
#~ msgstr "Lahat ng PWM peripherals ay ginagamit"
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART hindi available"
#~ msgid "Can not query for the device address."
#~ msgstr "Hindi maaaring mag-query para sa address ng device."
#~ msgid "index must be int"
#~ msgstr "index ay dapat int"
#, fuzzy
#~ msgid "unicode_characters must be a string"
#~ msgstr "ang keywords dapat strings"
#~ msgid "row data must be a buffer"
#~ msgstr "row data ay dapat na buffer"
#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
#~ msgstr "ang row buffer ay dapat bytearray o array na type b or B"
#~ msgid "Invalid UUID parameter"
#~ msgstr "Mali ang UUID parameter"
#, fuzzy
#~ msgid "palette must be displayio.Palette"
#~ msgstr "ang palette ay dapat 32 bytes ang haba"
#, fuzzy
#~ msgid "Group must have %q at least 1"
#~ msgstr "Group dapat ay hindi baba sa 1 na haba"
#, fuzzy
#~ msgid "buffer_size must be >= 1"
#~ msgstr "aarehas na haba dapat ang buffer slices"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 0.1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-12 22:32-0500\n"
"POT-Creation-Date: 2019-02-14 15:42+0100\n"
"PO-Revision-Date: 2018-12-23 20:05+0100\n"
"Last-Translator: Pierrick Couturier <arofarn@arofarn.info>\n"
"Language-Team: fr\n"
@ -102,11 +102,11 @@ msgstr "'heap' vide"
msgid "syntax error in JSON"
msgstr "erreur de syntaxe JSON"
#: extmod/modure.c:161
#: extmod/modure.c:265
msgid "Splitting with sub-captures"
msgstr "Fractionnement avec des captures 'sub'"
#: extmod/modure.c:207
#: extmod/modure.c:428
msgid "Error in regex"
msgstr "Erreur dans l'expression régulière"
@ -154,7 +154,7 @@ msgstr "compilation de script non supporté"
msgid " output:\n"
msgstr " sortie:\n"
#: main.c:166 main.c:247
#: main.c:166 main.c:248
msgid ""
"Auto-reload is on. Simply save files over USB to run them or enter REPL to "
"disable.\n"
@ -166,7 +166,7 @@ msgstr ""
msgid "Running in safe mode! Auto-reload is off.\n"
msgstr "Mode sans-échec. Auto-rechargement désactivé.\n"
#: main.c:170 main.c:249
#: main.c:170 main.c:250
msgid "Auto-reload is off.\n"
msgstr "Auto-rechargement désactivé.\n"
@ -184,11 +184,11 @@ msgid ""
"Code done running. Waiting for reload.\n"
msgstr ""
#: main.c:254
#: main.c:255
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
msgstr "Appuyez sur une touche pour entrer sur REPL ou CTRL-D pour recharger."
#: main.c:419
#: main.c:420
msgid "soft reboot\n"
msgstr "redémarrage logiciel\n"
@ -354,12 +354,12 @@ msgstr "Echec de l'allocation du tampon RX"
msgid "Could not initialize UART"
msgstr "L'UART n'a pu être initialisé"
#: ports/atmel-samd/common-hal/busio/UART.c:241
#: ports/atmel-samd/common-hal/busio/UART.c:252
#: ports/nrf/common-hal/busio/UART.c:230
msgid "No RX pin"
msgstr "Pas de broche RX"
#: ports/atmel-samd/common-hal/busio/UART.c:300
#: ports/atmel-samd/common-hal/busio/UART.c:311
#: ports/nrf/common-hal/busio/UART.c:265
msgid "No TX pin"
msgstr "Pas de broche TX"
@ -1509,7 +1509,7 @@ msgstr "l'objet '%s' ne supporte pas l'assignation d'éléments"
msgid "object with buffer protocol required"
msgstr "un objet avec un protocol de tampon est nécessaire"
#: py/objarray.c:413 py/objstr.c:428 py/objstrunicode.c:191 py/objtuple.c:188
#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188
#: shared-bindings/nvm/ByteArray.c:85
msgid "only slices with step=1 (aka None) are supported"
msgstr "seuls les slices avec 'step=1' (cad None) sont supportées"
@ -1661,157 +1661,162 @@ msgstr "valeur des octets hors gamme"
msgid "wrong number of arguments"
msgstr "mauvais nombres d'arguments"
#: py/objstr.c:468
#: py/objstr.c:414 py/objstrunicode.c:118
#, fuzzy
msgid "offset out of bounds"
msgstr "adresse hors limites"
#: py/objstr.c:477
msgid "join expects a list of str/bytes objects consistent with self object"
msgstr "join attend une liste d'objets str/bytes cohérent avec l'objet self"
#: py/objstr.c:543 py/objstr.c:648 py/objstr.c:1745
#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754
msgid "empty separator"
msgstr "séparateur vide"
#: py/objstr.c:642
#: py/objstr.c:651
msgid "rsplit(None,n)"
msgstr "rsplit(None,n)"
#: py/objstr.c:714
#: py/objstr.c:723
msgid "substring not found"
msgstr "sous-chaîne non trouvée"
#: py/objstr.c:771
#: py/objstr.c:780
msgid "start/end indices"
msgstr "indices de début/fin"
#: py/objstr.c:932
#: py/objstr.c:941
msgid "bad format string"
msgstr "chaîne mal-formée"
#: py/objstr.c:954
#: py/objstr.c:963
msgid "single '}' encountered in format string"
msgstr "'}' seule rencontrée dans une chaîne de format"
#: py/objstr.c:993
#: py/objstr.c:1002
msgid "bad conversion specifier"
msgstr "mauvaise spécification de conversion"
#: py/objstr.c:997
#: py/objstr.c:1006
msgid "end of format while looking for conversion specifier"
msgstr "fin de format en cherchant une spécification de conversion"
#: py/objstr.c:999
#: py/objstr.c:1008
#, c-format
msgid "unknown conversion specifier %c"
msgstr "spécification %c de conversion inconnue"
#: py/objstr.c:1030
#: py/objstr.c:1039
msgid "unmatched '{' in format"
msgstr "'{' sans correspondance dans le format"
#: py/objstr.c:1037
#: py/objstr.c:1046
msgid "expected ':' after format specifier"
msgstr "':' attendu après la spécification de format"
#: py/objstr.c:1051
#: py/objstr.c:1060
msgid ""
"can't switch from automatic field numbering to manual field specification"
msgstr ""
"impossible de passer d'une énumération auto des champs à une spécification "
"manuelle"
#: py/objstr.c:1056 py/objstr.c:1084
#: py/objstr.c:1065 py/objstr.c:1093
msgid "tuple index out of range"
msgstr "index du tuple hors gamme"
#: py/objstr.c:1072
#: py/objstr.c:1081
msgid "attributes not supported yet"
msgstr "attribut pas encore supporté"
#: py/objstr.c:1080
#: py/objstr.c:1089
msgid ""
"can't switch from manual field specification to automatic field numbering"
msgstr ""
"impossible de passer d'une spécification manuelle des champs à une "
"énumération auto"
#: py/objstr.c:1172
#: py/objstr.c:1181
msgid "invalid format specifier"
msgstr "spécification de format invalide"
#: py/objstr.c:1193
#: py/objstr.c:1202
msgid "sign not allowed in string format specifier"
msgstr "signe non autorisé dans les spéc. de formats de chaînes de caractères"
#: py/objstr.c:1201
#: py/objstr.c:1210
msgid "sign not allowed with integer format specifier 'c'"
msgstr "signe non autorisé avec la spéc. de format d'entier 'c'"
#: py/objstr.c:1260
#: py/objstr.c:1269
#, c-format
msgid "unknown format code '%c' for object of type '%s'"
msgstr "code de format '%c' inconnu pour un objet de type '%s'"
#: py/objstr.c:1332
#: py/objstr.c:1341
#, c-format
msgid "unknown format code '%c' for object of type 'float'"
msgstr "code de format '%c' inconnu pour un objet de type 'float'"
#: py/objstr.c:1344
#: py/objstr.c:1353
msgid "'=' alignment not allowed in string format specifier"
msgstr "'=' alignement non autorisé dans la spéc. de format de chaîne"
#: py/objstr.c:1368
#: py/objstr.c:1377
#, c-format
msgid "unknown format code '%c' for object of type 'str'"
msgstr "code de format '%c' inconnu pour un objet de type 'str'"
#: py/objstr.c:1416
#: py/objstr.c:1425
msgid "format requires a dict"
msgstr "le format nécessite un dict"
#: py/objstr.c:1425
#: py/objstr.c:1434
msgid "incomplete format key"
msgstr "clé de format incomplète"
#: py/objstr.c:1483
#: py/objstr.c:1492
msgid "incomplete format"
msgstr "format incomplet"
#: py/objstr.c:1491
#: py/objstr.c:1500
msgid "not enough arguments for format string"
msgstr "pas assez d'arguments pour la chaîne de format"
#: py/objstr.c:1501
#: py/objstr.c:1510
#, c-format
msgid "%%c requires int or char"
msgstr "%%c nécessite un entier int ou un caractère char"
#: py/objstr.c:1508
#: py/objstr.c:1517
msgid "integer required"
msgstr "entier requis"
#: py/objstr.c:1571
#: py/objstr.c:1580
#, c-format
msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "caractère de format '%c' (0x%x) non supporté à l'index %d"
#: py/objstr.c:1578
#: py/objstr.c:1587
msgid "not all arguments converted during string formatting"
msgstr ""
"tous les arguments n'ont pas été convertis pendant le formatage de la chaîne"
#: py/objstr.c:2103
#: py/objstr.c:2112
msgid "can't convert to str implicitly"
msgstr "impossible de convertir en str implicitement"
#: py/objstr.c:2107
#: py/objstr.c:2116
msgid "can't convert '%q' object to %q implicitly"
msgstr "impossible de convertir l'objet '%q' en '%q' implicitement"
#: py/objstrunicode.c:134
#: py/objstrunicode.c:154
#, c-format
msgid "string indices must be integers, not %s"
msgstr "les indices de chaîne de caractère doivent être des entiers, pas %s"
#: py/objstrunicode.c:145 py/objstrunicode.c:164
#: py/objstrunicode.c:165 py/objstrunicode.c:184
msgid "string index out of range"
msgstr "index de chaîne hors gamme"
@ -2258,8 +2263,11 @@ msgid "timeout must be >= 0.0"
msgstr "les bits doivent être 8"
#: shared-bindings/bleio/CharacteristicBuffer.c:79
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69
#: shared-bindings/displayio/Shape.c:73
#, fuzzy
msgid "buffer_size must be >= 1"
msgid "%q must be >= 1"
msgstr "les slices de tampon doivent être de longueurs égales"
#: shared-bindings/bleio/CharacteristicBuffer.c:83
@ -2423,12 +2431,6 @@ msgstr ""
msgid "Command must be an int between 0 and 255"
msgstr "Les octets 'bytes' doivent être entre 0 et 255"
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100
#, fuzzy
msgid "%q must be >= 1"
msgstr "les slices de tampon doivent être de longueurs égales"
#: shared-bindings/displayio/Palette.c:91
#, fuzzy
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
@ -2455,17 +2457,17 @@ msgstr "le tampon de couleur doit être un tampon ou un entier"
msgid "palette_index should be an int"
msgstr "palette_index devrait être un entier (int)'"
#: shared-bindings/displayio/Shape.c:88
#: shared-bindings/displayio/Shape.c:97
#, fuzzy
msgid "y should be an int"
msgstr "y doit être un entier (int)"
#: shared-bindings/displayio/Shape.c:92
#: shared-bindings/displayio/Shape.c:101
#, fuzzy
msgid "start_x should be an int"
msgstr "y doit être un entier (int)"
#: shared-bindings/displayio/Shape.c:96
#: shared-bindings/displayio/Shape.c:105
#, fuzzy
msgid "end_x should be an int"
msgstr "y doit être un entier (int)"
@ -2912,71 +2914,30 @@ msgstr ""
"Appuyer denouveau pour quitter de le mode sans-échec.\n"
#, fuzzy
#~ msgid "Group must have %q at least 1"
#~ msgstr "Le tampon doit être de longueur au moins 1"
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART n'est pas disponible"
#~ msgid "Cannot set PPCP parameters."
#~ msgstr "Impossible d'appliquer les paramètres PPCP"
#~ msgid "Can not query for the device address."
#~ msgstr "Impossible d'obtenir l'adresse du périphérique"
#~ msgid "Invalid UUID parameter"
#~ msgstr "Paramètre UUID invalide"
#~ msgid "Can not encode UUID, to check length."
#~ msgstr "Impossible d'encoder l'UUID pour vérifier la longueur."
#, fuzzy
#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
#~ msgid "Cannot apply GAP parameters."
#~ msgstr "Impossible d'appliquer les paramètres GAP"
#~ msgid ""
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
#~ msgstr ""
#~ "le tampon de ligne doit être un bytearray ou un tableau de type 'b' ou 'B'"
#~ "SVP, remontez le problème là avec le contenu du lecteur CIRCUITPY:\n"
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
#~ msgstr ""
#~ "Il semblerait que votre code CircuitPython a durement planté. Oups!\n"
#, fuzzy
#~ msgid "row data must be a buffer"
#~ msgstr "les données de ligne doivent être un tampon"
#, fuzzy
#~ msgid "unicode_characters must be a string"
#~ msgstr "les noms doivent être des chaînes de caractère"
#~ msgid "index must be int"
#~ msgstr "l'index doit être un entier"
#, fuzzy
#~ msgid "palette must be displayio.Palette"
#~ msgstr "la palette doit être une displayio.Palette"
#, fuzzy
#~ msgid "All PWM peripherals are in use"
#~ msgstr "Tous les périphériques PWM sont utilisés"
#, fuzzy
#~ msgid "value_size must be power of two"
#~ msgstr "value_size doit être une puissance de 2"
#, fuzzy
#~ msgid "Group empty"
#~ msgstr "Groupe vide"
#~ msgid "Wrong address length"
#~ msgstr "Mauvaise longueur d'adresse"
#~ msgid "Can not add Service."
#~ msgstr "Impossible d'ajouter le Service"
#~ msgid "Can not add Characteristic."
#~ msgstr "Impossible d'ajouter la Characteristic."
#~ msgid "Invalid UUID string length"
#~ msgstr "Longeur de chaîne UUID invalide"
#~ msgid "Can not apply device name in the stack."
#~ msgstr "Impossible d'appliquer le nom de périphérique dans la pile"
#~ msgid "displayio is a work in progress"
#~ msgstr "displayio est en cours de développement"
#~ msgid "Invalid Service type"
#~ msgstr "Type de service invalide"
#, fuzzy
#~ msgid "unpack requires a buffer of %d bytes"
#~ msgstr "Echec de l'allocation de %d octets du tampon RX"
#~ msgid "Wrong number of bytes provided"
#~ msgstr "mauvais nombre d'octets fourni'"
#~ msgid ""
#~ "enough power for the whole circuit and press reset (after ejecting "
@ -2986,27 +2947,72 @@ msgstr ""
#~ "'reset' (après avoir éjecter CIRCUITPY).\n"
#, fuzzy
#~ msgid "Wrong number of bytes provided"
#~ msgstr "mauvais nombre d'octets fourni'"
#~ msgid "unpack requires a buffer of %d bytes"
#~ msgstr "Echec de l'allocation de %d octets du tampon RX"
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
#~ msgstr ""
#~ "Il semblerait que votre code CircuitPython a durement planté. Oups!\n"
#~ msgid "Invalid Service type"
#~ msgstr "Type de service invalide"
#~ msgid ""
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
#~ msgstr ""
#~ "SVP, remontez le problème là avec le contenu du lecteur CIRCUITPY:\n"
#~ msgid "displayio is a work in progress"
#~ msgstr "displayio est en cours de développement"
#~ msgid "Cannot apply GAP parameters."
#~ msgstr "Impossible d'appliquer les paramètres GAP"
#~ msgid "Can not apply device name in the stack."
#~ msgstr "Impossible d'appliquer le nom de périphérique dans la pile"
#~ msgid "Can not encode UUID, to check length."
#~ msgstr "Impossible d'encoder l'UUID pour vérifier la longueur."
#~ msgid "Invalid UUID string length"
#~ msgstr "Longeur de chaîne UUID invalide"
#~ msgid "Can not query for the device address."
#~ msgstr "Impossible d'obtenir l'adresse du périphérique"
#~ msgid "Can not add Characteristic."
#~ msgstr "Impossible d'ajouter la Characteristic."
#~ msgid "Can not add Service."
#~ msgstr "Impossible d'ajouter le Service"
#~ msgid "Wrong address length"
#~ msgstr "Mauvaise longueur d'adresse"
#, fuzzy
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART n'est pas disponible"
#~ msgid "Group empty"
#~ msgstr "Groupe vide"
#, fuzzy
#~ msgid "value_size must be power of two"
#~ msgstr "value_size doit être une puissance de 2"
#, fuzzy
#~ msgid "All PWM peripherals are in use"
#~ msgstr "Tous les périphériques PWM sont utilisés"
#, fuzzy
#~ msgid "palette must be displayio.Palette"
#~ msgstr "la palette doit être une displayio.Palette"
#~ msgid "index must be int"
#~ msgstr "l'index doit être un entier"
#, fuzzy
#~ msgid "unicode_characters must be a string"
#~ msgstr "les noms doivent être des chaînes de caractère"
#, fuzzy
#~ msgid "row data must be a buffer"
#~ msgstr "les données de ligne doivent être un tampon"
#, fuzzy
#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
#~ msgstr ""
#~ "le tampon de ligne doit être un bytearray ou un tableau de type 'b' ou 'B'"
#~ msgid "Invalid UUID parameter"
#~ msgstr "Paramètre UUID invalide"
#~ msgid "Cannot set PPCP parameters."
#~ msgstr "Impossible d'appliquer les paramètres PPCP"
#, fuzzy
#~ msgid "Group must have %q at least 1"
#~ msgstr "Le tampon doit être de longueur au moins 1"
#, fuzzy
#~ msgid "buffer_size must be >= 1"
#~ msgstr "les slices de tampon doivent être de longueurs égales"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-12 22:32-0500\n"
"POT-Creation-Date: 2019-02-14 15:42+0100\n"
"PO-Revision-Date: 2018-10-02 16:27+0200\n"
"Last-Translator: Enrico Paganin <enrico.paganin@mail.com>\n"
"Language-Team: \n"
@ -103,11 +103,11 @@ msgstr "heap vuoto"
msgid "syntax error in JSON"
msgstr "errore di sintassi nel JSON"
#: extmod/modure.c:161
#: extmod/modure.c:265
msgid "Splitting with sub-captures"
msgstr "Suddivisione con sotto-catture"
#: extmod/modure.c:207
#: extmod/modure.c:428
msgid "Error in regex"
msgstr "Errore nella regex"
@ -155,7 +155,7 @@ msgstr "compilazione dello scrip non suportata"
msgid " output:\n"
msgstr " output:\n"
#: main.c:166 main.c:247
#: main.c:166 main.c:248
msgid ""
"Auto-reload is on. Simply save files over USB to run them or enter REPL to "
"disable.\n"
@ -167,7 +167,7 @@ msgstr ""
msgid "Running in safe mode! Auto-reload is off.\n"
msgstr "Modalità sicura in esecuzione! Auto-reload disattivato.\n"
#: main.c:170 main.c:249
#: main.c:170 main.c:250
msgid "Auto-reload is off.\n"
msgstr "Auto-reload disattivato.\n"
@ -185,12 +185,12 @@ msgid ""
"Code done running. Waiting for reload.\n"
msgstr ""
#: main.c:254
#: main.c:255
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
msgstr ""
"Premi un qualunque tasto per entrare nel REPL. Usa CTRL-D per ricaricare."
#: main.c:419
#: main.c:420
msgid "soft reboot\n"
msgstr "soft reboot\n"
@ -358,12 +358,12 @@ msgstr "Impossibile allocare buffer RX"
msgid "Could not initialize UART"
msgstr "Impossibile inizializzare l'UART"
#: ports/atmel-samd/common-hal/busio/UART.c:241
#: ports/atmel-samd/common-hal/busio/UART.c:252
#: ports/nrf/common-hal/busio/UART.c:230
msgid "No RX pin"
msgstr "Nessun pin RX"
#: ports/atmel-samd/common-hal/busio/UART.c:300
#: ports/atmel-samd/common-hal/busio/UART.c:311
#: ports/nrf/common-hal/busio/UART.c:265
msgid "No TX pin"
msgstr "Nessun pin TX"
@ -1509,7 +1509,7 @@ msgstr ""
msgid "object with buffer protocol required"
msgstr ""
#: py/objarray.c:413 py/objstr.c:428 py/objstrunicode.c:191 py/objtuple.c:188
#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188
#: shared-bindings/nvm/ByteArray.c:85
msgid "only slices with step=1 (aka None) are supported"
msgstr "solo slice con step=1 (aka None) sono supportate"
@ -1659,155 +1659,160 @@ msgstr "valore byte fuori intervallo"
msgid "wrong number of arguments"
msgstr "numero di argomenti errato"
#: py/objstr.c:468
#: py/objstr.c:414 py/objstrunicode.c:118
#, fuzzy
msgid "offset out of bounds"
msgstr "indirizzo fuori limite"
#: py/objstr.c:477
msgid "join expects a list of str/bytes objects consistent with self object"
msgstr ""
"join prende una lista di oggetti str/byte consistenti con l'oggetto stesso"
#: py/objstr.c:543 py/objstr.c:648 py/objstr.c:1745
#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754
msgid "empty separator"
msgstr "separatore vuoto"
#: py/objstr.c:642
#: py/objstr.c:651
msgid "rsplit(None,n)"
msgstr ""
#: py/objstr.c:714
#: py/objstr.c:723
msgid "substring not found"
msgstr "sottostringa non trovata"
#: py/objstr.c:771
#: py/objstr.c:780
msgid "start/end indices"
msgstr ""
#: py/objstr.c:932
#: py/objstr.c:941
msgid "bad format string"
msgstr "stringa di formattazione scorretta"
#: py/objstr.c:954
#: py/objstr.c:963
msgid "single '}' encountered in format string"
msgstr "'}' singolo presente nella stringa di formattazione"
#: py/objstr.c:993
#: py/objstr.c:1002
msgid "bad conversion specifier"
msgstr "specificatore di conversione scorretto"
#: py/objstr.c:997
#: py/objstr.c:1006
msgid "end of format while looking for conversion specifier"
msgstr ""
#: py/objstr.c:999
#: py/objstr.c:1008
#, c-format
msgid "unknown conversion specifier %c"
msgstr "specificatore di conversione %s sconosciuto"
#: py/objstr.c:1030
#: py/objstr.c:1039
msgid "unmatched '{' in format"
msgstr "'{' spaiato nella stringa di formattazione"
#: py/objstr.c:1037
#: py/objstr.c:1046
msgid "expected ':' after format specifier"
msgstr "':' atteso dopo lo specificatore di formato"
#: py/objstr.c:1051
#: py/objstr.c:1060
msgid ""
"can't switch from automatic field numbering to manual field specification"
msgstr ""
#: py/objstr.c:1056 py/objstr.c:1084
#: py/objstr.c:1065 py/objstr.c:1093
msgid "tuple index out of range"
msgstr "indice della tupla fuori intervallo"
#: py/objstr.c:1072
#: py/objstr.c:1081
msgid "attributes not supported yet"
msgstr "attributi non ancora supportati"
#: py/objstr.c:1080
#: py/objstr.c:1089
msgid ""
"can't switch from manual field specification to automatic field numbering"
msgstr ""
#: py/objstr.c:1172
#: py/objstr.c:1181
msgid "invalid format specifier"
msgstr "specificatore di formato non valido"
#: py/objstr.c:1193
#: py/objstr.c:1202
msgid "sign not allowed in string format specifier"
msgstr "segno non permesso nello spcificatore di formato della stringa"
#: py/objstr.c:1201
#: py/objstr.c:1210
msgid "sign not allowed with integer format specifier 'c'"
msgstr "segno non permesso nello spcificatore di formato 'c' della stringa"
#: py/objstr.c:1260
#: py/objstr.c:1269
#, c-format
msgid "unknown format code '%c' for object of type '%s'"
msgstr "codice di formattaione '%c' sconosciuto per oggetto di tipo '%s'"
#: py/objstr.c:1332
#: py/objstr.c:1341
#, c-format
msgid "unknown format code '%c' for object of type 'float'"
msgstr "codice di formattazione '%c' sconosciuto per oggetto di tipo 'float'"
#: py/objstr.c:1344
#: py/objstr.c:1353
msgid "'=' alignment not allowed in string format specifier"
msgstr ""
#: py/objstr.c:1368
#: py/objstr.c:1377
#, c-format
msgid "unknown format code '%c' for object of type 'str'"
msgstr "codice di formattazione '%c' sconosciuto per oggetto di tipo 'str'"
#: py/objstr.c:1416
#: py/objstr.c:1425
msgid "format requires a dict"
msgstr "la formattazione richiede un dict"
#: py/objstr.c:1425
#: py/objstr.c:1434
msgid "incomplete format key"
msgstr ""
#: py/objstr.c:1483
#: py/objstr.c:1492
msgid "incomplete format"
msgstr "formato incompleto"
#: py/objstr.c:1491
#: py/objstr.c:1500
msgid "not enough arguments for format string"
msgstr "argomenti non sufficienti per la stringa di formattazione"
#: py/objstr.c:1501
#: py/objstr.c:1510
#, c-format
msgid "%%c requires int or char"
msgstr "%%c necessita di int o char"
#: py/objstr.c:1508
#: py/objstr.c:1517
msgid "integer required"
msgstr "intero richiesto"
#: py/objstr.c:1571
#: py/objstr.c:1580
#, c-format
msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr "carattere di formattazione '%c' (0x%x) non supportato all indice %d"
#: py/objstr.c:1578
#: py/objstr.c:1587
msgid "not all arguments converted during string formatting"
msgstr ""
"non tutti gli argomenti sono stati convertiti durante la formatazione in "
"stringhe"
#: py/objstr.c:2103
#: py/objstr.c:2112
msgid "can't convert to str implicitly"
msgstr "impossibile convertire a stringa implicitamente"
#: py/objstr.c:2107
#: py/objstr.c:2116
msgid "can't convert '%q' object to %q implicitly"
msgstr "impossibile convertire l'oggetto '%q' implicitamente in %q"
#: py/objstrunicode.c:134
#: py/objstrunicode.c:154
#, c-format
msgid "string indices must be integers, not %s"
msgstr "indici della stringa devono essere interi, non %s"
#: py/objstrunicode.c:145 py/objstrunicode.c:164
#: py/objstrunicode.c:165 py/objstrunicode.c:184
msgid "string index out of range"
msgstr "indice della stringa fuori intervallo"
@ -2255,8 +2260,11 @@ msgid "timeout must be >= 0.0"
msgstr "i bit devono essere 8"
#: shared-bindings/bleio/CharacteristicBuffer.c:79
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69
#: shared-bindings/displayio/Shape.c:73
#, fuzzy
msgid "buffer_size must be >= 1"
msgid "%q must be >= 1"
msgstr "slice del buffer devono essere della stessa lunghezza"
#: shared-bindings/bleio/CharacteristicBuffer.c:83
@ -2419,12 +2427,6 @@ msgstr ""
msgid "Command must be an int between 0 and 255"
msgstr "I byte devono essere compresi tra 0 e 255"
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100
#, fuzzy
msgid "%q must be >= 1"
msgstr "slice del buffer devono essere della stessa lunghezza"
#: shared-bindings/displayio/Palette.c:91
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
msgstr ""
@ -2448,16 +2450,16 @@ msgstr "il buffer del colore deve essere un buffer o un int"
msgid "palette_index should be an int"
msgstr "palette_index deve essere un int"
#: shared-bindings/displayio/Shape.c:88
#: shared-bindings/displayio/Shape.c:97
msgid "y should be an int"
msgstr "y dovrebbe essere un int"
#: shared-bindings/displayio/Shape.c:92
#: shared-bindings/displayio/Shape.c:101
#, fuzzy
msgid "start_x should be an int"
msgstr "y dovrebbe essere un int"
#: shared-bindings/displayio/Shape.c:96
#: shared-bindings/displayio/Shape.c:105
#, fuzzy
msgid "end_x should be an int"
msgstr "y dovrebbe essere un int"
@ -2885,75 +2887,19 @@ msgid ""
"exit safe mode.\n"
msgstr ""
#~ msgid "row data must be a buffer"
#~ msgstr "valori della riga devono essere un buffer"
#, fuzzy
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART non ancora implementato"
#~ msgid "Can not encode UUID, to check length."
#~ msgstr "Non è possibile codificare l'UUID, lunghezza da controllare."
#, fuzzy
#~ msgid "Group must have %q at least 1"
#~ msgstr "Il gruppo deve avere dimensione almeno 1"
#~ msgid "unpack requires a buffer of %d bytes"
#~ msgstr "Fallita allocazione del buffer RX di %d byte"
#~ msgid "Invalid UUID parameter"
#~ msgstr "Parametro UUID non valido"
#~ msgid "Group empty"
#~ msgstr "Gruppo vuoto"
#, fuzzy
#~ msgid "All PWM peripherals are in use"
#~ msgstr "Tutte le periferiche SPI sono in uso"
#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
#~ msgstr ""
#~ "buffer di riga deve essere un bytearray o un array di tipo 'b' o 'B'"
#, fuzzy
#~ msgid "unicode_characters must be a string"
#~ msgstr "argomenti nominati devono essere stringhe"
#~ msgid "index must be int"
#~ msgstr "l'indice deve essere int"
#~ msgid "Invalid Service type"
#~ msgstr "Tipo di servizio non valido"
#, fuzzy
#~ msgid "Wrong number of bytes provided"
#~ msgstr "numero di argomenti errato"
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
#~ msgstr ""
#~ "Sembra che il codice del core di CircuitPython sia crashato malamente. "
#~ "Whoops!\n"
#~ msgid "Can not add Characteristic."
#~ msgstr "Non è possibile aggiungere Characteristic."
#~ msgid "Cannot apply GAP parameters."
#~ msgstr "Impossibile applicare i parametri GAP."
#~ msgid "Can not apply advertisement data. status: 0x%02x"
#~ msgstr "Impossible inserire dati advertisement. status: 0x%02x"
#~ msgid ""
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
#~ msgstr ""
#~ "Ti preghiamo di compilare una issue con il contenuto del tuo drie "
#~ "CIRCUITPY:\n"
#~ msgid "Can not query for the device address."
#~ msgstr "Non è possibile trovare l'indirizzo del dispositivo."
#~ msgid "Cannot set PPCP parameters."
#~ msgstr "Impossibile impostare i parametri PPCP."
#~ msgid "Can not apply device name in the stack."
#~ msgstr "Non è possibile inserire il nome del dipositivo nella lista."
#~ msgid "Can encode UUID into the advertisement packet."
#~ msgstr "È possibile codificare l'UUID nel pacchetto di advertisement."
#~ msgid "Can not add Service."
#~ msgstr "Non è possibile aggiungere Service."
#~ msgid "Invalid UUID string length"
#~ msgstr "Lunghezza della stringa UUID non valida"
#~ msgid ""
#~ "enough power for the whole circuit and press reset (after ejecting "
@ -2962,16 +2908,76 @@ msgstr ""
#~ "abbastanza potenza per l'intero circuito e premere reset (dopo aver "
#~ "espulso CIRCUITPY).\n"
#~ msgid "Invalid UUID string length"
#~ msgstr "Lunghezza della stringa UUID non valida"
#~ msgid "Can not add Service."
#~ msgstr "Non è possibile aggiungere Service."
#~ msgid "Can encode UUID into the advertisement packet."
#~ msgstr "È possibile codificare l'UUID nel pacchetto di advertisement."
#~ msgid "Can not apply device name in the stack."
#~ msgstr "Non è possibile inserire il nome del dipositivo nella lista."
#~ msgid "Cannot set PPCP parameters."
#~ msgstr "Impossibile impostare i parametri PPCP."
#~ msgid "Can not query for the device address."
#~ msgstr "Non è possibile trovare l'indirizzo del dispositivo."
#~ msgid ""
#~ "Please file an issue here with the contents of your CIRCUITPY drive:\n"
#~ msgstr ""
#~ "Ti preghiamo di compilare una issue con il contenuto del tuo drie "
#~ "CIRCUITPY:\n"
#~ msgid "Can not apply advertisement data. status: 0x%02x"
#~ msgstr "Impossible inserire dati advertisement. status: 0x%02x"
#~ msgid "Cannot apply GAP parameters."
#~ msgstr "Impossibile applicare i parametri GAP."
#~ msgid "Can not add Characteristic."
#~ msgstr "Non è possibile aggiungere Characteristic."
#~ msgid "Looks like our core CircuitPython code crashed hard. Whoops!\n"
#~ msgstr ""
#~ "Sembra che il codice del core di CircuitPython sia crashato malamente. "
#~ "Whoops!\n"
#, fuzzy
#~ msgid "unpack requires a buffer of %d bytes"
#~ msgstr "Fallita allocazione del buffer RX di %d byte"
#~ msgid "Wrong number of bytes provided"
#~ msgstr "numero di argomenti errato"
#~ msgid "Can not encode UUID, to check length."
#~ msgstr "Non è possibile codificare l'UUID, lunghezza da controllare."
#~ msgid "Invalid Service type"
#~ msgstr "Tipo di servizio non valido"
#~ msgid "index must be int"
#~ msgstr "l'indice deve essere int"
#, fuzzy
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART non ancora implementato"
#~ msgid "unicode_characters must be a string"
#~ msgstr "argomenti nominati devono essere stringhe"
#~ msgid "row buffer must be a bytearray or array of type 'b' or 'B'"
#~ msgstr ""
#~ "buffer di riga deve essere un bytearray o un array di tipo 'b' o 'B'"
#, fuzzy
#~ msgid "All PWM peripherals are in use"
#~ msgstr "Tutte le periferiche SPI sono in uso"
#~ msgid "Group empty"
#~ msgstr "Gruppo vuoto"
#~ msgid "Invalid UUID parameter"
#~ msgstr "Parametro UUID non valido"
#, fuzzy
#~ msgid "Group must have %q at least 1"
#~ msgstr "Il gruppo deve avere dimensione almeno 1"
#~ msgid "row data must be a buffer"
#~ msgstr "valori della riga devono essere un buffer"
#, fuzzy
#~ msgid "buffer_size must be >= 1"
#~ msgstr "slice del buffer devono essere della stessa lunghezza"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-02-12 22:32-0500\n"
"POT-Creation-Date: 2019-02-14 15:42+0100\n"
"PO-Revision-Date: 2018-10-02 21:14-0000\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -103,11 +103,11 @@ msgstr "heap vazia"
msgid "syntax error in JSON"
msgstr "erro de sintaxe no JSON"
#: extmod/modure.c:161
#: extmod/modure.c:265
msgid "Splitting with sub-captures"
msgstr ""
#: extmod/modure.c:207
#: extmod/modure.c:428
msgid "Error in regex"
msgstr "Erro no regex"
@ -155,7 +155,7 @@ msgstr "compilação de script não suportada"
msgid " output:\n"
msgstr " saída:\n"
#: main.c:166 main.c:247
#: main.c:166 main.c:248
msgid ""
"Auto-reload is on. Simply save files over USB to run them or enter REPL to "
"disable.\n"
@ -165,7 +165,7 @@ msgstr ""
msgid "Running in safe mode! Auto-reload is off.\n"
msgstr "Rodando em modo seguro! Atualização automática está desligada.\n"
#: main.c:170 main.c:249
#: main.c:170 main.c:250
msgid "Auto-reload is off.\n"
msgstr "A atualização automática está desligada.\n"
@ -183,11 +183,11 @@ msgid ""
"Code done running. Waiting for reload.\n"
msgstr ""
#: main.c:254
#: main.c:255
msgid "Press any key to enter the REPL. Use CTRL-D to reload."
msgstr ""
#: main.c:419
#: main.c:420
msgid "soft reboot\n"
msgstr ""
@ -353,12 +353,12 @@ msgstr "Falha ao alocar buffer RX"
msgid "Could not initialize UART"
msgstr "Não foi possível inicializar o UART"
#: ports/atmel-samd/common-hal/busio/UART.c:241
#: ports/atmel-samd/common-hal/busio/UART.c:252
#: ports/nrf/common-hal/busio/UART.c:230
msgid "No RX pin"
msgstr "Nenhum pino RX"
#: ports/atmel-samd/common-hal/busio/UART.c:300
#: ports/atmel-samd/common-hal/busio/UART.c:311
#: ports/nrf/common-hal/busio/UART.c:265
msgid "No TX pin"
msgstr "Nenhum pino TX"
@ -1492,7 +1492,7 @@ msgstr ""
msgid "object with buffer protocol required"
msgstr ""
#: py/objarray.c:413 py/objstr.c:428 py/objstrunicode.c:191 py/objtuple.c:188
#: py/objarray.c:413 py/objstr.c:437 py/objstrunicode.c:211 py/objtuple.c:188
#: shared-bindings/nvm/ByteArray.c:85
msgid "only slices with step=1 (aka None) are supported"
msgstr ""
@ -1642,152 +1642,156 @@ msgstr ""
msgid "wrong number of arguments"
msgstr ""
#: py/objstr.c:468
#: py/objstr.c:414 py/objstrunicode.c:118
msgid "offset out of bounds"
msgstr ""
#: py/objstr.c:477
msgid "join expects a list of str/bytes objects consistent with self object"
msgstr ""
#: py/objstr.c:543 py/objstr.c:648 py/objstr.c:1745
#: py/objstr.c:552 py/objstr.c:657 py/objstr.c:1754
msgid "empty separator"
msgstr ""
#: py/objstr.c:642
#: py/objstr.c:651
msgid "rsplit(None,n)"
msgstr ""
#: py/objstr.c:714
#: py/objstr.c:723
msgid "substring not found"
msgstr ""
#: py/objstr.c:771
#: py/objstr.c:780
msgid "start/end indices"
msgstr ""
#: py/objstr.c:932
#: py/objstr.c:941
msgid "bad format string"
msgstr ""
#: py/objstr.c:954
#: py/objstr.c:963
msgid "single '}' encountered in format string"
msgstr ""
#: py/objstr.c:993
#: py/objstr.c:1002
msgid "bad conversion specifier"
msgstr ""
#: py/objstr.c:997
#: py/objstr.c:1006
msgid "end of format while looking for conversion specifier"
msgstr ""
#: py/objstr.c:999
#: py/objstr.c:1008
#, c-format
msgid "unknown conversion specifier %c"
msgstr ""
#: py/objstr.c:1030
#: py/objstr.c:1039
msgid "unmatched '{' in format"
msgstr ""
#: py/objstr.c:1037
#: py/objstr.c:1046
msgid "expected ':' after format specifier"
msgstr ""
#: py/objstr.c:1051
#: py/objstr.c:1060
msgid ""
"can't switch from automatic field numbering to manual field specification"
msgstr ""
#: py/objstr.c:1056 py/objstr.c:1084
#: py/objstr.c:1065 py/objstr.c:1093
msgid "tuple index out of range"
msgstr ""
#: py/objstr.c:1072
#: py/objstr.c:1081
msgid "attributes not supported yet"
msgstr "atributos ainda não suportados"
#: py/objstr.c:1080
#: py/objstr.c:1089
msgid ""
"can't switch from manual field specification to automatic field numbering"
msgstr ""
#: py/objstr.c:1172
#: py/objstr.c:1181
msgid "invalid format specifier"
msgstr ""
#: py/objstr.c:1193
#: py/objstr.c:1202
msgid "sign not allowed in string format specifier"
msgstr ""
#: py/objstr.c:1201
#: py/objstr.c:1210
msgid "sign not allowed with integer format specifier 'c'"
msgstr ""
#: py/objstr.c:1260
#: py/objstr.c:1269
#, c-format
msgid "unknown format code '%c' for object of type '%s'"
msgstr ""
#: py/objstr.c:1332
#: py/objstr.c:1341
#, c-format
msgid "unknown format code '%c' for object of type 'float'"
msgstr ""
#: py/objstr.c:1344
#: py/objstr.c:1353
msgid "'=' alignment not allowed in string format specifier"
msgstr ""
#: py/objstr.c:1368
#: py/objstr.c:1377
#, c-format
msgid "unknown format code '%c' for object of type 'str'"
msgstr ""
#: py/objstr.c:1416
#: py/objstr.c:1425
msgid "format requires a dict"
msgstr ""
#: py/objstr.c:1425
#: py/objstr.c:1434
msgid "incomplete format key"
msgstr ""
#: py/objstr.c:1483
#: py/objstr.c:1492
msgid "incomplete format"
msgstr "formato incompleto"
#: py/objstr.c:1491
#: py/objstr.c:1500
msgid "not enough arguments for format string"
msgstr ""
#: py/objstr.c:1501
#: py/objstr.c:1510
#, c-format
msgid "%%c requires int or char"
msgstr "%%c requer int ou char"
#: py/objstr.c:1508
#: py/objstr.c:1517
msgid "integer required"
msgstr "inteiro requerido"
#: py/objstr.c:1571
#: py/objstr.c:1580
#, c-format
msgid "unsupported format character '%c' (0x%x) at index %d"
msgstr ""
#: py/objstr.c:1578
#: py/objstr.c:1587
msgid "not all arguments converted during string formatting"
msgstr ""
#: py/objstr.c:2103
#: py/objstr.c:2112
msgid "can't convert to str implicitly"
msgstr ""
#: py/objstr.c:2107
#: py/objstr.c:2116
msgid "can't convert '%q' object to %q implicitly"
msgstr ""
#: py/objstrunicode.c:134
#: py/objstrunicode.c:154
#, c-format
msgid "string indices must be integers, not %s"
msgstr ""
#: py/objstrunicode.c:145 py/objstrunicode.c:164
#: py/objstrunicode.c:165 py/objstrunicode.c:184
msgid "string index out of range"
msgstr ""
@ -2222,8 +2226,11 @@ msgid "timeout must be >= 0.0"
msgstr "bits devem ser 8"
#: shared-bindings/bleio/CharacteristicBuffer.c:79
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100 shared-bindings/displayio/Shape.c:69
#: shared-bindings/displayio/Shape.c:73
#, fuzzy
msgid "buffer_size must be >= 1"
msgid "%q must be >= 1"
msgstr "buffers devem ser o mesmo tamanho"
#: shared-bindings/bleio/CharacteristicBuffer.c:83
@ -2385,12 +2392,6 @@ msgstr ""
msgid "Command must be an int between 0 and 255"
msgstr "Os bytes devem estar entre 0 e 255."
#: shared-bindings/displayio/Group.c:63 shared-bindings/displayio/Group.c:68
#: shared-bindings/displayio/Group.c:100
#, fuzzy
msgid "%q must be >= 1"
msgstr "buffers devem ser o mesmo tamanho"
#: shared-bindings/displayio/Palette.c:91
msgid "color buffer must be a bytearray or array of type 'b' or 'B'"
msgstr ""
@ -2412,16 +2413,16 @@ msgstr ""
msgid "palette_index should be an int"
msgstr ""
#: shared-bindings/displayio/Shape.c:88
#: shared-bindings/displayio/Shape.c:97
msgid "y should be an int"
msgstr "y deve ser um int"
#: shared-bindings/displayio/Shape.c:92
#: shared-bindings/displayio/Shape.c:101
#, fuzzy
msgid "start_x should be an int"
msgstr "y deve ser um int"
#: shared-bindings/displayio/Shape.c:96
#: shared-bindings/displayio/Shape.c:105
#, fuzzy
msgid "end_x should be an int"
msgstr "y deve ser um int"
@ -2834,57 +2835,61 @@ msgid ""
"exit safe mode.\n"
msgstr ""
#~ msgid "index must be int"
#~ msgstr "index deve ser int"
#, fuzzy
#~ msgid "Group must have %q at least 1"
#~ msgstr "Grupo deve ter tamanho pelo menos 1"
#~ msgid "Group empty"
#~ msgstr "Grupo vazio"
#, fuzzy
#~ msgid "unicode_characters must be a string"
#~ msgstr "heap deve ser uma lista"
#~ msgid "Invalid UUID parameter"
#~ msgstr "Parâmetro UUID inválido"
#~ msgid "Baud rate too high for this SPI peripheral"
#~ msgstr "Taxa de transmissão muito alta para esse periférico SPI"
#~ msgid "Can encode UUID into the advertisement packet."
#~ msgstr "Pode codificar o UUID no pacote de anúncios."
#, fuzzy
#~ msgid "unpack requires a buffer of %d bytes"
#~ msgstr "Falha ao alocar buffer RX de %d bytes"
#~ msgid "Can not query for the device address."
#~ msgstr "Não é possível consultar o endereço do dispositivo."
#~ msgid "Invalid Service type"
#~ msgstr "Tipo de serviço inválido"
#~ msgid "Cannot set PPCP parameters."
#~ msgstr "Não é possível definir parâmetros PPCP."
#~ msgid "Can not apply device name in the stack."
#~ msgstr "Não é possível aplicar o nome do dispositivo na pilha."
#~ msgid "Cannot apply GAP parameters."
#~ msgstr "Não é possível aplicar parâmetros GAP."
#~ msgid "Can not apply advertisement data. status: 0x%02x"
#~ msgstr "Não é possível aplicar dados de anúncio. status: 0x%02x"
#~ msgid "Can not add Characteristic."
#~ msgstr "Não é possível adicionar Característica."
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART não disponível"
#, fuzzy
#~ msgid "All PWM peripherals are in use"
#~ msgstr "Todos os temporizadores em uso"
#~ msgid "busio.UART not available"
#~ msgstr "busio.UART não disponível"
#~ msgid "Can not add Characteristic."
#~ msgstr "Não é possível adicionar Característica."
#~ msgid "Can not apply advertisement data. status: 0x%02x"
#~ msgstr "Não é possível aplicar dados de anúncio. status: 0x%02x"
#~ msgid "Cannot apply GAP parameters."
#~ msgstr "Não é possível aplicar parâmetros GAP."
#~ msgid "Can not apply device name in the stack."
#~ msgstr "Não é possível aplicar o nome do dispositivo na pilha."
#~ msgid "Cannot set PPCP parameters."
#~ msgstr "Não é possível definir parâmetros PPCP."
#~ msgid "Invalid Service type"
#~ msgstr "Tipo de serviço inválido"
#~ msgid "Can not query for the device address."
#~ msgstr "Não é possível consultar o endereço do dispositivo."
#, fuzzy
#~ msgid "unpack requires a buffer of %d bytes"
#~ msgstr "Falha ao alocar buffer RX de %d bytes"
#~ msgid "Can encode UUID into the advertisement packet."
#~ msgstr "Pode codificar o UUID no pacote de anúncios."
#~ msgid "Baud rate too high for this SPI peripheral"
#~ msgstr "Taxa de transmissão muito alta para esse periférico SPI"
#~ msgid "Invalid UUID parameter"
#~ msgstr "Parâmetro UUID inválido"
#, fuzzy
#~ msgid "unicode_characters must be a string"
#~ msgstr "heap deve ser uma lista"
#~ msgid "Group empty"
#~ msgstr "Grupo vazio"
#, fuzzy
#~ msgid "Group must have %q at least 1"
#~ msgstr "Grupo deve ter tamanho pelo menos 1"
#~ msgid "index must be int"
#~ msgstr "index deve ser int"
#, fuzzy
#~ msgid "buffer_size must be >= 1"
#~ msgstr "buffers devem ser o mesmo tamanho"

View File

@ -257,6 +257,9 @@ extern const struct _mp_obj_module_t pixelbuf_module;
#define MICROPY_PY_UERRNO (1)
#define MICROPY_PY_UERRNO_ERRORCODE (0)
#define MICROPY_PY_URE (1)
#define MICROPY_PY_URE_MATCH_GROUPS (1)
#define MICROPY_PY_URE_MATCH_SPAN_START_END (1)
#define MICROPY_PY_URE_SUB (1)
#ifndef MICROPY_PY_FRAMEBUF
#define MICROPY_PY_FRAMEBUF (0)
#endif
@ -421,7 +424,6 @@ extern const struct _mp_obj_module_t pixelbuf_module;
{ MP_OBJ_NEW_QSTR(MP_QSTR_pulseio), (mp_obj_t)&pulseio_module }, \
{ MP_OBJ_NEW_QSTR(MP_QSTR_random), (mp_obj_t)&random_module }, \
{ MP_OBJ_NEW_QSTR(MP_QSTR_rtc), (mp_obj_t)&rtc_module }, \
{ MP_OBJ_NEW_QSTR(MP_QSTR_samd),(mp_obj_t)&samd_module }, \
{ MP_OBJ_NEW_QSTR(MP_QSTR_storage), (mp_obj_t)&storage_module }, \
{ MP_OBJ_NEW_QSTR(MP_QSTR_struct), (mp_obj_t)&struct_module }, \
{ MP_OBJ_NEW_QSTR(MP_QSTR_supervisor), (mp_obj_t)&supervisor_module }, \

View File

@ -1164,6 +1164,18 @@ typedef double mp_float_t;
#define MICROPY_PY_URE (0)
#endif
#ifndef MICROPY_PY_URE_MATCH_GROUPS
#define MICROPY_PY_URE_MATCH_GROUPS (0)
#endif
#ifndef MICROPY_PY_URE_MATCH_SPAN_START_END
#define MICROPY_PY_URE_MATCH_SPAN_START_END (0)
#endif
#ifndef MICROPY_PY_URE_SUB
#define MICROPY_PY_URE_SUB (0)
#endif
#ifndef MICROPY_PY_UHEAPQ
#define MICROPY_PY_UHEAPQ (0)
#endif

View File

@ -408,6 +408,15 @@ mp_obj_t mp_obj_str_binary_op(mp_binary_op_t op, mp_obj_t lhs_in, mp_obj_t rhs_i
#if !MICROPY_PY_BUILTINS_STR_UNICODE
// objstrunicode defines own version
size_t str_offset_to_index(const mp_obj_type_t *type, const byte *self_data, size_t self_len,
size_t offset) {
if (offset > self_len) {
mp_raise_ValueError(translate("offset out of bounds"));
}
return offset;
}
const byte *str_index_to_ptr(const mp_obj_type_t *type, const byte *self_data, size_t self_len,
mp_obj_t index, bool is_slice) {
size_t index_val = mp_get_index(type, self_len, index, is_slice);

View File

@ -71,6 +71,8 @@ mp_obj_t mp_obj_new_str_of_type(const mp_obj_type_t *type, const byte* data, siz
mp_obj_t mp_obj_str_binary_op(mp_binary_op_t op, mp_obj_t lhs_in, mp_obj_t rhs_in);
mp_int_t mp_obj_str_get_buffer(mp_obj_t self_in, mp_buffer_info_t *bufinfo, mp_uint_t flags);
size_t str_offset_to_index(const mp_obj_type_t *type, const byte *self_data, size_t self_len,
size_t offset);
const byte *str_index_to_ptr(const mp_obj_type_t *type, const byte *self_data, size_t self_len,
mp_obj_t index, bool is_slice);
const byte *find_subbytes(const byte *haystack, size_t hlen, const byte *needle, size_t nlen, int direction);

View File

@ -112,6 +112,26 @@ STATIC mp_obj_t uni_unary_op(mp_unary_op_t op, mp_obj_t self_in) {
}
}
size_t str_offset_to_index(const mp_obj_type_t *type, const byte *self_data, size_t self_len,
size_t offset) {
if (offset > self_len) {
mp_raise_ValueError(translate("offset out of bounds"));
}
if (type == &mp_type_bytes) {
return offset;
}
size_t index_val = 0;
const byte *s = self_data;
for (size_t i = 0; i < offset; i++, s++) {
if (!UTF8_IS_CONT(*s)) {
++index_val;
}
}
return index_val;
}
// Convert an index into a pointer to its lead byte. Out of bounds indexing will raise IndexError or
// be capped to the first/last character of the string, depending on is_slice.
const byte *str_index_to_ptr(const mp_obj_type_t *type, const byte *self_data, size_t self_len,

View File

@ -28,6 +28,19 @@ try:
except IndexError:
print("IndexError")
r = re.compile(r"\n")
m = r.match("\n")
print(m.group(0))
m = r.match("\\")
print(m)
r = re.compile(r"[\n-\r]")
m = r.match("\n")
print(m.group(0))
r = re.compile(r"[\]]")
m = r.match("]")
print(m.group(0))
print("===")
r = re.compile("[a-cu-z]")
m = r.match("a")
print(m.group(0))

View File

@ -0,0 +1,33 @@
# test match.groups()
try:
import ure as re
except ImportError:
try:
import re
except ImportError:
print("SKIP")
raise SystemExit
try:
m = re.match(".", "a")
m.groups
except AttributeError:
print('SKIP')
raise SystemExit
m = re.match(r'(([0-9]*)([a-z]*)[0-9]*)','1234hello567')
print(m.groups())
m = re.match(r'([0-9]*)(([a-z]*)([0-9]*))','1234hello567')
print(m.groups())
# optional group that matches
print(re.match(r'(a)?b(c)', 'abc').groups())
# optional group that doesn't match
print(re.match(r'(a)?b(c)', 'bc').groups())
# only a single match
print(re.match(r'abc', 'abc').groups())

40
tests/extmod/ure_span.py Normal file
View File

@ -0,0 +1,40 @@
# test match.span(), and nested spans
try:
import ure as re
except ImportError:
try:
import re
except ImportError:
print("SKIP")
raise SystemExit
try:
m = re.match(".", "a")
m.span
except AttributeError:
print('SKIP')
raise SystemExit
def print_spans(match):
print('----')
try:
i = 0
while True:
print(match.span(i), match.start(i), match.end(i))
i += 1
except IndexError:
pass
m = re.match(r'(([0-9]*)([a-z]*)[0-9]*)','1234hello567')
print_spans(m)
m = re.match(r'([0-9]*)(([a-z]*)([0-9]*))','1234hello567')
print_spans(m)
# optional span that matches
print_spans(re.match(r'(a)?b(c)', 'abc'))
# optional span that doesn't match
print_spans(re.match(r'(a)?b(c)', 'bc'))

61
tests/extmod/ure_sub.py Normal file
View File

@ -0,0 +1,61 @@
try:
import ure as re
except ImportError:
try:
import re
except ImportError:
print('SKIP')
raise SystemExit
try:
re.sub
except AttributeError:
print('SKIP')
raise SystemExit
def multiply(m):
return str(int(m.group(0)) * 2)
print(re.sub("\d+", multiply, "10 20 30 40 50"))
print(re.sub("\d+", lambda m: str(int(m.group(0)) // 2), "10 20 30 40 50"))
def A():
return "A"
print(re.sub('a', A(), 'aBCBABCDabcda.'))
print(
re.sub(
r'def\s+([a-zA-Z_][a-zA-Z_0-9]*)\s*\(\s*\):',
'static PyObject*\npy_\\1(void){\n return;\n}\n',
'\n\ndef myfunc():\n\ndef myfunc1():\n\ndef myfunc2():'
)
)
print(
re.compile(
'(calzino) (blu|bianco|verde) e (scarpa) (blu|bianco|verde)'
).sub(
r'\g<1> colore \2 con \g<3> colore \4? ...',
'calzino blu e scarpa verde'
)
)
# no matches at all
print(re.sub('a', 'b', 'c'))
# with maximum substitution count specified
print(re.sub('a', 'b', '1a2a3a', 2))
# invalid group
try:
re.sub('(a)', 'b\\2', 'a')
except:
print('invalid group')
# invalid group with very large number (to test overflow in uPy)
try:
re.sub('(a)', 'b\\199999999999999999999999999999999999999', 'a')
except:
print('invalid group')

View File

@ -0,0 +1,19 @@
# test re.sub with unmatched groups, behaviour changed in CPython 3.5
try:
import ure as re
except ImportError:
try:
import re
except ImportError:
print('SKIP')
raise SystemExit
try:
re.sub
except AttributeError:
print('SKIP')
raise SystemExit
# first group matches, second optional group doesn't so is replaced with a blank
print(re.sub(r'(a)(b)?', r'\2-\1', '1a2'))

View File

@ -0,0 +1 @@
1-a2