summaryrefslogtreecommitdiff
path: root/README-pt_BR.md
blob: 01f273ee7497af1d23e9676cb4f6e80d6564fcf1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
Internacionalização Lib para Minetest
Por Diego Martínez (a.k.a. "Kaeza").
Lançado como WTFPL.

Este mod é uma tentativa de fornecer suporte de internacionalização para mods
(algo que Minetest atualmente carece).

Como posso usá-lo?
A fim de habilitá-lo para o seu mod, copie o seguinte trecho de código e cole no início de seu(s) arquivo(s) fonte:

	-- Padronizado para suportar cadeias (strings) locais se o mod intllib estiver instalado
	local S
	if minetest.get_modpath("intllib") then
		S = intllib.Getter()
	else
		-- Se você não usar inserções (@1, @2, etc) você pode usar este:
		S = function(s) return s end
		
		-- Se você usar inserções, mas não usar escapes de inserção (\=, \n, etc) isso vai funcionar:
		S = function(s,a,...)a={a,...}return s:gsub("@(%d+)",function(n)return a[tonumber(n)]end)end
		
		-- Use isso se você precisar de funcionalidade total:
		S = function(s,a,...)if a==nil then return s end a={a,...}return s:gsub("(@?)@(%(?)(%d+)(%)?)",function(e,o,n,c)if e==""then return a[tonumber(n)]..(o==""and c or"")else return"@"..o..n..c end end) end
	end
	
Você também vai precisar depender opcionalmente do mod intllib, adicionando "intllib?"
em uma linha vazia de seu depends.txt. Observe também que se intllib não estiver
instalado, a função S() é definido para retornar a string inalterada. Isto é feito
para que você não tenha que regar toneladas de 'if's (ou de estruturas semelhantes)
para verificar se a lib está realmente instalada.

Em seguida, para cada string "traduzível" em suas fontes, use a função S()
(definida no trecho anterior) para retornar uma string traduzida. Por exemplo:

	minetest.register_node("meu_mod:meu_node", {
		description = S("Meu Fabuloso Node"),
		<...>
	})
	
Em seguida, dentro do diretório do seu mod, crie um diretório chamado 'locale'
no qual você deve colocar os arquivos nomeados com duas letras ( de acordo
com a ISO para códigos de idiomas) para os idiomas que seu mod vai suportar.
Aqui vai um exemplo de arquivo para idioma espanhol ('es.txt'):

	# As linhas que começam com um sinal de libra '#' são comentários e
	# efetivamente ignorados pelo carregamento.
	# Note-se que comentários duram apenas até o fim da linha;
	# Não há nenhum suporte para comentários de várias linhas.
	Ola, Mundo! = Hola, Mundo!
	String com\npulo de linha = Cadena con\nsaltos de linea
	String com um sinal de \= igualdade = Cadena con un signo de \= igualdad

Como atualmente não existe nenhuma maneira portátil para detectar o idioma,
esta biblioteca tenta várias alternativas, e usa o primeiro encontrado:
  - Valor de 'language' definido em 'minetest.conf'
  - Variavel de ambiente 'LANG' (normalmente definida em Unix-like SO's).
  - Padrão "en".

Note que, em qualquer caso, apenas até os dois primeiros caracteres são usados
para cada idioma, por exemplo, as definições de "pt_BR.UTF-8", "pt_BR", e "pt"
são todos iguais.
Os usuários do Windows não têm a variavel de ambiente 'LANG' por padrão.
Para adicioná-lo, faça o seguinte:
  - Clique em Iniciar > Configurações > Painel de Controle.
  - Iniciar o aplicativo "System".
  - Clique na aba "Avançado".
  - Clique no botão "Variáveis ​​de Ambiente"
  - Clique em "Novo".
  - Tipo "LANG" (sem aspas) com o nome e o código de linguagem como valor.
  - Clique em OK até que todas as caixas de diálogo estão fechadas.
Como alternativa para todas as plataformas, se você não quiser modificar as
configurações do sistema, você pode adicionar a seguinte linha ao seu
arquivo 'minetest.conf':
	language = <código de idioma>

Note também que existem alguns problemas com o uso acentos gráficos e, em geral
caracteres não-latinos em strings. Até que uma correção seja encontrada,
por favor, limite-se a usar apenas caracteres da US-ASCII.


Obrigado por ler até este ponto.
Se você tiver quaisquer comentários/sugestões, por favor poste no tópico do fórum.

Haja textos traduzidos! :P
--
Tutorial criado por Kaeza
Traduzido para Português do Brasil por BrunoMine