As mensagens padrão no Blockly (como o texto no menu de contexto) foram
traduzidas para vários idiomas. A localidade en
é carregada por padrão,
mas as outras localidades disponíveis também podem ser incluídas.
Como configurar a localidade com o npm
Ao importar o Blockly com import * as Blockly from 'blockly';
, você recebe
os módulos padrão: Blockly core, Blockly built-in blocos, o gerador de
JavaScript e os arquivos lang 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 conferir uma lista completa de localidades com suporte do Blockly, consulte: https://github.com/google/blockly/tree/master/msg/js
Configurar a localidade
Depois de importar o conjunto de mensagens desejado, defina a localidade no Blockly. No momento, essa função está incluída apenas 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 apropriado do diretório de msg do Blockly, e as traduções serão 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, é possível 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";
É possível adicionar outras mensagens personalizadas como novas propriedades no objeto Blockly.Msg
chamando setLocale
com um objeto com suas traduções personalizadas. Você
pode prefixar suas 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);
setLocale
coloca cada chave do objeto de entrada em Blockly.Msg
. É possível chamá-lo várias vezes com chaves distintas, mas chamar pela segunda vez com uma chave duplicada substitui a primeira.
Para fazer referência à string traduzida no bloco, use Blockly.Msg['HELLO']
,
que precisa conter a string da localidade configurada.
Temas relacionados
- Idiomas escritos da direita para a esquerda: consulte a demonstração da RTL
- Localização de blocos