Como consultar e aplicar culturas
A cultura ativa na Unreal Engine (UE) pode se referir a uma destas três coisas:
-
A linguagem - A linguagem é usada para descobrir quais dados de localização devem ser usados.
-
A localidade - A localidade é usada para controlar a formatação de números/datas/horários etc. na biblioteca de internacionalização.
-
Uma cultura de grupo de ativos - Grupos de ativos permitem que você crie um grupo de classes de ativos que podem receber uma cultura diferente da linguagem do projeto principal.
É possível configurar tudo de uma vez alterando "Active Culture". No entanto, se o projeto pretender usar grupos de ativos, trate o idioma e o local (cujo jogo costuma ser definido para o mesmo valor) e os grupos de ativos como configurações separadas.
A UE simplifica essa separação e também fornece alguns utilitários que você pode usar em C++ e Blueprints para ajudar a gerenciar as configurações.
Como obter a cultura ativa
As informações de cultura ativa subjacentes são armazenadas no singleton "FInternationalization", mas o "UKismetInternationalizationLibrary" fornece um pequeno conjunto de funções de wrapper que permitem acessar as informações de forma consistente em C++ e Blueprints.
| Função | Descrição |
|---|---|
| GetCurrentLanguage | Obtenha a linguagem ativa como uma tag de linguagem IETF. |
| GetCurrentLocale | Obtenha a localidade ativa como uma tag de idioma da IETF. |
| GetCurrentAssetGroupCulture | Obtenha a cultura para um grupo de ativos nomeado como uma tag de linguagem IETF. |
Como configurar a cultura ativa
As informações de cultura ativa subjacentes são armazenadas no singleton "FInternationalization", mas o "UKismetInternationalizationLibrary" fornece um pequeno conjunto de funções de wrapper que permitem configurar os valores em C++ e Blueprints. Eles também fornecem uma maneira de manter as novas configurações no arquivo de configuração por usuário.
| Função | Descrição |
|---|---|
| SetCurrentCulture | Defina a cultura ativa (idioma, localidade e todos os grupos de ativos) de uma tag de idioma da IETF. |
| SetCurrentLanguage | Define o idioma ativo de uma tag de idioma da IETF. |
| SetCurrentLocale | Define a localidade ativa de uma tag de idioma da IETF. |
| SetCurrentLanguageAndLocale | Define o idioma e a localidade ativa de uma tag de idioma da IETF. |
| SetCurrentAssetGroupCulture | Defina a cultura para um grupo de ativos nomeado a partir de uma tag de linguagem IETF. |
| ClearCurrentAssetGroupCulture | Remove a cultura de um grupo de ativo nomeado (que voltará a usar o idioma ativo). |
A cultura também pode ser alterada em versões sem envio usando comandos do console da engine.
Exemplo:
culture=fr
language=fr
locale=fr
Como consultar as linguagens disponíveis
As informações de idiomas disponíveis subjacentes são armazenadas no singleton "FTextLocalizationManager", mas o "UKismetInternationalizationLibrary" fornece um pequeno conjunto de funções de wrapper que permitem acessar as informações de forma consistente em C++ e Blueprints.
| Função | Descrição |
|---|---|
| GetNativeCulture | Obtenha a cultura nativa de uma categoria de localização como uma tag de linguagem da IETF. |
| GetLocalizedCultures | Obtenha a lista de culturas com dados de localização disponíveis como tags de idioma IETF. |
| GetSuitableCulture | Obtenha a cultura mais adequada em uma lista de culturas disponíveis. |
| GetCultureDisplayName | Obtenha o nome de exibição de uma cultura pela tag de linguagem IETF. |
Como substituir a cultura padrão
A UE determina a cultura padrão consultando o idioma e a localidade ativos na camada da plataforma subjacente. Se o idioma da plataforma não for suportado, a UE recorrerá ao idioma nativo do seu destino de localização. Em um projeto enviado, esse comportamento provavelmente não será substituído. No entanto, durante o desenvolvimento, essas substituições podem ser úteis para testar outras linguagens.
As configurações padrão do projeto costumam ser definidas em "DefaultGame.ini". Este exemplo mostra como configurar a cultura para o francês.
Exemplo:
[Internacionalização]
culture=fr
Este exemplo mostra a configuração do idioma e da localidade para o francês e a configuração do grupo de ativos de áudio para o japonês.
Exemplo:
[Internacionalização]
language=fr
locale=fr
[Internationalization.AssetGroupCultures]
+Audio=ja
As configurações também podem ser sobrepostas usando sinalizadores de linha de comando.
Exemplo:
-culture=fr
-language=fr
-locale=fr
Pré-visualização da localização
A pré-visualização da localização fornece uma maneira de visualizar os dados de localização do projeto sem sair do editor e é configurada na configuração Preview Game Language. Para alterar essas configurações, siga estas etapas.
-
Na barra de menus do editor, clique em Edit > Editor Preferences.
-
Na caixa de diálogo Editor Preferences, em General, clique em Region and Language.
-
Clique no menu suspenso ao lado de Preview Game Language e selecione o idioma que você deseja visualizar.
A pré-visualização é ativada automaticamente quando Jogar no Editor (JNE) está em execução, além de ser passada para qualquer instância independente iniciada no editor. Essa pré-visualização também pode ser usada no UMG Editor para visualizar widgets em diferentes linguagens. Durante a execução de uma pré-visualização, todos os campos de texto editáveis são somente leitura para evitar a substituição acidental dos dados de origem da tradução.
As pré-visualizações JNE e UMG nem sempre são representações totalmente precisas de como o projeto ficará em tempo de execução, pois carregam apenas os dados de localização sem afetar as configurações de idioma ou localidade. Se quiser uma representação precisa, execute uma instância independente no editor (que é o mesmo que executar o editor com "-game").
Remapeamento de cultura
O remapeamento de cultura fornece uma maneira de mapear um código de cultura para outro e pode ser útil para lidar com variação regional que não pode ser resolvida por um código ou código de país. Os remapeamentos de cultura vão para o arquivo "DefaultGame.ini" e são um par de tags de linguagem IETF separadas por ponto e vírgula.
Exemplo:
[Internacionalização]
+CultureMappings="es-MX;es-419"
Restrições de cultura
As restrições de cultura permitem habilitar ou desabilitar determinadas culturas, o que pode ser feito de acordo com a configuração da versão. As restrições de cultura podem ser úteis se você quiser desabilitar linguagens necessárias para o teste, mas que não devem estar na versão de lançamento do projeto.
As restrições de cultura geralmente ficam dentro do arquivo "DefaultGame.ini" e são definidas com uma tag de linguagem IETF. Você pode incluir uma lista de configurações de compilação para aplicar a restrição (nenhuma configuração de compilação listada indica que as restrições se aplicam a todas as configurações de compilação).
Exemplo:
[Internacionalização]
;Habilitar apenas francês em todas as configurações de compilação
+EnabledCultures="fr"
[Internacionalização]
; Habilitar apenas francês nas configurações da versão de teste e envio
+EnabledCultures="fr;Test,Shipping"
[Internacionalização]
; Desabilitar o alemão na configuração de compilação de envio
+DisabledCultures="de;Shipping"