Brazilian Portuguese

This repository is a hub for all people who want to help translate R into Brazilian Portuguese. This README is in English, but you can reach out to other translators on the R Contributors Slack if you need any additional information about the project.

About

The goal of the pt-bR project is to bring together all people interested in helping translate the R language into Brazilian Portuguese 🇧🇷. If you use R a lot, we need your help!

Unlike other languages, R tries to display every message in the same language as the computer it’s running on. In principle, this reduces R’s barrier to entry; warnings and errors are very common in code written by beginners, so it’s essential that these messages are as clear as possible.

How to contribute

To help in the translation process, you need to:

  1. Sign up to the R Contributors Slack and introduce yourself in the #core-translations channel;
  2. Read the Resources section of this document, because the translation has some conventions that should be followed;
  3. Create an account on Weblate (currently maintained by @daroczig);
  4. List every Brazilian Portuguese component;
  5. Choose a component that’s not 100% translated (like, for example, the utils package);
  6. Click Unfinished strings to list all messages that haven’t been translated and
  7. Start!

Style

R is a programming language that’s almost 30 years old and, therefore, its messages were written by many people with very different writing styles. We should always follow Portuguese’s grammar and orthography, including the new Spelling Reform, but we also want to preserve the original language as much as possible.

In English it is possible to omit many connectors without changing the meaning. The Italian and French teams usually restore these connectors when the alternative wouldn’t sound as natural.

Maybe package installed with version of R newer than %s ?

Talvez o pacote tenha sido instalado com uma versão do R mais recente que %s ?

We also don’t translate anything that is a technical term from R like, for example, function names, objects and arguments (usually between quotes).

‘MARGIN’ does not match dim(X)

‘MARGIN’ não corresponde a dim(X)

In exceptional situations, a function can be used as a verb. Following the French and Italian teams, the only solution is to completely reconstruct the sentence.

cannot xtfrm data frames

impossível utilizar xtfrm em um data frame

Formatting

The use of spaces and paragraphs in Portuguese is standardised and well established. R texts, however, have space and formatting limitations that are not always obvious when translating.

Most R messages have some kind of reference to the code that generated them. This happens through format specifiers and we need to keep them in the same order as they appear in the reference text.

%s and %s must have the same length

%s e %s devem ter o mesmo comprimento

If it’s not possible to keep the same order, you need to specify the index of the desired substitution with %n$<fmt> (e.g. %1$s, %2$s, and so on).

