Modules
Locale
Shared

Permite que servidores definam um idioma preferido e tente carregar arquivos de locale em quaisquer recursos que utilizem o módulo. Arquivos de locale devem usar o Código de Idioma ISO (opens in a new tab) e ser salvos como ./locales/langcode.json

Configuração

Para alterar o idioma preferido do inglês, adicione o convar ao seu server.cfg e troque en pelo código de idioma desejado.

setr ox:locale en

Crie um diretório locales e um arquivo para o seu idioma.

locales/en.json
{
  "grand_theft_auto": "grand theft auto",
  "male": "male",
  "female": "female",
  "suspect_sex": "suspect is %s"
}
locales/fr.json
{
  "grand_theft_auto": "vol de voiture",
  "male": "homme",
  "female": "femme",
  "suspect_sex": "le suspect est %s"
}
fxmanifest.lua
files {
  'locales/*.json'
}

Uso

Inicialize o módulo de locale no seu resource (uma vez).

lib.locale()

Formate suas strings com o novo global de locale. Argumentos adicionais podem ser enviados para formatar a saída do locale.

locale(str, ...)
  • str: string
  • vararg?: string ou number
Exemplo
-- Carrega o módulo de locale
lib.locale()
 
SetInterval(function()
  print(locale('grand_theft_auto'))
  print(locale('suspect_sex', locale('male')))
end, 5000)

Frases

Você pode criar uma string de locale que referencia outros locales para construir uma frase, em vez de chamar locale várias vezes.

{
  "hello": "hello %s",
  "my_name_is": "my name is %s",
  "hello_my_name_is": "${hello}! ${my_name_is}."
}
print(locale('hello_my_name_is', 'doka', 'linden'))

lib.getLocale

Obtém uma string de locale de outro resource e adiciona ao dicionário.

lib.getLocale(resource, key)
  • resource: string
  • key: string