You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.5 KiB

package ru.simsonic.rscPermissions.Engine;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.channels.Channels;
import java.nio.channels.FileChannel;
import ru.simsonic.rscPermissions.API.TranslationProvider;
import ru.simsonic.rscPermissions.BukkitPluginMain;
public enum Phrases
{
PLUGIN_ENABLED ("generic.enabled"),
PLUGIN_DISABLED ("generic.disabled"),
PLUGIN_METRICS ("generic.metrics"),
PLUGIN_RELOADED ("generic.reloaded"),
MYSQL_FETCHED ("mysql.fetched"),
;
private final String node;
private String phrase;
private Phrases(String node)
{
this.node = node;
}
@Override
public String toString()
{
return phrase;
}
public static void translate(TranslationProvider provider)
{
for(Phrases value : Phrases.values())
value.phrase = provider.getString(value.node);
}
public static void extractAll(File workingDir)
{
extract(workingDir, "english");
extract(workingDir, "russian");
}
public static void extract(File workingDir, String langName)
{
try
{
final File langFile = new File(workingDir, langName + ".yml");
if(!langFile.isFile())
{
final FileChannel fileChannel = new FileOutputStream(langFile).getChannel();
final InputStream langStream = BukkitPluginMain.class.getResourceAsStream("/languages/" + langName + ".yml");
fileChannel.transferFrom(Channels.newChannel(langStream), 0, Long.MAX_VALUE);
}
} catch(IOException ex) {
}
}
}