# Brazilian Portuguese translation of glib.
# Copyright (C) 2001-2005 Free Software Foundation, Inc.
# This file is distributed under the same license as the glib package.
# Gustavo Noronha Silva <kov@debian.org>, 2001-2005
#
msgid ""
msgstr ""
"Project-Id-Version: glib\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-05-26 09:45-0400\n"
"PO-Revision-Date: 2006-03-10 20:38-0300\n"
"Last-Translator: Leandro A. F. Pereira <leandro@linuxmag.com.br>\n"
"Language-Team: Brazilian Portuguese <gnome-l10n-br@listas.cipsga.org.br>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: glib/gconvert.c:408 glib/gconvert.c:486 glib/giochannel.c:1150
#, c-format
msgid "Conversion from character set '%s' to '%s' is not supported"
msgstr "Conversão do conjunto de caracteres '%s' para '%s' não é suportada"

#: glib/gconvert.c:412 glib/gconvert.c:490
#, c-format
msgid "Could not open converter from '%s' to '%s'"
msgstr "Não foi possível abrir conversor de '%s' para '%s'"

#: glib/gconvert.c:606 glib/gconvert.c:995 glib/giochannel.c:1322
#: glib/giochannel.c:1364 glib/giochannel.c:2206 glib/gutf8.c:943
#: glib/gutf8.c:1392
#, c-format
msgid "Invalid byte sequence in conversion input"
msgstr "Sequência de bytes inválida na entrada de conversão"

#: glib/gconvert.c:612 glib/gconvert.c:922 glib/giochannel.c:1329
#: glib/giochannel.c:2218
#, c-format
msgid "Error during conversion: %s"
msgstr "Erro durante a conversão: %s"

#: glib/gconvert.c:647 glib/gutf8.c:939 glib/gutf8.c:1143 glib/gutf8.c:1284
#: glib/gutf8.c:1388
#, c-format
msgid "Partial character sequence at end of input"
msgstr "Sequência de caracteres parcial no final da entrada"

#: glib/gconvert.c:897
#, c-format
msgid "Cannot convert fallback '%s' to codeset '%s'"
msgstr "Não foi possível converter recurso '%s' para conjunto caracteres '%s'"

#: glib/gconvert.c:1706
#, c-format
msgid "The URI '%s' is not an absolute URI using the \"file\" scheme"
msgstr "O URI '%s' não é um URI absoluto que utilize o esquema \"file\""

#: glib/gconvert.c:1716
#, c-format
msgid "The local file URI '%s' may not include a '#'"
msgstr "O URI de arquivo local '%s' não pode incluir um '#'"

#: glib/gconvert.c:1733
#, c-format
msgid "The URI '%s' is invalid"
msgstr "O URI '%s' é inválido"

#: glib/gconvert.c:1745
#, c-format
msgid "The hostname of the URI '%s' is invalid"
msgstr "O nome de servidor do URI '%s' é inválido"

#: glib/gconvert.c:1761
#, c-format
msgid "The URI '%s' contains invalidly escaped characters"
msgstr "O URI '%s' contém caracteres mascarados inválidos"

#: glib/gconvert.c:1855
#, c-format
msgid "The pathname '%s' is not an absolute path"
msgstr "O nome de caminho '%s' não é um caminho absoluto"

#: glib/gconvert.c:1865
#, c-format
msgid "Invalid hostname"
msgstr "Nome de servidor inválido"

#: glib/gdir.c:121 glib/gdir.c:141
#, c-format
msgid "Error opening directory '%s': %s"
msgstr "Erro ao abrir o diretório '%s': %s"

#: glib/gfileutils.c:576 glib/gfileutils.c:649
#, c-format
msgid "Could not allocate %lu bytes to read file \"%s\""
msgstr "Não foi possível alocar %lu bytes para ler arquivo \"%s\""

#: glib/gfileutils.c:591
#, c-format
msgid "Error reading file '%s': %s"
msgstr "Erro ao ler arquivo '%s': %s"

#: glib/gfileutils.c:673
#, c-format
msgid "Failed to read from file '%s': %s"
msgstr "Falha ao ler do arquivo '%s': %s"

