As mensagens padrão no Blockly (como o texto no menu de contexto) foram
traduzidas para vários idiomas diferentes. A localidade en
é carregada por padrão,
mas as outras localidades disponíveis também podem ser incluídas.
Como configurar a localidade com npm
Ao importar o Blockly com import * as Blockly from 'blockly';
, você recebe
os módulos padrão: núcleo Blockly, blocos integrados Blockly, o gerador
de JavaScript e os arquivos de idioma em inglês.
Para usar outras localidades, defina suas importações com mais cuidado:
Importar módulos padrão do Blockly
import * as Blockly from 'blockly/core';
import 'blockly/blocks';
import 'blockly/javascript'; // Or the generator of your choice
Importar idiomas do Blockly
Por exemplo, para importar o conjunto de mensagens em francês:
import * as Fr from 'blockly/msg/fr';
Para uma lista completa de localidades compatíveis do Blockly, consulte: https://github.com/google/blockly/tree/master/msg/js
Configurar localidade
Depois de importar o conjunto de mensagens desejado, defina a localidade no Blockly. No momento, essa função só está incluída na versão npm do Blockly.
Blockly.setLocale(Fr);
Ele precisa ser chamado antes que o espaço de trabalho seja carregado.
Como configurar a localidade sem npm
Inclua o script src adequado do diretório de mensagens do Blockly para que as traduções sejam incluídas automaticamente.
<script src="../../blockly_compressed.js"></script>
<script src="../../blocks_compressed.js"></script>
<script src="../../msg/js/ar.js"></script>
Traduções personalizadas
O Blockly inclui traduções para todas as strings padrão, mas se você tiver
blocos personalizados com texto, poderá incluir suas próprias traduções para essas
strings. Por exemplo, a estrutura de blockly/msg/es
é semelhante a esta:
Blockly.Msg["COLOUR_RGB_RED"] = "rojo";
Você pode adicionar outras mensagens personalizadas como novas propriedades no objeto Blockly.Msg
chamando setLocale
com um objeto com suas traduções personalizadas. É possível
prefixar as traduções com um prefixo personalizado para evitar
conflitos com traduções padrão que possam ser adicionadas no futuro.
// In custom_es.js
export const CustomEs = {
HELLO: "Hola",
}
// In your setup code
import * as Es from blockly/msg/Es;
import { CustomEs } from ../custom_es;
Blockly.setLocale(Es);
Blockly.setLocale(CustomEs);
O setLocale
coloca cada chave do objeto de entrada em Blockly.Msg
. Você pode chamá-lo
várias vezes com chaves diferentes, mas chamá-lo uma segunda vez com uma
chave duplicada substituirá a primeira.
Para fazer referência à string traduzida no seu bloco, use Blockly.Msg['HELLO']
,
que precisa conter a string da localidade configurada.
Temas relacionados
- Idiomas escritos da direita para a esquerda: veja a demonstração da RTL
- Localização de blocos