Ir para conteúdo
  • 0

[Bukkit] Linguagem


sadUKZ

Pergunta

6 respostass a esta questão

Posts Recomendados

  • 0

Método mais eficiente e fácil que tem.

 

Crie seu arquivo de linguagem

Arquivo de linguagem:

pt_br.properties

SUA_MSG1: &cOla
SUA_MSG2: &aeaeaeae

Cria uma classe para a lang

Classe Lang:

package com.systemplugin.digitalz;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.Properties;

public enum Lang {

	SUA_MSG1,
	SUA_MSG2;
	
    @Override
    public String toString() {
        return LanguageHelper.getString(name());
    }

    public static class LanguageHelper {

        private static Properties p = new Properties();

        public LanguageHelper(File f) throws IOException {
            final Reader in = new InputStreamReader(new FileInputStream(f), "UTF-8");
            LanguageHelper.p.load(in);
        }

        protected LanguageHelper(String s) throws IOException {
            final Reader in = new InputStreamReader(new FileInputStream(new File(s)), "UTF-8");
            LanguageHelper.p.load(in);
        }

        private static String getString(String node) {
            String prop = LanguageHelper.p.getProperty(node);
            if (prop == null) prop = "Language property \"" + node + "\" not defined.";
            return prop;
        }
    }

}

Na sua classe principal em OnEnable():

        //Lang File
        String lang = Config.c.getString("Lang.language_file");  //Aqui vc pega a opcao da lang que esta na config 
        if (!new File(this.getDataFolder() + File.separator + "lang" + File.separator + lang + ".properties").exists()) {
            this.saveResource("lang" + File.separator + lang + ".properties", false);
        }

        try {
            new Lang.LanguageHelper(new File(this.getDataFolder(), "lang" + File.separator + lang + ".properties"));
        } catch (IOException e) {
            this.log.severe("Nao foi possivel encontrar o arquivo de linguagem: " + e.getMessage());
            this.log.severe("Desabilitando o plugin.");
            this.setEnabled(false);
            return;
        }

Para dar reload nas mensagens do arquivo.properties:

        String lang = Config.c.getString("Lang.language_file");
        try {
            new Lang.LanguageHelper(new File(this.getDataFolder(), "lang" + File.separator + lang + ".properties"));
        } catch (IOException e) {
            this.log.severe("Nao foi possivel recarregar o arquivo de linguagem: " + e.getMessage());
        }

Ai para mostrar a mensagem:

p.sendMessage(Lang.SUA_MSG1.toString());
Editado por DigitalZero
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem está navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...