summaryrefslogtreecommitdiff
path: root/locale/pt-br
diff options
context:
space:
mode:
author最萌小汐 <sumneko@hotmail.com>2021-11-03 10:16:50 +0800
committerGitHub <noreply@github.com>2021-11-03 10:16:50 +0800
commit072c15b5912400aefcde93bad57fa88d1859e35c (patch)
treef5eca39acf034ffb81071bf8ed9de5b29e859686 /locale/pt-br
parentfbb038b568fffe8ddbf6946cd0f7d49a624b496a (diff)
parent463d0d5a86bb46482f903aa987cc7c291940eb43 (diff)
downloadlua-language-server-072c15b5912400aefcde93bad57fa88d1859e35c.zip
Merge pull request #745 from jefersonf/pt-br-locale-support
Adds support to Brazilian portuguese language
Diffstat (limited to 'locale/pt-br')
-rw-r--r--locale/pt-br/meta.lua429
-rw-r--r--locale/pt-br/script.lua270
2 files changed, 699 insertions, 0 deletions
diff --git a/locale/pt-br/meta.lua b/locale/pt-br/meta.lua
new file mode 100644
index 00000000..6e23cff8
--- /dev/null
+++ b/locale/pt-br/meta.lua
@@ -0,0 +1,429 @@
+-- basic
+arg = 'Argumentos de inicialização para a versão standalone da linguagem Lua.'
+assert = 'Emite um erro se o valor de seu argumento v for falso (i.e., `nil` ou `false`); caso contrário, devolve todos os seus argumentos. Em caso de erro, `message` é o objeto de erro que, quando ausente, por padrão é `"assertion failed!"`'
+cgopt.collect = 'Realiza um ciclo completo de coleta de lixo (i.e., garbage-collection cycle).'
+cgopt.stop = 'Interrompe a execução automática.'
+cgopt.restart = 'Reinicia a execução automática.'
+cgopt.count = 'Retorna, em Kbytes, a quantidade total de memória utilizada pela linguagem Lua.'
+cgopt.step = 'Executa a coleta de lixo (i.e., garbage-collection) em uma única etapa. A quantidade de execuções por etapa é controlada via `arg`.'
+cgopt.setpause = 'Estabelece pausa. Defina via `arg` o intervalo de pausa do coletor de lixo (i.e., garbage-collection).'
+cgopt.setstepmul = 'Estabelece um multiplicador para etapa de coleta de lixo (i.e., garbage-collection). Defina via `arg` o valor multiplicador.'
+cgopt.incremental = 'Altera o modo do coletor para incremental.'
+cgopt.generational = 'Altera o modo do coletor para geracional.'
+cgopt.isrunning = 'Retorna um valor booleano indicando se o coletor de lixo (i.e., garbage-collection) está em execução.'
+collectgarbage = 'Esta função é uma interface genérica para o coletor de lixo (i.e., garbage-collection). Ela executa diferentes funções de acordo com seu primeiro argumento, `opt`.'
+dofile = 'Abre o arquivo fornecido por argumento e executa seu conteúdo como código Lua. Quando chamado sem argumentos, `dofile` executa o conteúdo da entrada padrão (`stdin`). Retorna todos os valores retornados pelo trecho de código contido no arquivo. Em caso de erros, o `dofile` propaga o erro para seu chamador. Ou seja, o `dofile` não funciona em modo protegido.'
+error = [[
+Termina a última chamada de função protegida e retorna `message` como objeto de `erro`.
+
+Normalmente, o 'erro' adiciona algumas informações sobre a localização do erro no início da mensagem, quando a mensagem for uma string.
+]]
+_G = 'Uma variável global (não uma função) que detém o ambiente global (ver §2.2). Lua em si não usa esta variável; mudar seu valor não afeta nenhum ambiente e vice-versa.'
+getfenv = 'Retorna o ambiente atual em uso pela função. O `f` pode ser uma função Lua ou um número que especifica a função naquele nível de pilha.'
+getmetatable = 'Se o objeto não tiver uma metatable, o retorno é `nil`. Mas caso a metatable do objeto tenha um campo `__metatable`, é retornado o valor associado. Caso contrário, retorna a metatable do objeto dado.'
+ipairs = [[
+Retorna três valores (uma função iteradora, a tabela `t`, e `0`) para que a seguinte construção
+```lua
+ for i,v in ipairs(t) do body end
+```
+possa iterar sobre os pares de valor-chave `(1,t[1]), (2,t[2]), ...`, até o primeiro índice ausente.
+]]
+loadmode.b = 'Somente blocos binários.'
+loadmode.t = 'Somente blocos de texto.'
+loadmode.bt = 'Tanto binário quanto texto.'
+load['<5.1'] = 'Carrega um bloco utilizando a função `func` para obter suas partes. Cada chamada para o `func` deve retornar uma string que é concatenada com os resultados anteriores.'
+load['>5.2'] = [[
+Carrega um bloco.
+
+Se o bloco (i.e., `chunk`) é uma string, o bloco é essa string. Se o bloco é uma função, a função "load" é chamada repetidamente para obter suas partes. Cada chamada para o bloco deve retornar uma string que é concatenada com os resultados anteriores. O fim do bloco é sinalizado com o retorno de uma string vazia ou `nil`.
+]]
+loadfile = 'Carrega um bloco de arquivo `filename` ou da entrada padrão, se nenhum nome de arquivo for dado.'
+loadstring = 'Carrega um bloco a partir de uma string dada.'
+module = 'Cria um módulo.'
+next = [[
+Permite que um programa percorra todos os campos de uma tabela. Seu primeiro argumento é uma tabela e seu segundo argumento é um índice nesta tabela. Uma chamada `next` retorna o próximo índice da tabela e seu valor associado. Quando chamado usando `nil` como segundo argumento, `next` retorna um índice inicial e seu valor associado. Quando chamado com o último índice, ou com `nil` em uma tabela vazia, o `next` retorna o `nil`. Se o segundo argumento estiver ausente, então é interpretado como `nil`. Portanto, pode-se utilizar o `next(t)` para verificar se uma tabela está vazia.
+
+A ordem na qual os índices são enumerados não é especificada, *mesmo para índices numéricos*. (Para percorrer uma tabela em ordem numérica, utilize um `for`).
+
+O comportamento do `next` é indefinido se, durante a iteração/travessia, você atribuir qualquer valor a um campo inexistente na tabela. Você pode, entretanto, modificar os campos existentes e pode, inclusive, os definir como nulos.
+]]
+pairs = [[
+Se `t` tem um "meta" método (i.e., metamethod) `__pairs`, a chamada é feita usando t como argumento e retorna os três primeiros resultados.
+
+Caso contrário, retorna três valores: a função $next, a tabela `t` e `nil`, para que a seguinte construção
+```lua
+ for k,v in pairs(t) do body end
+```
+possa iterar sobre todos os pares de valor-chave da tabela 't'.
+
+Veja a função $next para saber as ressalvas em modificar uma tabela durante sua iteração.
+]]
+pcall = [[
+Chama a função `f` com os argumentos dados em modo *protegido*. Isto significa que qualquer erro dentro de `f` não é propagado; em vez disso, o `pcall` captura o erro e retorna um código de status. Seu primeiro resultado é o código de status (booleano), que é verdadeiro se a chamada for bem sucedida sem erros. Neste caso, `pcall' também retorna todos os resultados da chamada, após este primeiro resultado. Em caso de qualquer erro, `pcall` retorna `false` mais o objeto de erro.
+]]
+print = [[
+Recebe qualquer número de argumentos e imprime seus valores na saída padrão `stdout`, convertendo cada argumento em uma string seguindo as mesmas regras do $tostring.
+A função `print` não é destinada à saída formatada, mas apenas como uma forma rápida de mostrar um valor, por exemplo, para debugging. Para controle completo sobre a saída, use $string.format e $io.write.
+]]
+rawequal = 'Verifica se v1 é igual a v2, sem invocar a metatable `__eq`.'
+rawget = 'Obtém o valor real de `table[index]`, sem invocar a metatable `__index`.'
+rawlen = 'Retorna o comprimento do objeto `v`, sem invocar a metatable `__len`.'
+rawset = [[
+Define o valor real de `table[index]` para `value`, sem utilizar o metavalue `__newindex`. `table` deve ser uma tabela, `index` qualquer valor diferente de `nil` e `NaN`, e `value` qualquer valor de tipos do Lua.
+Esta função retorna uma `table`.
+]]
+select = 'Se `index` é um número, retorna todos os argumentos após o número do argumento `index`; um número negativo de índices do final (`-1` é o último argumento). Caso contrário, `index` deve ser a string `"#"`, e `select` retorna o número total de argumentos extras dados.'
+setfenv = 'Define o ambiente a ser utilizado pela função em questão.'
+setmetatable = [[
+Define a metatable para a tabela dada. Se `metatabela` for `nil`, remove a metatable da tabela em questão. Se a metatable original tiver um campo `__metatable', um erro é lançado.
+
+Esta função retorna uma `table`.
+
+Para alterar a metatable de outros tipos do código Lua, você deve utilizar a biblioteca de debugging (§6.10).
+]]
+tonumber = [[
+Quando chamado sem a base, `tonumber` tenta converter seu argumento para um número. Se o argumento já for um número ou uma string numérica, então `tonumber` retorna este número; caso contrário, retorna `fail`.
+
+A conversão de strings pode resultar em números inteiros ou de ponto flutuante, de acordo com as convenções lexicais de Lua (ver §3.1). A string pode ter espaços antes e depois e um sinal.
+]]
+tostring = [[
+Recebe um valor de qualquer tipo e o converte em uma string em formato legível por humanos.
+
+Se a metatable de `v` tem um campo `__tostring', então `tostring' chama o valor correspondente usando `v` como argumento, e utiliza o resultado da chamada como seu resultado. Caso contrário, se a metatable de `v` tiver um campo `__name` com um valor do tipo string, `tostring` pode utilizar essa string em seu resultado final.
+
+Para controle completo de como os números são convertidos, utilize $string.format.
+]]
+type = [[
+Retorna o tipo de seu único argumento, codificado como uma string. Os resultados possíveis desta função são `"nil"` (uma string, não o valor `nil`), `"number"`, `"string"`, `"boolean"`, `"table"`, `"function"`, `"thread"`, e `"userdata"`.
+]]
+_VERSION = 'Uma variável global (não uma função) que contém uma string contendo a versão Lua em execução.'
+warn = 'Emite um aviso com uma mensagem composta pela concatenação de todos os seus argumentos (que devem ser strings).'
+xpcall['=5.1'] = 'Faz chamada a função `f` com os argumentos dados e em modo protegido, usando um manipulador de mensagens dado.'
+xpcall['>5.2'] = 'Faz chamada a função `f` com os argumentos dados e em modo protegido, usando um manipulador de mensagens dado.'
+unpack = [[
+Retorna os elementos da lista dada. Esta função é equivalente a
+```lua
+ return list[i], list[i+1], ···, list[j]
+```
+]]
+
+bit32 = ''
+bit32.arshift = [[
+Retorna o número `x` deslocado `disp` bits para a direita. Deslocamentos negativos movem os bits para a esquerda.
+
+Esta operação de deslocamento é chamada de deslocamento aritmético. Os bits vagos à esquerda são preenchidos com cópias do bit mais significativo de `x`; os bits vagos à direita são preenchidos com zeros.
+]]
+bit32.band = 'Retorna a operação bitwise *and* de seus operandos.'
+bit32.bnot = [[
+Retorna a negação da operação bitwise de `x`.
+
+```lua
+assert(bit32.bnot(x) == (-1 - x) % 2^32)
+```
+]]
+bit32.bor = 'Retorna a operação bitwise *or* de seus operandos.'
+bit32.btest = 'Retorna um valor booleano verdadeiro se a operação bitwise *and* de seus operandos for diferente de zero. Falso, caso contrário.'
+bit32.bxor = 'Retorna a operação bitwise *exclusive or* de seus operandos.'
+bit32.extract = 'Retorna o número formado pelos bits de `field` a `field + width - 1` de `n`, sem sinal.'
+bit32.replace = 'Retorna uma cópia de `n` com os bits de `field` a `field + width - 1` substituídos pelo valor `v` .'
+bit32.lrotate = 'Retorna o número `x` rotacionado `disp` bits para a esquerda. Rotações negativos movem os bits para a direita. '
+bit32.lshift = [[
+Retorna o número `x` deslocado `disp` bits para a esquerda. Deslocamentos negativos movem os bits para a direita. Em ambas as direções, os bits vazios/vagos são preenchidos com zeros.
+
+```lua
+assert(bit32.lshift(b, disp) == (b * 2^disp) % 2^32)
+```
+]]
+bit32.rrotate = 'Retorna o número `x` rotacionado `disp` bits para a direita. Deslocamentos negativos movem os bits para a esquerda.'
+bit32.rshift = [[
+Retorna o número `x` deslocado `disp` bits para a direita. Deslocamentos negativos movem os bits para a esquerda. Em ambas as direções, os bits vazios são preenchidos com zeros.
+
+```lua
+assert(bit32.rshift(b, disp) == math.floor(b % 2^32 / 2^disp))
+```
+]]
+
+coroutine = ''
+coroutine.create = 'Cria uma nova `coroutine`, a partir de uma função `f` e retorna esta coroutine como objeto do tipo `"thread"`.'
+coroutine.isyieldable = 'Retorna verdadeiro quando a `coroutine` em execução for finalizada.'
+coroutine.isyieldable['>5.4']= 'Retorna verdadeiro quando a `coroutine` `co` for finalizada. Por padrão `co` é uma coroutine em execução.'
+coroutine.close = 'Finaliza a coroutine `co` , encerrando todas as variáveis pendentes e colocando a coroutine em um estado morto.'
+coroutine.resume = 'Inicia ou continua a execução da coroutine `co`.'
+coroutine.running = 'Retorna a `coroutine` corrente e um booleana verdadeiro quando a coroutine corrente é a principal.'
+coroutine.status = 'Retorna o status da `coroutine `co`.'
+coroutine.wrap = 'Cria uma nova `coroutine`, a partir de uma função `f` e retorna uma função que retorna a coroutine cada vez que ele é chamado.'
+coroutine.yield = 'Suspende a execução da coroutine chamada.'
+costatus.running = 'Está em execução.'
+costatus.suspended = 'Está suspenso ou não foi iniciado.'
+costatus.normal = 'Está ativo, mas não está em execução.'
+costatus.dead = 'Terminou ou parou devido a erro'
+
+debug = ''
+debug.debug = 'Entra em modo interativo com o usuário, executando os comandos de entrada.'
+debug.getfenv = 'Retorna o ambiente do objeto `o` .'
+debug.gethook = 'Retorna as configurações do `hook` atual da `thread`.'
+debug.getinfo = 'Retorna uma tabela com informações sobre uma função.'
+debug.getlocal['<5.1'] = 'Retorna o nome e o valor da variável local com índice `local` da função de nível `level` da pilha.'
+debug.getlocal['>5.2'] = 'Retorna o nome e o valor da variável local com índice `local` da função de nível `f` da pilha.'
+debug.getmetatable = 'Retorna a `metatable` do valor dado.'
+debug.getregistry = 'Retorna a tabela de registro.'
+debug.getupvalue = 'Retorna o nome e o valor da variável antecedente com índice `up` da função.'
+debug.getuservalue['<5.3'] = 'Retorna o valor de Lua associado a `u` (i.e., user).'
+debug.getuservalue['>5.4'] = [[
+Retorna o `n`-ésimo valor de usuário associado
+aos dados do usuário `u` e um booleano,
+`false`, se nos dados do usuário não existir esse valor.
+]]
+debug.setcstacklimit = [[
+### **Deprecated in `Lua 5.4.2`**
+
+Estabelece um novo limite para a pilha C. Este limite controla quão profundamente as chamadas aninhadas podem ir em Lua, com a intenção de evitar um transbordamento da pilha.
+
+Em caso de sucesso, esta função retorna o antigo limite. Em caso de erro, ela retorna `false`.
+]]
+debug.setfenv = 'Define o ambiente do `object` dado para a `table` dada .'
+debug.sethook = 'Define a função dada como um `hook`.'
+debug.setlocal = 'Atribui o valor `value` à variável local com índice `local` da função de nível `level` da pilha.'
+debug.setmetatable = 'Define a `metatable` com o valor dado para tabela dada (que pode ser `nil`).'
+debug.setupvalue = 'Atribui `value` a variável antecedente com índice `up` da função.'
+debug.setuservalue['<5.3'] = 'Define o valor dado como o valor Lua associado ao `udata` (i.e., user data).'
+debug.setuservalue['>5.4'] = [[
+Define o valor dado como
+o `n`-ésimo valor de usuário associado ao `udata` (i.e., user data).
+O `udata` deve ser um dado de usuário completo.
+]]
+debug.traceback = 'Retorna uma string com um `traceback` de chamadas. A string de mensagen (opcional) é anexada no início do traceback.'
+debug.upvalueid = 'Retorna um identificador único (como um dado de usuário leve) para o valor antecedente de numero `n` da função dada.'
+debug.upvaluejoin = 'Faz o `n1`-ésimo valor da função `f1` (i.e., closure Lua) referir-se ao `n2`-ésimo valor da função `f2`.'
+infowhat.n = '`name` e `namewhat`'
+infowhat.S = '`source`, `short_src`, `linedefined`, `lastlinedefined` e `what`'
+infowhat.l = '`currentline`'
+infowhat.t = '`istailcall`'
+infowhat.u['<5.1'] = '`nups`'
+infowhat.u['>5.2'] = '`nups`, `nparams` e `isvararg`'
+infowhat.f = '`func`'
+infowhat.r = '`ftransfer` e `ntransfer`'
+infowhat.L = '`activelines`'
+hookmask.c = 'Faz chamada a um `hook` quando o Lua chama uma função.'
+hookmask.r = 'Faz chamada a um `hook` quando o retorno de uma função é executado.'
+hookmask.l = 'Faz chamada a um `hook` quando encontra nova linha de código.'
+
+file = ''
+file[':close'] = 'Fecha o arquivo `file`.'
+file[':flush'] = 'Salva qualquer dado de entrada no arquivo `file`.'
+file[':lines'] = [[
+------
+```lua
+for c in file:lines(...) do
+ body
+end
+```
+]]
+file[':read'] = 'Lê o arquivo de acordo com o formato fornecido e que especifica o que deve ser lido.'
+file[':seek'] = 'Define e obtém a posição do arquivo, medida a partir do início do arquivo.'
+file[':setvbuf'] = 'Define o modo de `buffer` para um arquivo de saída.'
+file[':write'] = 'Escreve o valor de cada um de seus argumentos no arquivo.'
+readmode.n = 'Lê um numeral e o devolve como número.'
+readmode.a = 'Lê o arquivo completo.'
+readmode.l = 'Lê a próxima linha pulando o final da linha.'
+readmode.L = 'Lê a próxima linha mantendo o final da linha.'
+seekwhence.set = 'O cursor base é o início do arquivo.'
+seekwhence.cur = 'O cursor base é a posição atual.'
+seekwhence['.end'] = 'O cursor base é o final do arquivo.'
+vbuf.no = 'A saída da operação aparece imediatamente.'
+vbuf.full = 'Realizado apenas quando o `buffer` está cheio.'
+vbuf.line = '`Buffered` até que uma nova linha seja encontrada.'
+
+io = ''
+io.stdin = 'Entrada padrão.'
+io.stdout = 'Saída padrão.'
+io.stderr = 'Erro padrão.'
+io.close = 'Fecha o arquivo dado ou o arquivo de saída padrão.'
+io.flush = 'Salva todos os dados gravados no arquivo de saída padrão.'
+io.input = 'Define o arquivo de entrada padrão.'
+io.lines = [[
+------
+```lua
+for c in io.lines(filename, ...) do
+ body
+end
+```
+]]
+io.open = 'Abre um arquivo no modo especificado pela *string* `mode`.'
+io.output = 'Define o arquivo de saída padrão.'
+io.popen = 'Inicia o programa dado em um processo separado.'
+io.read = 'Lê o arquivo de acordo com o formato fornecido e que especifica o que deve ser lido.'
+io.tmpfile = 'Em caso de sucesso, retorna um `handler` para um arquivo temporário.'
+io.type = 'Verifica se `obj` é um identificador de arquivo válido.'
+io.write = 'Escreve o valor de cada um dos seus argumentos para o arquivo de saída padrão.'
+openmode.r = 'Modo de leitura.'
+openmode.w = 'Modo de escrita.'
+openmode.a = 'Modo de anexação.'
+openmode['.r+'] = 'Modo de atualização, todos os dados anteriores são preservados.'
+openmode['.w+'] = 'Modo de atualização, todos os dados anteriores são apagados.'
+openmode['.a+'] = 'Modo de anexação e atualização, os dados anteriores são preservados, a escrita só é permitida no final do arquivo.'
+openmode.rb = 'Modo de leitura. (em modo binário)'
+openmode.wb = 'Modo de escrita. (em modo binário)'
+openmode.ab = 'Modo de anexação. (em modo binário)'
+openmode['.r+b'] = 'Modo de atualização, todos os dados anteriores são preservados. (em modo binário)'
+openmode['.w+b'] = 'Modo de atualização, todos os dados anteriores são apagados. (em modo binário)'
+openmode['.a+b'] = 'Modo de anexação e atualização, todos os dados anteriores são preservados, a escrita só é permitida no final do arquivo. (em modo binário)'
+popenmode.r = 'Leia dados deste programa pelo arquivo.'
+popenmode.w = 'Escreva dados neste programa pelo arquivo.'
+filetype.file = '`handler` para arquivo aberto.'
+filetype['.closed file'] = '`handler` para arquivo fechado.'
+filetype['.nil'] = 'Não é um `handler` de arquivo'
+
+math = ''
+math.abs = 'Retorna o valor absoluto de `x`.'
+math.acos = 'Retorna o arco cosseno de `x` (em radianos).'
+math.asin = 'Retorna o arco seno de `x` (em radianos).'
+math.atan['<5.2'] = 'Retorna o arco tangente de `x` (em radianos).'
+math.atan['>5.3'] = 'Retorna o arco tangente de `y/x` (em radianos).'
+math.atan2 = 'Retorna o arco tangente de `y/x` (em radianos).'
+math.ceil = 'Retorna o menor valor inteiro maior ou igual a `x`.'
+math.cos = 'Retorna o cosseno de `x` (requer valor em radianos).'
+math.cosh = 'Retorna o cosseno hiperbólico de `x` (requer valor em radianos).'
+math.deg = 'Converte o ângulo `x` de radianos para graus.'
+math.exp = 'Retorna o valor `e^x` (onde `e` é a base do logaritmo natural).'
+math.floor = 'Retorna o maior valor inteiro menor ou igual a `x`.'
+math.fmod = 'Retorna o resto da divisão de `x` por `y` que arredonda o quociente para zero.'
+math.frexp = 'Decompõe `x` em fatores e expoentes. Retorna `m` e `e` tal que `x = m * (2 ^ e)` é um inteiro e o valor absoluto de `m` está no intervalo [0,5, 1) (ou zero quando `x` é zero).'
+math.huge = 'Um valor maior que qualquer outro valor numérico.'
+math.ldexp = 'Retorna `m * (2 ^ e)`.'
+math.log['<5.1'] = 'Retorna o logaritmo natural de `x`.'
+math.log['>5.2'] = 'Retorna o logaritmo de `x` na base dada.'
+math.log10 = 'Retorna o logaritmo `x` na base 10.'
+math.max = 'Retorna o argumento com o valor máximo de acordo com o operador `<`.'
+math.maxinteger = 'Retorna o valor máximo para um inteiro.'
+math.min = 'Retorna o argumento com o valor mínimo de acordo com o operador `<`.'
+math.mininteger = 'Retorna o valor mínimo para um inteiro.'
+math.modf = 'Retorna a parte inteira e a parte fracionária de `x`.'
+math.pi = 'O valor de *π*.'
+math.pow = 'Retorna `x ^ y`.'
+math.rad = 'Converte o ângulo `x` de graus para radianos.'
+math.random = [[
+* `math.random()`: Retorna um valor real (i.e., ponto flutuante) no intervalo [0,1).
+* `math.random(n)`: Retorna um inteiro no intervalo [1, n].
+* `math.random(m, n)`: Retorna um inteiro no intervalo [m, n].
+]]
+math.randomseed['<5.3'] = 'Define `x` como valor semente (i.e., `seed`) para a função geradora de números pseudo-aleatória.'
+math.randomseed['>5.4'] = [[
+* `math.randomseed(x, y)`: Concatena `x` e `y` em um espaço de 128-bits que é usado como valor semente (`seed`) para reinicializar o gerador de números pseudo-aleatório.
+* `math.randomseed(x)`: Equivale a `math.randomseed(x, 0)` .
+* `math.randomseed()`: Gera um valor semente (i.e., `seed`) com fraca probabilidade de aleatoriedade.
+]]
+math.sin = 'Retorna o seno de `x` (requer valor em radianos).'
+math.sinh = 'Retorna o seno hiperbólico de `x` (requer valor em radianos).'
+math.sqrt = 'Retorna a raiz quadrada de `x`.'
+math.tan = 'Retorna a tangente de `x` (requer valor em radianos).'
+math.tanh = 'Retorna a tangente hiperbólica de `x` (requer valor em radianos).'
+math.tointeger = 'Se o valor `x` pode ser convertido para um inteiro, retorna esse inteiro.'
+math.type = 'Retorna `"integer"` se `x` é um inteiro, `"float"` se for um valor real (i.e., ponto flutuante), ou `nil` se `x` não é um número.'
+math.ult = 'Retorna `true` se e somente se `m` é menor `n` quando eles são comparados como inteiros sem sinal.'
+
+os = ''
+os.clock = 'Retorna uma aproximação do valor, em segundos, do tempo de CPU usado pelo programa.'
+os.date = 'Retorna uma string ou uma tabela contendo data e hora, formatada de acordo com a string `format` fornecida.'
+os.difftime = 'Retorna a diferença, em segundos, do tempo `t1` para o tempo` t2`.'
+os.execute = 'Passa `command` para ser executado por um `shell` do sistema operacional.'
+os.exit['<5.1'] = 'Chama a função `exit` do C para encerrar o programa.'
+os.exit['>5.2'] = 'Chama a função `exit` do ISO C para encerrar o programa.'
+os.getenv = 'Retorna o valor da variável de ambiente de processo `varname`.'
+os.remove = 'Remove o arquivo com o nome dado.'
+os.rename = 'Renomeia o arquivo ou diretório chamado `oldname` para `newname`.'
+os.setlocale = 'Define a localidade atual do programa.'
+os.time = 'Retorna a hora atual quando chamada sem argumentos, ou um valor representando a data e a hora local especificados pela tabela fornecida.'
+os.tmpname = 'Retorna uma string com um nome de arquivo que pode ser usado como arquivo temporário.'
+osdate.year = 'Quatro dígitos.'
+osdate.month = '1-12'
+osdate.day = '1-31'
+osdate.hour = '0-23'
+osdate.min = '0-59'
+osdate.sec = '0-61'
+osdate.wday = 'Dia da semana, 1–7, Domingo é 1'
+osdate.yday = 'Dia do ano, 1–366'
+osdate.isdst = 'Bandeira para indicar horário de verão (i.e., `Daylight Saving Time`), um valor booleano.'
+
+package = ''
+require['<5.3'] = 'Carrega o módulo fornecido e retorna qualquer valor retornado pelo módulo (`true` quando `nil`).'
+require['>5.4'] = 'Carrega o módulo fornecido e retorna qualquer valor retornado pelo pesquisador (`true` quando `nil`). Além desse valor, também retorna como segundo resultado um carregador de dados retornados pelo pesquisador, o que indica como `require` encontrou o módulo. (Por exemplo, se o módulo vier de um arquivo, este carregador de dados é o caminho do arquivo.)'
+package.config = 'string descrevendo configurações a serem utilizadas durante a compilação de pacotes.'
+package.cpath = 'O caminho usado pelo `require` para procurar pelo carregador C.'
+package.loaded = 'Uma tabela usada pelo `require` para controlar quais módulos já estão carregados.'
+package.loaders = 'Uma tabela usada pelo `require` para controlar como carregar módulos.'
+package.loadlib = 'Dinamicamente vincula o programa no `host` com a biblioteca C `libname`.'
+package.path = 'O caminho usado pelo `require` para procurar por um carregador Lua.'
+package.preload = 'Uma tabela para armazenar carregadores de módulos específicos.'
+package.searchers = 'Uma tabela usada pelo `require` para controlar como buscar módulos.'
+package.searchpath = 'Procura por `name` em `path`.'
+package.seeall = 'Define uma `metatable` `module` com o campo `__index` referenciando o ambiente global, para que este módulo herde valores do ambiente global. Para ser usado como uma opção a função `module`.'
+
+string = ''
+string.byte = 'Retorna os códigos numéricos internos dos caracteres `s[i], s[i+1], ..., s[j]`.'
+string.char = 'Retorna uma string com comprimento igual ao número de argumentos, no qual cada caractere possui o código numérico interno igual ao seu argumento correspondente.'
+string.dump = 'Retorna uma string contendo uma representação binária (i.e., *binary chunk*) da função dada.'
+string.find = 'Procura a primeira correspondencia de `pattern` (veja §6.4.1) na string.'
+string.format = 'Retorna uma versão formatada de seu número variável de argumentos após a descrição dada em seu primeiro argumento.'
+string.gmatch = [[
+Retorna um iterator que, a cada vez que é chamado, retorna as próximas capturas de `pattern` (veja §6.4.1) sobre a string *s*.
+
+Por exemplo, o loop a seguir irá iterar em todas as palavras da string *s*, imprimindo cada palavra por linha:
+```lua
+ s = "hello world from Lua"
+ for w in string.gmatch(s, "%a+") do
+ print(w)
+ end
+```
+]]
+string.gsub = 'Retorna uma cópia da *s* em que todas ou, caso fornecido, as primeiras `n` ocorrências de `pattern` (veja §6.4.1) que tiverem sido substituídas por uma string de substituição especificada por `repl`.'
+string.len = 'Retorna o comprimento da string.'
+string.lower = 'Retorna uma cópia desta string com todas as letras maiúsculas alteradas para minúsculas.'
+string.match = 'Procura a primeira ocorrência do `pattern` (veja §6.4.1) na string.'
+string.pack = 'Retorna uma string binária contendo os valores `V1`, `v2`, etc. empacotados (isto é, serializado de forma binário) de acordo com o formato da string `fmt` fornecida (veja §6.4.2).'
+string.packsize = 'Retorna o tamanho de uma string resultante de `string.pack` com o formato da string `fmt` fornecida (veja §6.4.2).'
+string.rep['>5.2'] = 'Retorna uma string que é a concatenação de `n` cópias da string `s` separadas pela string `sep`.'
+string.rep['<5.1'] = 'Retorna uma string que é a concatenação de `n` cópias da string `s`.'
+string.reverse = 'Retorna uma string que representa a string `s` invertida.'
+string.sub = 'Retorna a substring da string `s` que começa no índice `i` e continua até o índice `j`.'
+string.unpack = 'Retorna os valores empacotados na string de acordo com o formato da string `fmt` fornecida (veja §6.4.2).'
+string.upper = 'Retorna uma cópia desta string com todas as letras minúsculas alteradas para maiúsculas.'
+
+table = ''
+table.concat = 'Dada uma lista onde todos os elementos são strings ou números, retorna a string `list[i]..sep..list[i+1] ··· sep..list[j]`.'
+table.insert = 'Insere o elemento `value` na posição `pos` de `list`.'
+table.maxn = 'Retorna o maior índice numérico positivo da tabela fornecida ou zero se a tabela não tiver índices numéricos positivos.'
+table.move = [[
+Move os elementos da tabela `a1` para tabela `a2`.
+```lua
+a2[t],··· = a1[f],···,a1[e]
+return a2
+```
+]]
+table.pack = 'Retorna uma nova tabela com todos os argumentos armazenados em chaves `1`, `2`, etc. e com um campo `"n"` com o número total de argumentos.'
+table.remove = 'Remove de `list` o elemento na posição `pos`, retornando o valor do elemento removido.'
+table.sort = 'Ordena os elementos de `list` em uma determinada ordem, *in-place*, de `list[1]` para `list[#list]`.'
+table.unpack = [[
+Retorna os elementos da lista fornecida. Esta função é equivalente a
+```lua
+ return list[i], list[i+1], ···, list[j]
+```
+Por padrão, `i` é `1` e `j` é `#list`.
+]]
+
+utf8 = ''
+utf8.char = 'Recebe zero ou mais inteiros, converte cada um à sua sequência de byte UTF-8 correspondente e retorna uma string com a concatenação de todas essas sequências.'
+utf8.charpattern = 'O padrão que corresponde exatamente uma sequência de byte UTF-8, supondo que seja uma sequência válida UTF-8.'
+utf8.codes = [[
+Retorna valores tal que a seguinte construção
+```lua
+for p, c in utf8.codes(s) do
+ body
+end
+```
+itere em todos os caracteres UTF-8 na string s, com p sendo a posição (em bytes) e c o *codepoint* de cada caractere. Ele gera um erro se encontrado qualquer sequência de byte inválida.
+]]
+utf8.codepoint = 'Retorna os *codepoints* (em inteiros) de todos os caracteres em `s` que iniciam entre as posições do byte `i` e `j` (ambos inclusos).'
+utf8.len = 'Retorna o número de caracteres UTF-8 na string `s` que começa entre as posições `i` e `j` (ambos inclusos).'
+utf8.offset = 'Returns the position (in bytes) where the encoding of the `n`-th character of `s` (counting from position `i`) starts.'
+utf8.offset = 'Retorna a posição (em bytes) onde a codificação do `n`-ésimo caractere de `s` inícia (contando a partir da posição `i`).'
diff --git a/locale/pt-br/script.lua b/locale/pt-br/script.lua
new file mode 100644
index 00000000..9bd7ca8a
--- /dev/null
+++ b/locale/pt-br/script.lua
@@ -0,0 +1,270 @@
+DIAG_LINE_ONLY_SPACE = 'Linha com espaços apenas.'
+DIAG_LINE_POST_SPACE = 'Linha com espaço extra ao final.'
+DIAG_UNUSED_LOCAL = 'Escopo não utilizado `{}`.'
+DIAG_UNDEF_GLOBAL = 'Escopo global indefinido `{}`.'
+DIAG_UNDEF_FIELD = 'Campo indefinido `{}`.'
+DIAG_UNDEF_ENV_CHILD = 'Variável indefinida `{}` (overloaded `_ENV` ).'
+DIAG_UNDEF_FENV_CHILD = 'Variável indefinida `{}` (módulo interno).'
+DIAG_GLOBAL_IN_NIL_ENV = 'Valor global inválido (`_ENV` é `nil`).'
+DIAG_GLOBAL_IN_NIL_FENV = 'Valor global inválido (Ambiente do módulo é `nil`).'
+DIAG_UNUSED_LABEL = 'Identificador não utilizado `{}`.'
+DIAG_UNUSED_FUNCTION = 'Funções não utilizadas.'
+DIAG_UNUSED_VARARG = 'vararg não utilizado.'
+DIAG_REDEFINED_LOCAL = 'Valor local redefinido `{}`.'
+DIAG_DUPLICATE_INDEX = 'Índice duplicado `{}`.'
+DIAG_DUPLICATE_METHOD = 'Método duplicado `{}`.'
+DIAG_PREVIOUS_CALL = 'Será interpretado como `{}{}`. Pode ser necessário adicionar uma `,`.'
+DIAG_PREFIELD_CALL = 'Será interpretado como `{}{}`. Pode ser necessário adicionar uma `,` ou `;`.'
+DIAG_OVER_MAX_ARGS = 'A função aceita apenas os parâmetros {:d}, mas você passou {:d}.'
+DIAG_OVER_MAX_ARGS = 'Recebe apenas {} variáveis, mas você definiu {}.'
+DIAG_AMBIGUITY_1 = 'Calcule primeiro `{}`. Você pode precisar adicionar colchetes.'
+DIAG_LOWERCASE_GLOBAL = 'Variável global com inicial minúscula, você esqueceu o `local` ou digitou errado?'
+DIAG_EMPTY_BLOCK = 'Bloco vazio.'
+DIAG_DIAGNOSTICS = 'Diagnósticos Lua.'
+DIAG_SYNTAX_CHECK = 'Verificação de sintaxe Lua.'
+DIAG_NEED_VERSION = 'Suportado em {}, atual é {}.'
+DIAG_DEFINED_VERSION = 'Definido em {}, a corrente é {}.'
+DIAG_DEFINED_CUSTOM = 'Definido em {}.'
+DIAG_DUPLICATE_CLASS = 'Classe duplicada `{}`.'
+DIAG_UNDEFINED_CLASS = 'Classe indefinida `{}`.'
+DIAG_CYCLIC_EXTENDS = 'Herança cíclica.'
+DIAG_INEXISTENT_PARAM = 'Parâmetro inexistente.'
+DIAG_DUPLICATE_PARAM = 'Parâmetro duplicado.'
+DIAG_NEED_CLASS = 'Classe precisa ser definida primeiro.'
+DIAG_DUPLICATE_SET_FIELD= 'Campo duplicado `{}`.'
+DIAG_SET_CONST = 'Atribuição à variável constante.'
+DIAG_SET_FOR_STATE = 'Atribuição à variável to tipo for-state.'
+DIAG_CODE_AFTER_BREAK = 'Não é possível executar o código depois `break`.'
+DIAG_UNBALANCED_ASSIGNMENTS = 'O valor é atribuído como `nil` porque o número de valores não é suficiente. Em Lua, `x, y = 1` é equivalente a `x, y = 1, nil` .'
+DIAG_REQUIRE_LIKE = 'Você pode tratar `{}` como `require` por configuração.'
+DIAG_COSE_NON_OBJECT = 'Não é possível fechar um valor desse tipo. (A menos que se defina o meta método `__close`)'
+DIAG_COUNT_DOWN_LOOP = 'Você quer dizer `{}` ?'
+DIAG_IMPLICIT_ANY = 'Não pode inferir tipo.'
+DIAG_DEPRECATED = 'Descontinuada.'
+DIAG_DIFFERENT_REQUIRES = 'O mesmo arquivo é necessário com nomes diferentes.'
+DIAG_REDUNDANT_RETURN = 'Retorno redundante.'
+
+DIAG_CIRCLE_DOC_CLASS = 'Classes com herança cíclica.'
+DIAG_DOC_FIELD_NO_CLASS = 'O campo deve ser definido após a classe.'
+DIAG_DUPLICATE_DOC_CLASS = 'Classe definida duplicada `{}`.'
+DIAG_DUPLICATE_DOC_FIELD = 'Campos definidos duplicados `{}`.'
+DIAG_DUPLICATE_DOC_PARAM = 'Parâmetros duplicados `{}`.'
+DIAG_UNDEFINED_DOC_CLASS = 'Classe indefinida `{}`.'
+DIAG_UNDEFINED_DOC_NAME = 'Tipo ou alias indefinido `{}`.'
+DIAG_UNDEFINED_DOC_PARAM = 'Parâmetro indefinido `{}`.'
+DIAG_UNKNOWN_DIAG_CODE = 'Código de diagnóstico desconhecido `{}`.'
+
+MWS_NOT_SUPPORT = '{} não é suportado múltiplos espaços de trabalho por enquanto, posso precisar reiniciar para estabelecer um novo espaço de trabalho ...'
+MWS_RESTART = 'Reiniciar'
+MWS_NOT_COMPLETE = 'O espaço de trabalho ainda não está completo. Você pode tentar novamente mais tarde ...'
+MWS_COMPLETE = 'O espaço de trabalho está completo agora. Você pode tentar novamente ...'
+MWS_MAX_PRELOAD = 'Arquivos pré-carregados atingiram o limite máximo ({}), você precisa abrir manualmente os arquivos que precisam ser carregados.'
+MWS_UCONFIG_FAILED = 'Armazenamento da configuração do usuário falhou.'
+MWS_UCONFIG_UPDATED = 'Configuração do usuário atualizada.'
+MWS_WCONFIG_UPDATED = 'Configuração do espaço de trabalho atualizado.'
+
+WORKSPACE_SKIP_LARGE_FILE = 'Arquivo muito grande: {} ignorada. O limite de tamanho atualmente definido é: {} KB, e o tamanho do arquivo é: {} KB.'
+WORKSPACE_LOADING = 'Carregando espaço de trabalho.'
+WORKSPACE_DIAGNOSTIC = 'Diagnóstico de espaço de trabalho.'
+WORKSPACE_SKIP_HUGE_FILE = 'Por motivos de desempenho, a análise deste arquivo foi interrompida: {}'
+
+PARSER_CRASH = 'Parser quebrou! Últimas palavras: {}'
+PARSER_UNKNOWN = 'Erro de sintaxe desconhecido ...'
+PARSER_MISS_NAME = '<name> esperado.'
+PARSER_UNKNOWN_SYMBOL = 'Símbolo inesperado `{symbol}`.'
+PARSER_MISS_SYMBOL = 'Símbolo não encontrado `{symbol}`.'
+PARSER_MISS_ESC_X = 'Deve ser 2 dígitos hexadecimais.'
+PARSER_UTF8_SMALL = 'Pelo menos 1 dígito hexadecimal.'
+PARSER_UTF8_MAX = 'Deve estar entre {min} e {max}.'
+PARSER_ERR_ESC = 'Sequência de saída inválida.'
+PARSER_MUST_X16 = 'Deve ser dígitos hexadecimais.'
+PARSER_MISS_EXPONENT = 'Dígitos perdidos para o expoente.'
+PARSER_MISS_EXP = '<exp> esperada.'
+PARSER_MISS_FIELD = '<field> esperado.'
+PARSER_MISS_METHOD = '<method> esperado.'
+PARSER_ARGS_AFTER_DOTS = '`...` deve ser o último argumento.'
+PARSER_KEYWORD = '<keyword> não pode ser usado como nome.'
+PARSER_EXP_IN_ACTION = 'Inesperada <exp>.'
+PARSER_BREAK_OUTSIDE = '<break> não está dentro de um loop.'
+PARSER_MALFORMED_NUMBER = 'Número malformado.'
+PARSER_ACTION_AFTER_RETURN = '<eof> esperado após `return`.'
+PARSER_ACTION_AFTER_BREAK = '<eof> esperado após `break`.'
+PARSER_NO_VISIBLE_LABEL = 'Nenhum identificador visível `{label}` .'
+PARSER_REDEFINE_LABEL = 'Identificador `{label}` já foi definido.'
+PARSER_UNSUPPORT_SYMBOL = '{version} não suporta esta gramática.'
+PARSER_UNEXPECT_DOTS = 'Não pode usar `...` fora de uma função vararg.'
+PARSER_UNEXPECT_SYMBOL = 'Símbolo inesperado `{symbol}` .'
+PARSER_UNKNOWN_TAG = 'Atributo desconhecido.'
+PARSER_MULTI_TAG = 'Não suporta múltiplos atributos.'
+PARSER_UNEXPECT_LFUNC_NAME = 'A função local só pode usar identificadores como nome.'
+PARSER_UNEXPECT_EFUNC_NAME = 'Função como expressão não pode ser nomeada.'
+PARSER_ERR_LCOMMENT_END = 'Anotações em múltiplas linhas devem ser fechadas por `{symbol}` .'
+PARSER_ERR_C_LONG_COMMENT = 'Lua deve usar `--[[ ]]` para anotações em múltiplas linhas.'
+PARSER_ERR_LSTRING_END = 'String longa deve ser fechada por `{symbol}` .'
+PARSER_ERR_ASSIGN_AS_EQ = 'Deveria usar `=` para atribuição.'
+PARSER_ERR_EQ_AS_ASSIGN = 'Deveria usar `==` para comparação de igualdade.'
+PARSER_ERR_UEQ = 'Deveria usar `~=` para comparação de desigualdade.'
+PARSER_ERR_THEN_AS_DO = 'Deveria usar `then` .'
+PARSER_ERR_DO_AS_THEN = 'Deveria usar `do` .'
+PARSER_MISS_END = 'Falta o `end` correspondente.'
+PARSER_ERR_COMMENT_PREFIX = 'Lua usa `--` para anotações/comentários.'
+PARSER_MISS_SEP_IN_TABLE = 'Falta o símbolo `,` ou `;` .'
+PARSER_SET_CONST = 'Atribuição à variável constante.'
+PARSER_UNICODE_NAME = 'Contém caracteres Unicode.'
+PARSER_ERR_NONSTANDARD_SYMBOL = 'Deveria usar `{symbol}`.'
+PARSER_MISS_SPACE_BETWEEN = 'Devem ser deixados espaços entre símbolos.'
+PARSER_INDEX_IN_FUNC_NAME = 'A forma `[name]` não pode ser usada em nome de uma função nomeada.'
+PARSER_UNKNOWN_ATTRIBUTE = 'Atributo local deve ser `const` ou `close`'
+
+PARSER_LUADOC_MISS_CLASS_NAME = 'Esperado <class name>.'
+PARSER_LUADOC_MISS_EXTENDS_SYMBOL = 'Esperado `:`.'
+PARSER_LUADOC_MISS_CLASS_EXTENDS_NAME = 'Esperado <class extends name>.'
+PARSER_LUADOC_MISS_SYMBOL = 'Esperado `{symbol}`.'
+PARSER_LUADOC_MISS_ARG_NAME = 'Esperado <arg name>.'
+PARSER_LUADOC_MISS_TYPE_NAME = 'Esperado <type name>.'
+PARSER_LUADOC_MISS_ALIAS_NAME = 'Esperado <alias name>.'
+PARSER_LUADOC_MISS_ALIAS_EXTENDS = 'Esperado <alias extends>.'
+PARSER_LUADOC_MISS_PARAM_NAME = 'Esperado <param name>.'
+PARSER_LUADOC_MISS_PARAM_EXTENDS = 'Esperado <param extends>.'
+PARSER_LUADOC_MISS_FIELD_NAME = 'Esperado <field name>.'
+PARSER_LUADOC_MISS_FIELD_EXTENDS = 'Esperado <field extends>.'
+PARSER_LUADOC_MISS_GENERIC_NAME = 'Esperado <generic name>.'
+PARSER_LUADOC_MISS_GENERIC_EXTENDS_NAME = 'Esperado <generic extends name>.'
+PARSER_LUADOC_MISS_VARARG_TYPE = 'Esperado <vararg type>.'
+PARSER_LUADOC_MISS_FUN_AFTER_OVERLOAD = 'Esperado `fun`.'
+PARSER_LUADOC_MISS_CATE_NAME = 'Esperado <doc name>.'
+PARSER_LUADOC_MISS_DIAG_MODE = 'Esperado <diagnostic mode>.'
+PARSER_LUADOC_ERROR_DIAG_MODE = '<diagnostic mode> incorreto.'
+
+SYMBOL_ANONYMOUS = '<Anonymous>'
+
+HOVER_VIEW_DOCUMENTS = 'Visualizar documentos'
+
+HOVER_DOCUMENT_LUA51 = 'http://www.lua.org/manual/5.1/manual.html#{}'
+HOVER_DOCUMENT_LUA52 = 'http://www.lua.org/manual/5.2/manual.html#{}'
+HOVER_DOCUMENT_LUA53 = 'http://www.lua.org/manual/5.3/manual.html#{}'
+HOVER_DOCUMENT_LUA54 = 'http://www.lua.org/manual/5.4/manual.html#{}'
+HOVER_DOCUMENT_LUAJIT = 'http://www.lua.org/manual/5.1/manual.html#{}'
+
+
+HOVER_NATIVE_DOCUMENT_LUA51 = 'command:extension.lua.doc?["en-us/51/manual.html/{}"]'
+HOVER_NATIVE_DOCUMENT_LUA52 = 'command:extension.lua.doc?["en-us/52/manual.html/{}"]'
+HOVER_NATIVE_DOCUMENT_LUA53 = 'command:extension.lua.doc?["en-us/53/manual.html/{}"]'
+HOVER_NATIVE_DOCUMENT_LUA54 = 'command:extension.lua.doc?["en-us/54/manual.html/{}"]'
+HOVER_NATIVE_DOCUMENT_LUAJIT = 'command:extension.lua.doc?["en-us/51/manual.html/{}"]'
+
+HOVER_MULTI_PROTOTYPE = '({} protótipos)'
+HOVER_STRING_BYTES = '{} bytes'
+HOVER_STRING_CHARACTERS = '{} bytes, {} caracteres'
+HOVER_MULTI_DEF_PROTO = '({} definições., {} protótipos)'
+HOVER_MULTI_PROTO_NOT_FUNC = '({} definição não funcional)'
+
+HOVER_USE_LUA_PATH = '(Caminho de busca: `{}`)'
+HOVER_EXTENDS = 'Expande para {}'
+HOVER_TABLE_TIME_UP = 'Inferência de tipo parcial foi desativada por motivos de desempenho.'
+HOVER_WS_LOADING = 'Carregando espaço de trabalho: {} / {}'
+
+ACTION_DISABLE_DIAG = 'Desativar diagnósticos no espaço de trabalho ({}).'
+ACTION_MARK_GLOBAL = 'Marque `{}` como definição global.'
+ACTION_REMOVE_SPACE = 'Limpe todos os espaços desnecessários.'
+ACTION_ADD_SEMICOLON = 'Adicione `;` .'
+ACTION_ADD_BRACKETS = 'Adicione colchetes.'
+ACTION_RUNTIME_VERSION = 'Altere a versão de tempo de execução para {}.'
+ACTION_OPEN_LIBRARY = 'Carregue variáveis globais de {}.'
+ACTION_ADD_DO_END = 'Adicione `do ... end`.'
+ACTION_FIX_LCOMMENT_END = 'Modifique para o símbolo de fechamento de anotação/comentário de múltiplas linhas correto.'
+ACTION_ADD_LCOMMENT_END = 'Feche as anotações/comentário de múltiplas linhas.'
+ACTION_FIX_C_LONG_COMMENT = 'Modifique para o formato de anotações/comentários em múltiplas linhas.'
+ACTION_FIX_LSTRING_END = 'Modifique para o símbolo de fechamento de string correta.'
+ACTION_ADD_LSTRING_END = 'Feche a string longa.'
+ACTION_FIX_ASSIGN_AS_EQ = 'Modifique para `=` .'
+ACTION_FIX_EQ_AS_ASSIGN = 'Modifique para `==` .'
+ACTION_FIX_UEQ = 'Modifique para `~=` .'
+ACTION_FIX_THEN_AS_DO = 'Modifique para `then` .'
+ACTION_FIX_DO_AS_THEN = 'Modifique para `do` .'
+ACTION_ADD_END = 'Adicione `end` (Adiciona marcação de fim com base na identação).'
+ACTION_FIX_COMMENT_PREFIX = 'Modifique para `--` .'
+ACTION_FIX_NONSTANDARD_SYMBOL = 'Modifique para `{symbol}` .'
+ACTION_RUNTIME_UNICODE_NAME = 'Permite caracteres Unicode.'
+ACTION_SWAP_PARAMS = 'Mude para o parâmetro {index} de `{node}`.'
+ACTION_FIX_INSERT_SPACE = 'Insira espaço.'
+ACTION_JSON_TO_LUA = 'Converte de JSON para Lua.'
+ACTION_DISABLE_DIAG_LINE= 'Desativa diagnósticos nesta linha ({}).'
+ACTION_DISABLE_DIAG_FILE= 'Desativa diagnósticos nesta linha ({}).'
+
+COMMAND_DISABLE_DIAG = 'Desativar diagnósticos.'
+COMMAND_MARK_GLOBAL = 'Marca como variável global.'
+COMMAND_REMOVE_SPACE = 'Limpa todos os espaços desnecessários.'
+COMMAND_ADD_BRACKETS = 'Adiciona colchetes.'
+COMMAND_RUNTIME_VERSION = 'Altera a versão de tempo de execução.'
+COMMAND_OPEN_LIBRARY = 'Carrega variáveis globais de bibliotecas de terceiros.'
+COMMAND_UNICODE_NAME = 'Permite caracteres Unicode.'
+COMMAND_JSON_TO_LUA = 'Converte de JSON para Lua.'
+COMMAND_JSON_TO_LUA_FAILED = 'Converção de JSON para Lua falhou: {}.'
+
+COMPLETION_IMPORT_FROM = 'Importa de {}.'
+COMPLETION_DISABLE_AUTO_REQUIRE = 'Desativa auto require.'
+COMPLETION_ASK_AUTO_REQUIRE = 'Adicione o código na parte superior do arquivo como auto require?'
+
+DEBUG_MEMORY_LEAK = "{} Sinto muito pelo sério vazamento de memória. O serviço de idioma será reiniciado em breve."
+DEBUG_RESTART_NOW = 'Reinicie agora'
+
+WINDOW_COMPILING = 'Compilando'
+WINDOW_DIAGNOSING = 'Realizando diagnóstico'
+WINDOW_INITIALIZING = 'Inicializando...'
+WINDOW_PROCESSING_HOVER = 'Processando hover...'
+WINDOW_PROCESSING_DEFINITION = 'Processando definições...'
+WINDOW_PROCESSING_REFERENCE = 'Processando referências...'
+WINDOW_PROCESSING_RENAME = 'Processando renomeações...'
+WINDOW_PROCESSING_COMPLETION = 'Processando finalizações...'
+WINDOW_PROCESSING_SIGNATURE = 'Processando ajuda de assinatura...'
+WINDOW_PROCESSING_SYMBOL = 'Processando símbolos do arquivo...'
+WINDOW_PROCESSING_WS_SYMBOL = 'Processando símbolos do espaço de trabalho...'
+WINDOW_PROCESSING_SEMANTIC_FULL = 'Processando tokens semânticas completos...'
+WINDOW_PROCESSING_SEMANTIC_RANGE = 'Processando tokens semânticas incrementais...'
+WINDOW_PROCESSING_TYPE_HINT = 'Processando dicas de lina...'
+WINDOW_INCREASE_UPPER_LIMIT = 'Aumente o limite superior'
+WINDOW_CLOSE = 'Fechar'
+WINDOW_SETTING_WS_DIAGNOSTIC = 'Você pode atrasar ou desativar os diagnósticos do espaço de trabalho nas configurações'
+WINDOW_DONT_SHOW_AGAIN = 'Não mostre novamente'
+WINDOW_DELAY_WS_DIAGNOSTIC = 'Diagnóstico de tempo ocioso (atraso de {} segundos)'
+WINDOW_DISABLE_DIAGNOSTIC = 'Desativa diagnósticos do espaço de trabalho'
+WINDOW_LUA_STATUS = [[
+Área de trabalho : {ws}
+Arquivos em cache: {ast}/{max}
+Uso de memória: {mem:.f}M
+]]
+WINDOW_APPLY_SETTING = 'Aplicar configuração'
+WINDOW_CHECK_SEMANTIC = 'Se você estiver usando o tema de cores do market, talvez seja necessário modificar `editor.semanticHighlighting.enabled` para `true` para fazer com tokens semânticas sejam habilitados.'
+WINDOW_TELEMETRY_HINT = 'Por favor, permita o envio de dados de uso e relatórios de erro anônimos para nos ajudar a melhorar ainda mais essa extensão. Leia nossa política de privacidade [aqui](https://github.com/sumneko/lua-language-server/wiki/Privacy-Policy) .'
+WINDOW_TELEMETRY_ENABLE = 'Permitir'
+WINDOW_TELEMETRY_DISABLE = 'Desabilitar'
+WINDOW_CLIENT_NOT_SUPPORT_CONFIG = 'Seu cliente não suporta configurações de modificação do lado do servidor, modifique manualmente as seguintes configurações:'
+WINDOW_LCONFIG_NOT_SUPPORT_CONFIG= 'A modificação automática de configurações locais não é suportada atualmente, modifique manualmente as seguintes configurações:'
+WINDOW_MANUAL_CONFIG_ADD = '`{key}`: adiciona o elemento `{value:q}` ;'
+WINDOW_MANUAL_CONFIG_SET = '`{key}`: defini como `{value:q}` ;'
+WINDOW_MANUAL_CONFIG_PROP = '`{key}`: define a propriedade `{prop}` para `{value:q}`;'
+WINDOW_APPLY_WHIT_SETTING = 'Aplicar e modificar configurações'
+WINDOW_APPLY_WHITOUT_SETTING = 'Aplicar mas não modificar configurações'
+WINDOW_ASK_APPLY_LIBRARY = 'Você precisa configurar seu ambiente de trabalho como `{}`?'
+
+CONFIG_LOAD_FAILED = 'Não é possível ler o arquivo de configurações: {}'
+CONFIG_LOAD_ERROR = 'Configurando o erro de carregamento do arquivo: {}'
+CONFIG_TYPE_ERROR = 'O arquivo de configuração deve estar no formato LUA ou JSON: {}'
+
+PLUGIN_RUNTIME_ERROR = [[
+Ocorreu um erro no plugin, envie o erro ao autor do plugin.
+Por favor, verifique os detalhes na saída ou log.
+Caminho do plugin: {}
+]]
+PLUGIN_TRUST_LOAD = [[
+As configurações atuais tentam carregar o plugin neste local: {}
+
+Note que plugins mal-intencionados podem prejudicar seu computador
+]]
+PLUGIN_TRUST_YES = [[
+Confie e carregue este plugin
+]]
+PLUGIN_TRUST_NO = [[
+Não carregue este plugin
+]]