#: glib/gfileutils.c:724 glib/gfileutils.c:811
#, c-format
msgid "Failed to open file '%s': %s"
msgstr "Falha ao abrir arquivo '%s': %s"

#: glib/gfileutils.c:741 glib/gmappedfile.c:133
#, c-format
msgid "Failed to get attributes of file '%s': fstat() failed: %s"
msgstr "Falha ao obter atributos do arquivo '%s': fstat() falhou: %s"

#: glib/gfileutils.c:775
#, c-format
msgid "Failed to open file '%s': fdopen() failed: %s"
msgstr "Falha ao abrir arquivo '%s': fdopen() falhou: %s"

#: glib/gfileutils.c:909
#, c-format
msgid "Failed to rename file '%s' to '%s': g_rename() failed: %s"
msgstr "Falha ao renomear arquivo '%s' para '%s': g_rename() falhou: %s"

#: glib/gfileutils.c:950 glib/gfileutils.c:1415
#, c-format
msgid "Failed to create file '%s': %s"
msgstr "Falha ao criar arquivo '%s': %s"

#: glib/gfileutils.c:964
#, c-format
msgid "Failed to open file '%s' for writing: fdopen() failed: %s"
msgstr "Falha ao abrir arquivo '%s' para escrita: fdopen() falhou: %s"

#: glib/gfileutils.c:989
#, c-format
msgid "Failed to write file '%s': fwrite() failed: %s"
msgstr "Falha ao escrever no arquivo '%s': fwrite() falhou: %s"

#: glib/gfileutils.c:1008
#, c-format
msgid "Failed to close file '%s': fclose() failed: %s"
msgstr "Falha ao fechar arquivo '%s': fclose() falhou: %s"

#: glib/gfileutils.c:1126
#, c-format
msgid "Existing file '%s' could not be removed: g_unlink() failed: %s"
msgstr "O arquivo '%s' não pôde ser removido: g_unlink() falhou: %s"

#: glib/gfileutils.c:1376
#, c-format
msgid "Template '%s' invalid, should not contain a '%s'"
msgstr "Modelo '%s' inválido, não deveria conter um '%s'"

#: glib/gfileutils.c:1390
#, c-format
msgid "Template '%s' doesn't end with XXXXXX"
msgstr "Modelo '%s' não termina com XXXXXX"

#: glib/gfileutils.c:1865
#, c-format
msgid "Failed to read the symbolic link '%s': %s"
msgstr "Falha ao ler vínculo simbólico '%s': %s"

#: glib/gfileutils.c:1886
#, c-format
msgid "Symbolic links not supported"
msgstr "Vínculos simbólicos não são suportados"

#: glib/giochannel.c:1154
#, c-format
msgid "Could not open converter from '%s' to '%s': %s"
msgstr "Não foi possível abrir conversor de `%s' para `%s': %s"

#: glib/giochannel.c:1499
#, c-format
msgid "Can't do a raw read in g_io_channel_read_line_string"
msgstr ""
"Não foi possível fazer uma leitura em bruto em g_io_channel_read_line_string"

#: glib/giochannel.c:1546 glib/giochannel.c:1803 glib/giochannel.c:1889
#, c-format
msgid "Leftover unconverted data in read buffer"
msgstr "Dados residuais não convertidos no buffer de leitura"

#: glib/giochannel.c:1626 glib/giochannel.c:1703
#, c-format
msgid "Channel terminates in a partial character"
msgstr "Canal termina num caractere parcial"

#: glib/giochannel.c:1689
#, c-format
msgid "Can't do a raw read in g_io_channel_read_to_end"
msgstr ""
"Não foi possível fazer uma leitura em bruto de g_io_channel_read_to_end"

#: glib/gmappedfile.c:116
#, c-format
msgid "Failed to open file '%s': open() failed: %s"
msgstr "Falha ao abrir arquivo '%s': open() falhou: %s"

#: glib/gmappedfile.c:193
#, c-format
msgid "Failed to map file '%s': mmap() failed: %s"
msgstr "Falha ao mapear arquivo '%s': mmap() falhou: %s"

#: glib/gmarkup.c:232
#, c-format
msgid "Error on line %d char %d: %s"
msgstr "Erro na linha %d car %d: %s"

#: glib/gmarkup.c:330
#, c-format
msgid "Error on line %d: %s"
msgstr "Erro na linha %d: %s"

#: glib/gmarkup.c:434
msgid ""
"Empty entity '&;' seen; valid entities are: &amp; &quot; &lt; &gt; &apos;"
msgstr ""
"Entidade '&;' vazia vista; as entidades válidas são: &amp; &quot; &lt; &gt; "
"&apos;"

#: glib/gmarkup.c:444
#, c-format
msgid ""
"Character '%s' is not valid at the start of an entity name; the & character "
"begins an entity; if this ampersand isn't supposed to be an entity, escape "
"it as &amp;"
msgstr ""
"Caractere '%s' não é válido no início do nome da entidade; o caractere & "
"inicia uma entidade; se este 'e' comercial não é suposto ser uma entidade, "
"mascare-o como &amp;"

#: glib/gmarkup.c:478
#, c-format
msgid "Character '%s' is not valid inside an entity name"
msgstr "Caractere '%s' não é válido dentro de um nome de entidade"

#: glib/gmarkup.c:515
#, c-format
msgid "Entity name '%s' is not known"
msgstr "Nome de entidade '%s' não é conhecido"

#: glib/gmarkup.c:526
msgid ""
"Entity did not end with a semicolon; most likely you used an ampersand "
"character without intending to start an entity - escape ampersand as &amp;"
msgstr ""
"Entidade não termina com um ponto e vírgula; provavelmente você utilizou um "
"'e' comercial sem desejar iniciar uma entidade - mascare-o com &amp;"

#: glib/gmarkup.c:579
#, c-format
msgid ""
"Failed to parse '%-.*s', which should have been a digit inside a character "
"reference (&#234; for example) - perhaps the digit is too large"
msgstr ""
"Falha ao analisar '%-.*s', que deveria ter sido um dígito dentro de uma "
"referência de caractere (&#234; por exemplo) - talvez o dígito seja grande "
"demais"

#: glib/gmarkup.c:604
#, c-format
msgid "Character reference '%-.*s' does not encode a permitted character"
msgstr "Referência de caractere '%-.*s' não codifica um caractere permitido"

#: glib/gmarkup.c:619
msgid "Empty character reference; should include a digit such as &#454;"
msgstr ""
"Referência de caractere vazia; deveria incluir um dígito tal como &#454;"

#: glib/gmarkup.c:629
msgid ""
"Character reference did not end with a semicolon; most likely you used an "
"ampersand character without intending to start an entity - escape ampersand "
"as &amp;"
msgstr ""
"Referência de caractere não terminou com um ponto e vírgula; provavelmente "
"utilizou um caracter 'e' comercial sem desejar iniciar uma entidade - "
"mascare-o com &amp;"

#: glib/gmarkup.c:715
msgid "Unfinished entity reference"
msgstr "Referência de entidade inacabada"

#: glib/gmarkup.c:721
msgid "Unfinished character reference"
msgstr "Referência de caractere inacabada"

#: glib/gmarkup.c:964 glib/gmarkup.c:992 glib/gmarkup.c:1023
msgid "Invalid UTF-8 encoded text"
msgstr "Texto codificado em UTF-8 inválido"

#: glib/gmarkup.c:1059
msgid "Document must begin with an element (e.g. <book>)"
msgstr "Documento tem de começar com um elemento (ex. <book>)"

#: glib/gmarkup.c:1099
#, c-format
msgid ""
"'%s' is not a valid character following a '<' character; it may not begin an "
"element name"
msgstr ""
"'%s' não é um caractere válido após um caractere '<'; não poderá começar um "
"nome de elemento"

#: glib/gmarkup.c:1163
#, c-format
msgid ""
"Odd character '%s', expected a '>' character to end the start tag of element "
"'%s'"
msgstr ""
"Caractere estranho '%s', esperava-se um caractere '>' para terminar a tag "
"inicial do elemento '%s'"