Messages can also have special characters such as single quotes ('), double quotes ("), tabs (\t) and new lines (\n), as well as extra spaces in strange places. To maintain a standard, we don’t change this type of formatting even if its use is not strictly correct.

Conflicts attaching package %s:
%s

Conflitos ao anexar pacote %s:
%s

Gender

Unlike Portuguese, English does not specify grammatical gender. We will try to follow the Manual for Non Sexist Use of Language (in Portuguese) in translations as much as we can, but unfortunately that is not always possible.

Grammatical gender of arguments, acronyms and other nouns can usually be inferred by context. In the example below, we translate “DLL” as “a biblioteca de vínculo dinâmico” (dynamic-link library).

DLL %s was not loaded

DLL %s não foi carregada

In the following example, although “scale” is a feminine noun in Portuguese, the masculine is used because it is replacing “argument”, “o argumento”, which is a masculine noun.

‘scale’ should be numeric or NULL

‘scale’ deve ser numérico ou NULL

In certain situations, we can simply ignore genders. In the following expression, we could translate “author” to “autor(a)”, but there are alternatives that allow us to completely omit it.

Authors@R field gives no person with name and author role

Campo Authors@R não fornece nenhuma pessoa com nome e papel ‘author’

In rare cases, the messeges references who doing the programming. In these cases, the best we can do without jeopardising comprehension or overly increasing the length of the sentence is to use “o(a)”.

Not enough arguments passed to user macro ‘%s’

Não foram passados argumentos suficientes para a macro ‘%s’ do(a) usuário(a)

It’s important to note that this strategy is not adopted by the French and Italian teams, who prefer to simply use the masculine term “usuário”. Unless there is some guideline discouraging resources such as “o(a)”, we believe that our standard is preferable.

Resources

This is a living document that lists some common problems that come up when translating R to Brazilian Portuguese. Every suggestion here is open to debate and, if you disagree about something, simply create a new topic in the discussions tab.

Glossary

Here we have put together some terms that appear repeatedly in R messages and which can be difficult to translate. If you have problems with a word that is not in the table below, look up the translation on Linguee or Wikipedia and let us know so we can include it in this section.

We have tried to use the most common versions of each term, but it’s not always possible to keep a precise account. For example, if you are searching for “caching”, the corresponding entry is “cache”. The same word can also have several functions, such as “replacement”, which simultaneously means “substituto” and “substituição”.

Finally, we have chosen to keep some of the terms in English, as their translations are not widely used, but this perception is purely subjective; the words marked with an asterisk * are those that we ourselves are questioning.

Inglês Português
abort interromper
alias alias*
allocate alocar
argument argumento
array array
assign atribuir
attach anexar
attribute atributo
backslash barra invertida
bind associar / vincular
bitmap bitmap
boxplot boxplot
break limite de categoria (para histogramas)
browser navegador
build compilar
bytecode bytecode
cache cachear
call chamar
callback callback
character string string de caracteres*
check verificar
chunk bloco (de código)*
closure closure
codoc codoc (da função do R)
coerce fazer coerção
colortype colortype
console console
data frame data frame
database base de dados
dataset conjunto de dados
debug depurar*
defunct extinto
deparse deparse
deprecated obsoleto
detach detach*
device dispositivo
dispatch despachar
documentation object objeto de documentação*
download baixar
driver driver
drop descartar
encoding codificação
entry registro / campo
environment ambiente
evaluate avaliar (por exemplo, eval())*
factor fator
fifo fifo (de first in, first out)
file pointer ponteiro de arquivo*
file stream stream de arquivo
filename nome do arquivo
fit ajustar
flag flag
flush esvaziar
frame quadro (para stack) / escopo (para call)
handle gerenciar
hard-coded hard-coded*
history histórico
implement implementar
incoming checks verificações de recebimento*
index índice
invalid inválido
IO IO
label rótulo
lag defasagem
layout layout*
lazy loading lazy loading*
lazydata lazydata
leading minor submatriz*
length comprimento
library biblioteca
link link
locale locale
locator localizador
locking travamento*
logical lógico (ao invés de booleano)
macro macro
magic number número mágico
match corresponder
metafile metafile
mirror espelho (por exemplo, do CRAN)
mismatch incompatível
missing ausente
modulus módulo
multibyte multibyte
namespace namespace*
non-interactively de forma não interativa
non-numeric type tipo não numérico
numeric-alike numérico ou similar*
offending problemático
offset deslocar / compensar (depende do contexto)
opcode opcode
outlier outlier*
overflow overflow
override sobrescrever
package pacote
pager visualizador*
pair list lista pareada
parse analisar*
path caminho
pipe pipe
pixmap pixmap
platform plataforma
polyline polyline
port porta (por exemplo, 8080)
portable portável
profiling análise de desempenho
profile perfil (substantivo), perfilar (verbo)
promise promessa
prompt prompt
proxy proxy
push back voltar atrás
quote symbol símbolo de citação
range intervalo / limite (depende do contexto)
raw raw (para o tipo de dado)
redraw redesenhar
regular expression expressão regular
replace substituir
report reportar
repository repositório
require requerer*
return retornar
RNG RNG
role papel*
routine rotina
run executar
seal selar
search path caminho de busca
seed semente
seek buscar
sink sink
slash barra
slot slot (termo do R)*
snapshot snapshot
socket soquete
source carregar
splice juntar
stack stack*
standardizable padronizável
startup inicialização
strict rigoroso(a)
subscript índice*
subset dividir em subconjuntos
tag etiqueta
tag tag*
tangling tangling*
tarball tarball
template modelo*
thread thread*
timeout limite de tempo
timer cronômetro
timezone fuso horário
top level nível superior
traceback traceback
truncate truncar
unary operator operador unário
unbind desvincular
underflow underflow
unlisted não listado
viewport viewport
vignette vignette
warning alerta
workspace ambiente de trabalho
wrapup finalização*