Internationalization Java

import javax.swing.JCheckBox;
public class Main {
  public static void main(String[] argv) {
    System.out.println((JCheckBox) MyResources.rb.getObject("aCheckbox"));
    MyResources.rb.getString("aButton");
    MyResources.rb.getObject("vButton");
  }
}
[MyResources.java (default resources)]
import java.text.DecimalFormat;
import java.util.ListResourceBundle;
import java.util.ResourceBundle;
import javax.swing.JButton;
import javax.swing.JCheckBox;
public class MyResources extends ListResourceBundle {
  public static ResourceBundle rb = ResourceBundle.getBundle("MyResources");
  public Object [][] getContents() {
    return contents;
  }
  static final Object[][] contents =  {
       { "aCheckbox", new JCheckBox("Yes") } ,
       { "aButton"  , "Today {0,date,long}"},
       { "vButton"  , new JButton("Validate number")},
  };
}
[MyResources_en.java (english language resources)]
import java.util.ListResourceBundle;
public class MyResources_en extends ListResourceBundle {
  public Object [][] getContents() {
    return contents;
  }
  static final Object[][] contents =  {
    { "aLabel"     , "a Label (en)" }
  };
}
[MyResources_fr.java (french language resources)]
import java.util.ListResourceBundle;
import javax.swing.JButton;
import javax.swing.JCheckBox;
public class MyResources_fr extends ListResourceBundle {
  public Object [][] getContents() {
    return contents;
  }
  static final Object[][] contents =  {
    { "aLabel"     , "une étiquette (fr)" } ,
    { "aCheckbox", new JCheckBox("Oui (fr)")} ,
    { "vButton" , new JButton("Validation du nombre")},
    { "numOK" , "Valide!"},
    { "numERR", "Invalide"}
  };
}
[MyResources_fr_CA.java (french language (for Canada) resources)]
import java.util.ListResourceBundle;
public class MyResources_fr_CA extends ListResourceBundle {
  public Object [][] getContents() {
    return contents;
  }
  static final Object[][] contents =  {
    { "aLabel"     , "une étiquette (fr CA)" } ,
  };
}