#: glib/gmarkup.c:1252
#, c-format
msgid ""
"Odd character '%s', expected a '=' after attribute name '%s' of element '%s'"
msgstr ""
"Caractere estranho '%s', esperava-se um '=' após o nome do atributo '%s' do "
"elemento '%s'"

#: glib/gmarkup.c:1294
#, c-format
msgid ""
"Odd character '%s', expected a '>' or '/' character to end the start tag of "
"element '%s', or optionally an attribute; perhaps you used an invalid "
"character in an attribute name"
msgstr ""
"Caractere estranho '%s', esperava-se um caractere '>' ou '/' para terminar a "
"tag inicial do elemento '%s', ou opcionalmente um atributo; talvez tenha "
"utilizado um caractere inválido no nome de atributo"

#: glib/gmarkup.c:1383
#, c-format
msgid ""
"Odd character '%s', expected an open quote mark after the equals sign when "
"giving value for attribute '%s' of element '%s'"
msgstr ""
"Caractere estranho '%s', esperava-se uma aspa aberta após o sinal de igual "
"ao atribuir o valor ao atributo '%s' do elemento '%s'"

#: glib/gmarkup.c:1528
#, c-format
msgid ""
"'%s' is not a valid character following the characters '</'; '%s' may not "
"begin an element name"
msgstr ""
"'%s' não é um caractere válido após os caracteres '</'; '%s' não poderá "
"começar o nome de um elemento"

#: glib/gmarkup.c:1568
#, c-format
msgid ""
"'%s' is not a valid character following the close element name '%s'; the "
"allowed character is '>'"
msgstr ""
"'%s' não é um caractere válido após o nome do elemento de fecho '%s'; o "
"caractere permitido é '>'"

#: glib/gmarkup.c:1579
#, c-format
msgid "Element '%s' was closed, no element is currently open"
msgstr "Elemento '%s' foi fechado, nenhum elemento está atualmente aberto"

#: glib/gmarkup.c:1588
#, c-format
msgid "Element '%s' was closed, but the currently open element is '%s'"
msgstr "Elemento '%s' foi fechado, mas o elemento atualmente aberto é '%s'"

#: glib/gmarkup.c:1735
msgid "Document was empty or contained only whitespace"
msgstr "Documento estava vazio ou apenas continha espaços"

#: glib/gmarkup.c:1749
msgid "Document ended unexpectedly just after an open angle bracket '<'"
msgstr "Documento terminou inesperadamente logo após um menor que '<'"

#: glib/gmarkup.c:1757 glib/gmarkup.c:1801
#, c-format
msgid ""
"Document ended unexpectedly with elements still open - '%s' was the last "
"element opened"
msgstr ""
"Documento terminou inesperadamente com elementos ainda abertos - '%s' foi o "
"último elemento aberto"

#: glib/gmarkup.c:1765
#, c-format
msgid ""
"Document ended unexpectedly, expected to see a close angle bracket ending "
"the tag <%s/>"
msgstr ""
"Documento terminou inesperadamente, esperava-se ver um maior que '>' a "
"terminar a tag <%s/>"

#: glib/gmarkup.c:1771
msgid "Document ended unexpectedly inside an element name"
msgstr "Documento terminou inesperadamente dentro de um nome de elemento"

#: glib/gmarkup.c:1776
msgid "Document ended unexpectedly inside an attribute name"
msgstr "Documento terminou inesperadamente dentro de um nome de atributo"

#: glib/gmarkup.c:1781
msgid "Document ended unexpectedly inside an element-opening tag."
msgstr ""
"Documento terminou inesperadamente dentro de uma etiqueta de abertura de "
"elemento."

#: glib/gmarkup.c:1787
msgid ""
"Document ended unexpectedly after the equals sign following an attribute "
"name; no attribute value"
msgstr ""
"Documento terminou inesperadamente após o sinal de igual que se seguiu a um "
"nome de atributo; nenhum valor de atributo"

#: glib/gmarkup.c:1794
msgid "Document ended unexpectedly while inside an attribute value"
msgstr "Documento terminou inesperadamente dentro de um valor de atributo"

