⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 local.java

📁 Memoranda( 从前以jNotes2而闻名) 是一个日志管理和个人项目管理工具
💻 JAVA
字号:
package net.sf.memoranda.util;import java.text.DateFormat;import java.util.Calendar;import java.util.Date;import java.util.Hashtable;import java.util.Locale;import java.io.*;import net.sf.memoranda.date.CalendarDate;/** * Provides locale info * *//*$Id: Local.java,v 1.6 2004/10/11 08:48:21 alexeya Exp $*/public class Local {    static Locale currentLocale = Locale.getDefault();    static LoadableProperties messages = new LoadableProperties();    static boolean disabled = false;    static {    	if (!Configuration.get("DISABLE_L10N").equals("yes")) {	    	String fn = "messages_"	                    + currentLocale.getLanguage()	                    + ".properties";	        if (Configuration.get("LOCALES_DIR") != "") {	        	System.out.print("Look "+fn+" at: "+Configuration.get("LOCALES_DIR")+" ");	        	try {	        		messages.load(new FileInputStream(	        			Configuration.get("LOCALES_DIR")+File.separator+fn));	        		System.out.println(" - found");	        	}	        	catch (IOException ex) {	        		// Do nothing ...	        		System.out.println(" - not found");	        		ex.printStackTrace();	        	}	        }	        if (messages.size() == 0) {		        try {		            messages.load(		                Local.class.getResourceAsStream(		                    "localmessages/"+fn));            		        }		        catch (Exception e) {		            // Do nothing ...		        }	        }    	}    	else {    		currentLocale = new Locale("en", "US");    		/*DEBUG*/    		System.out.println("* DEBUG: Locales are disabled");    	}           	if (messages.size() == 0)     		messages = null;    		        /*** DEBUG PURPOSES ***/        System.out.println("Default locale: " + currentLocale.getDisplayName());        if (messages != null) {            System.out.println(                "Use local messages: messages_"                    + currentLocale.getLanguage()                    + ".properties");        }        else {            System.out.println(                "* DEBUG: Locales are disabled or not found: messages_"                    + currentLocale.getLanguage()                    + ".properties");        }                /**********************/    }    public static Hashtable getMessages() {        return messages;    }    public static Locale getCurrentLocale() {        return currentLocale;    }    static String monthnames[] =        {            "January",            "February",            "March",            "April",            "May",            "June",            "July",            "August",            "September",            "October",            "November",            "December" };    static String weekdaynames[] =        { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };    public static String getString(String key) {        if ((messages == null) || (disabled)) {            return key;        }        String msg = (String) messages.get(key.trim().toUpperCase());        if ((msg != null) && (msg.length() > 0)) {            return msg;        }        else {            return key;        }    }    public static String[] getMonthNames() {        String[] localmonthnames = new String[12];        for (int i = 0; i < 12; i++) {            localmonthnames[i] = getString(monthnames[i]);        }        return localmonthnames;    }    public static String[] getWeekdayNames() {        String[] localwdnames = new String[7];        String[] localnames = weekdaynames;        if (Configuration.get("FIRST_DAY_OF_WEEK").equals("mon"))            localnames =                new String[] {                    "Mon",                    "Tue",                    "Wed",                    "Thu",                    "Fri",                    "Sat",                    "Sun" };        for (int i = 0; i < 7; i++) {            localwdnames[i] = getString(localnames[i]);        }        return localwdnames;    }    public static String getMonthName(int m) {        return getString(monthnames[m]);    }    public static String getWeekdayName(int wd) {        return getString(weekdaynames[wd - 1]);    }    public static String getDateString(Date d, int f) {        DateFormat dateFormat = DateFormat.getDateInstance(f, currentLocale);        return dateFormat.format(d);    }    public static String getDateString(Calendar cal, int f) {        /*@todo: Get date string format from locale*/        /*String s =            getMonthName(cal.get(Calendar.MONTH))                + " "                + cal.get(Calendar.DAY_OF_MONTH)                + ", "                + cal.get(Calendar.YEAR)                + " ("                + getWeekdayName(cal.get(Calendar.DAY_OF_WEEK))                + ")";        return s;*/        return getDateString(cal.getTime(), f);    }    public static String getDateString(CalendarDate date, int f) {        return getDateString(date.getDate(), f);    }    public static String getDateString(int m, int d, int y, int f) {        Calendar cal = Calendar.getInstance();        cal.set(Calendar.MONTH, m);        cal.set(Calendar.DAY_OF_MONTH, d);        cal.set(Calendar.YEAR, y);        //String s = getMonthName(m) + " " + d + ", " + y + " (" + getWeekdayName(cal.get(Calendar.DAY_OF_WEEK)) + ")";        return getDateString(cal.getTime(), f);    }    public static String getTimeString(Date d) {        DateFormat dateFormat =            DateFormat.getTimeInstance(DateFormat.SHORT, currentLocale);        return dateFormat.format(d);    }    public static String getTimeString(Calendar cal) {        /*String h = String.valueOf(cal.get(Calendar.HOUR_OF_DAY));        if (h.length() < 2) {            h = "0" + h;        }        String m = String.valueOf(cal.get(Calendar.MINUTE));        if (m.length() < 2) {            m = "0" + m;        }        return h + ":" + m;*/        return getTimeString(cal.getTime());    }    public static String getTimeString(int hh, int mm) {        /*String h = String.valueOf(hh);        if (h.length() < 2) {            h = "0" + h;        }        String m = String.valueOf(mm);        if (m.length() < 2) {            m = "0" + m;        }        return h + ":" + m;*/        Calendar cal = Calendar.getInstance();        cal.set(Calendar.HOUR_OF_DAY, hh);        cal.set(Calendar.MINUTE, mm);        return getTimeString(cal.getTime());    }    public static int[] parseTimeString(String s) {        s = s.trim();        String h = "";        String m = "";        if (s.indexOf(":") > 0) {            h = s.substring(0, s.indexOf(":"));            m = s.substring(s.indexOf(":") + 1);        }        else if (s.indexOf(":") == 0) {            h = "0";            m = s;        }        else {            h = s;            m = "0";        }        int[] time = new int[2];        try {            time[0] = new Integer(h).intValue();            if ((time[0] < 0) || (time[0] > 23)) {                time[0] = 0;            }        }        catch (NumberFormatException nfe) {            return null;        }        try {            time[1] = new Integer(m).intValue();            if ((time[1] < 0) || (time[1] > 59)) {                time[1] = 0;            }        }        catch (NumberFormatException nfe) {            return null;        }        return time;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -