2013 -- FYD file system content
[FYD.git] / src / i18n / CResourceBundle.java
blob8cd47b242252a3fe013217c2de11097f0d3723ca
1 package i18n;
3 import java.util.Locale;
4 import java.util.ResourceBundle;
6 import javax.swing.JOptionPane;
8 import exceptions.CLanguageException;
11 /**
12 * TODO
14 * @author dmilliner
15 * @version 0.1 du 02/11/12
17 public class CResourceBundle
19 private static final String I18N_RESOURCE_FILE = "i18n.fyd";
21 // Singleton.
22 private static CResourceBundle sInstance = null;
24 private static ResourceBundle sResourceBundle = null;
27 /**
28 * Constructeur sans argument.
30 * @author dmilliner
31 * @version 0.1 du 02/11/12
33 * @param pLanguage la langue à mettre en oeuvre.
35 private CResourceBundle(
36 String pLanguage) throws CLanguageException
38 if ( (pLanguage != null)
39 && (pLanguage.equals("") == false) )
41 Locale lLocale = new Locale(pLanguage);
44 sResourceBundle = ResourceBundle.getBundle(
45 I18N_RESOURCE_FILE + "_" + pLanguage,
46 lLocale);
47 JOptionPane.setDefaultLocale(lLocale);
49 else
51 throw new CLanguageException();
53 } // CResourceBundle
55 /**
56 * Méthode d'accès au singleton.
58 * @author dmilliner
59 * @version 0.1 du 02/11/12
61 * @param pLanguage la langue à mettre en oeuvre.
63 public static CResourceBundle getInstance(
64 String pLanguage)
66 if (sInstance == null)
68 try
70 sInstance = new CResourceBundle(pLanguage);
72 catch (CLanguageException lException)
74 lException.printStackTrace();
77 return sInstance;
78 } // getInstance
80 /**
81 * Méthode d'accès au singleton.
83 * @author dmilliner
84 * @version 0.1 du 02/11/12
86 public static CResourceBundle getInstance()
88 return sInstance;
89 } // getInstance
91 /**
92 * TODO
94 * @author dmilliner
95 * @version 0.1 du 02/11/12
97 * @param pKey clé de la chaîne de caractères à lire dans le fichier de
98 * ressources.
100 * @return TODO
102 public String getString(String pKey)
104 return sResourceBundle.getString(pKey);