#: glib/gmarkup.c:1809
#, c-format
msgid "Document ended unexpectedly inside the close tag for element '%s'"
msgstr ""
"Documento terminou inesperadamente dentro ta etiqueta de fecho do elemento '%"
"s'"

#: glib/gmarkup.c:1815
msgid "Document ended unexpectedly inside a comment or processing instruction"
msgstr ""
"Documento terminou inesperadamente dentro de um comentário ou instrução de "
"processamento"

#: glib/gshell.c:73
#, c-format
msgid "Quoted text doesn't begin with a quotation mark"
msgstr "Texto citado não começa com uma aspa"

#: glib/gshell.c:163
#, c-format
msgid "Unmatched quotation mark in command line or other shell-quoted text"
msgstr "Aspa sem par na linha de comando ou outro texto de consola citado"

#: glib/gshell.c:541
#, c-format
msgid "Text ended just after a '\\' character. (The text was '%s')"
msgstr "Texto terminou logo após um caractere '\\'. (O texto era '%s')"

#: glib/gshell.c:548
#, c-format
msgid "Text ended before matching quote was found for %c. (The text was '%s')"
msgstr ""
"Texto terminou antes da aspa equivalente ter sido encontrada para %c. (texto "
"era '%s')"

#: glib/gshell.c:560
#, c-format
msgid "Text was empty (or contained only whitespace)"
msgstr "Texto estava vazio (ou apenas continha espaços)"

#: glib/gspawn-win32.c:276
#, c-format
msgid "Failed to read data from child process"
msgstr "Falha ao ler dados de processo filho"

#: glib/gspawn-win32.c:291 glib/gspawn.c:1364
#, c-format
msgid "Failed to create pipe for communicating with child process (%s)"
msgstr "Falha ao criar canal para comunicar com com processo filho (%s)"

#: glib/gspawn-win32.c:329 glib/gspawn.c:1028
#, c-format
msgid "Failed to read from child pipe (%s)"
msgstr "Falha ao ler de canal filho (%s)"

#: glib/gspawn-win32.c:355 glib/gspawn.c:1233
#, c-format
msgid "Failed to change to directory '%s' (%s)"
msgstr "Falha ao ir para diretório '%s' (%s)"

#: glib/gspawn-win32.c:361 glib/gspawn-win32.c:581
#, c-format
msgid "Failed to execute child process (%s)"
msgstr "Falha ao executar processo filho (%s)"

#: glib/gspawn-win32.c:471 glib/gspawn-win32.c:527
#, c-format
msgid "Invalid program name: %s"
msgstr "Nome de programa inválido: %s"

#: glib/gspawn-win32.c:481 glib/gspawn-win32.c:537 glib/gspawn-win32.c:780
#: glib/gspawn-win32.c:835 glib/gspawn-win32.c:1370
#, c-format
msgid "Invalid string in argument vector at %d: %s"
msgstr "String inválida no vetor de argumentos em %d: %s"

#: glib/gspawn-win32.c:492 glib/gspawn-win32.c:548 glib/gspawn-win32.c:794
#: glib/gspawn-win32.c:848 glib/gspawn-win32.c:1403
#, c-format
msgid "Invalid string in environment: %s"
msgstr "String inválida no ambiente: %s"

#: glib/gspawn-win32.c:776 glib/gspawn-win32.c:831 glib/gspawn-win32.c:1351
#, c-format
msgid "Invalid working directory: %s"
msgstr "Diretório de trabalho inválido: %s"

#: glib/gspawn-win32.c:890
#, c-format
msgid "Failed to execute helper program (%s)"
msgstr "Falha ao executar programa auxiliar (%s)"

#: glib/gspawn-win32.c:1090
#, c-format
msgid ""
"Unexpected error in g_io_channel_win32_poll() reading data from a child "
"process"
msgstr ""
"Erro inesperado no g_io_channel_win32_poll() ao ler dados de um processo "
"filho"

#: glib/gspawn.c:168
#, c-format
msgid "Failed to read data from child process (%s)"
msgstr "Falha ao ler dados de processo filho (%s)"

