package sk.bielyvlk.vlkui; import java.lang.*; import java.io.*; public abstract class VlkLang implements SettingsAction { private String [][] localization; private int lang = 0; private static final int settingsVersion = 0; private Settings settings = new Settings( "vlklang.conf", this ); public VlkLang( String [][] localization ) { this.localization = localization; } public void select( int l ) { lang = l; } public int getLangsCount() { return localization[ 0 ].length; } public String getText( int i, int l ) { try { return localization[ i ][ l ]; } catch( ArrayIndexOutOfBoundsException e ) { try { return localization[ i ][ 0 ]; } catch( ArrayIndexOutOfBoundsException e2 ) { return "???"; } } } public String getText( int i ) { return getText( i, lang ); } public void exit() { settings.save(); } public void storeSettings( DataOutputStream dos ) { try { dos.writeInt( settingsVersion ); dos.writeInt( lang ); } catch( IOException e ) { } } public boolean readSettings( DataInputStream dis ) { try { if( dis.readInt() != settingsVersion ) return false; lang = dis.readInt(); return true; } catch( IOException e ) { return false; } } }