5
SimpleNLS
Créez un fichier appelé simple_en_US.properties pour la version en anglais :
Title=English File=File Quit=Quit
Créez un fichier appelé simple_fr_FR.properties pour la version en français :
Title=Français File=Fichier Quit=Quitter
IMPORTANT : Enregistrez les fichiers en ISO-8859-1.
- import java.awt.event.*;
- import java.awt.*;
- import java.util.MissingResourceException;
- import java.util.ResourceBundle;
- public class SimpleNLS {
- private static final ResourceBundle STRINGS = ResourceBundle.getBundle("simple");
- public static String getString(String key) {
- try {
- return STRINGS.getString(key);
- }
- catch (MissingResourceException e) {
- return '!' + key + '!';
- }
- }
- public static void main(String[] args) {
- ApplicationWindow appwin = new ApplicationWindow(getString("Title"));
- appwin.setVisible(true);
- }
- static class ApplicationWindow extends Frame {
- ApplicationWindow(String name) {
- super(name);
- addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
- System.exit(0);
- }
- });
- Menu filemenu = new Menu(getString("File"), true);
- MenuItem quit = new MenuItem(getString("Quit"));
- quit.setShortcut(new MenuShortcut(quit.getLabel().charAt(0)));
- quit.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- System.exit(0);
- }
- });
- filemenu.add(quit);
- MenuBar menubar = new MenuBar();
- menubar.add(filemenu);
- setMenuBar(menubar);
- Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
- int width = screenSize.width/3;
- int height = screenSize.height/4;
- int x = (screenSize.width - width) / 2;
- int y = (screenSize.height - height) / 3;
- setBounds(width, height, x, y);
- setResizable(false);
- }
- }
- }
$ javac SimpleNLS.java
$ java SimpleNLS
Pour exécuter le programme dans une autre langue, changez les propriétés du système user.language
et user.country
à partir de la ligne de commande :
$ java -Duser.language=en -Duser.country=US SimpleNLS
Commentaires