#: glib/gspawn.c:300
#, c-format
msgid "Unexpected error in select() reading data from a child process (%s)"
msgstr "Erro inesperado no select() ao ler dados de processo filho (%s)"

#: glib/gspawn.c:383
#, c-format
msgid "Unexpected error in waitpid() (%s)"
msgstr "Erro inesperado em waitpid() (%s)"

#: glib/gspawn.c:1093
#, c-format
msgid "Failed to fork (%s)"
msgstr "Falha no fork (%s)"

#: glib/gspawn.c:1243
#, c-format
msgid "Failed to execute child process \"%s\" (%s)"
msgstr "Falha ao executar processo filho \"%s\" (%s)"

#: glib/gspawn.c:1253
#, c-format
msgid "Failed to redirect output or input of child process (%s)"
msgstr "Falha ao redireccionar saida ou entrada do processo filho (%s)"

#: glib/gspawn.c:1262
#, c-format
msgid "Failed to fork child process (%s)"
msgstr "Falha no fork de processo filho (%s)"

#: glib/gspawn.c:1270
#, c-format
msgid "Unknown error executing child process \"%s\""
msgstr "Erro desconhecido ao executar processo filho \"%s\""

#: glib/gspawn.c:1292
#, c-format
msgid "Failed to read enough data from child pid pipe (%s)"
msgstr "Falha ao ler dados suficientes de canal pid do filho (%s)"

#: glib/gutf8.c:1017
#, c-format
msgid "Character out of range for UTF-8"
msgstr "Caractere fora do limite para UTF-8 "

#: glib/gutf8.c:1111 glib/gutf8.c:1120 glib/gutf8.c:1252 glib/gutf8.c:1261
#: glib/gutf8.c:1402 glib/gutf8.c:1498
#, c-format
msgid "Invalid sequence in conversion input"
msgstr "Sequência inválida na conversão da entrada"

#: glib/gutf8.c:1413 glib/gutf8.c:1509
#, c-format
msgid "Character out of range for UTF-16"
msgstr "Caractere fora do limite para UTF-16"

#: glib/goption.c:484
msgid "Usage:"
msgstr "Uso:"

#: glib/goption.c:484
msgid "[OPTION...]"
msgstr "[OPÇÕES...]"

#: glib/goption.c:572
msgid "Help Options:"
msgstr "Opções de Ajuda:"

#: glib/goption.c:573
msgid "Show help options"
msgstr "Exibir opções de ajuda"

#: glib/goption.c:578
msgid "Show all help options"
msgstr "Exibir todas as opções de ajuda"

#: glib/goption.c:628
msgid "Application Options:"
msgstr "Opções de Aplicação:"

#: glib/goption.c:669
#, c-format
msgid "Cannot parse integer value '%s' for %s"
msgstr "Não foi possível analisar o valor inteiro '%s' para %s"

#: glib/goption.c:679
#, c-format
msgid "Integer value '%s' for %s out of range"
msgstr "Valor inteiro '%s' para %s fora dos limites"

#: glib/goption.c:942
#, c-format
msgid "Error parsing option %s"
msgstr "Erro ao ler a opção %s"

#: glib/goption.c:973 glib/goption.c:1084
#, c-format
msgid "Missing argument for %s"
msgstr "Falta argumento para %s"

#: glib/goption.c:1467
#, c-format
msgid "Unknown option %s"
msgstr "Opção %s desconhecida"

#: glib/gkeyfile.c:339
#, c-format
msgid "Valid key file could not be found in data dirs"
msgstr ""
"Um arquivo de chave válido não pôde ser encontrado nos diretórios de dados"

#: glib/gkeyfile.c:374
#, c-format
msgid "Not a regular file"
msgstr "Não é um arquivo comum"

#: glib/gkeyfile.c:382
#, c-format
msgid "File is empty"
msgstr "Arquivo vazio"

#: glib/gkeyfile.c:697
#, c-format
msgid ""
"Key file contains line '%s' which is not a key-value pair, group, or comment"
msgstr ""
"Arquivo de chave contém a linha '%s' que não é um par chave-valor, grupo ou "
"comentário"

#: glib/gkeyfile.c:765
#, c-format
msgid "Key file does not start with a group"
msgstr "Arquivo de chave não começa com um grupo"

#: glib/gkeyfile.c:808
#, c-format
msgid "Key file contains unsupported encoding '%s'"
msgstr "Arquivo de chave contém codificação '%s' não suportada"

#: glib/gkeyfile.c:1017 glib/gkeyfile.c:1176 glib/gkeyfile.c:2177
#: glib/gkeyfile.c:2242 glib/gkeyfile.c:2361 glib/gkeyfile.c:2496
#: glib/gkeyfile.c:2649 glib/gkeyfile.c:2825 glib/gkeyfile.c:2882
#, c-format
msgid "Key file does not have group '%s'"
msgstr "Arquivo de chave não tem grupo '%s'"

#: glib/gkeyfile.c:1188
#, c-format
msgid "Key file does not have key '%s'"
msgstr "Arquivo de chave não tem chave '%s'"

#: glib/gkeyfile.c:1289 glib/gkeyfile.c:1398
#, c-format
msgid "Key file contains key '%s' with value '%s' which is not UTF-8"
msgstr "Arquivo de chave contém chave '%s' com valor '%s' que não é UTF-8"

#: glib/gkeyfile.c:1307 glib/gkeyfile.c:1416 glib/gkeyfile.c:1788
#, c-format
msgid "Key file contains key '%s' which has value that cannot be interpreted."
msgstr ""
"Arquivo de chave contém chave '%s' que tem valor que não pode ser "
"interpretado."

#: glib/gkeyfile.c:2004
#, c-format
msgid ""
"Key file contains key '%s' in group '%s' which has value that cannot be "
"interpreted."
msgstr ""
"Arquivo de chave contém chave '%s' no grupo '%s' que tem valor que não pode "
"ser interpretado."

#: glib/gkeyfile.c:2192 glib/gkeyfile.c:2376 glib/gkeyfile.c:2893
#, c-format
msgid "Key file does not have key '%s' in group '%s'"
msgstr "Arquivo de chave não tem chave '%s' no grupo '%s'"

#: glib/gkeyfile.c:3066
#, c-format
msgid "Key file contains escape character at end of line"
msgstr "Arquivo de chave contém caractere de escape no fim da linha"

#: glib/gkeyfile.c:3088
#, c-format
msgid "Key file contains invalid escape sequence '%s'"
msgstr "Arquivo de chave contém seqüência de escape '%s' inválida"

#: glib/gkeyfile.c:3229
#, c-format
msgid "Value '%s' cannot be interpreted as a number."
msgstr "O valor '%s' não pode ser interpretado como um número."

#: glib/gkeyfile.c:3239
#, c-format
msgid "Integer value '%s' out of range"
msgstr "Valor inteiro '%s' fora dos limites"

#: glib/gkeyfile.c:3269
#, c-format
msgid "Value '%s' cannot be interpreted as a boolean."
msgstr "O valor '%s' não pode ser interpretado como um booleano."

#~ msgid "Could not change file mode: fork() failed: %s"
#~ msgstr "Falha ao alterar o modo do arquivo: fork() falhou: %s"

#~ msgid "Could not change file mode: waitpid() failed: %s"
#~ msgstr "Falha ao alterar o modo do arquivo: waitpid() falhou: %s"

#~ msgid "Could not change file mode: chmod() failed: %s"
#~ msgstr "Falha ao alterar o modo do arquivo: chmod() falhou: %s"

#~ msgid "Could not change file mode: Child terminated by signal: %s"
#~ msgstr ""
#~ "Falha ao alterar o modo do arquivo: O filho foi finalizado com o sinal: %s"

#~ msgid "Could not change file mode: Child terminated abnormally"
#~ msgstr ""
#~ "Falha ao alterar o modo do arquivo: O filho foi finalizado de modo anormal"

#~ msgid "Conversion from character set `%s' to `%s' is not supported"
#~ msgstr "Conversão do conjunto de caracteres `%s' para `%s' não suportado"
