Create one button, internationalizedly
/* * Copyright (c) Ian F. Darwin, http://www.darwinsys.com/, 1996-2002. * All rights reserved. Software written by Ian F. Darwin and others. * $Id: LICENSE,v 1.8 2004/02/09 03:33:38 ian Exp $ * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. * * Java, the Duke mascot, and all variants of Sun's Java "steaming coffee * cup" logo are trademarks of Sun Microsystems. Sun's, and James Gosling's, * pioneering role in inventing and promulgating (and standardizing) the Java * language and environment is gratefully acknowledged. * * The pioneering role of Dennis Ritchie and Bjarne Stroustrup, of AT&T, for * inventing predecessor languages C and C++ is also gratefully acknowledged. */ import java.util.MissingResourceException; import java.util.ResourceBundle; import javax.swing.JButton; import javax.swing.JFrame; /** * Create one button, internationalizedly. */ public class OneButton extends JFrame { public static void main(String[] args) { new OneButton().setVisible(true); } public OneButton() { ResourceBundle rb = ResourceBundle.getBundle("Widgets"); String label = null; try { label = rb.getString("exit.label"); } catch (MissingResourceException e) { label="Exit"; // fallback } this.add(new JButton(label)); } } //File:Widgets.properties /* # Default properties for MenuIntl program.title=Demonstrate I18N (MenuIntl) program.message=Welcome to an English-localized Java Program # # The File Menu # file.label=File Menu file.new.label=New File file.new.key=N file.open.label=Open... file.open.key=O file.save.label=Save file.save.key=S file.exit.label=Exit file.exit.key=Q # # The Edit Menu # edit.label=Edit edit.undo.label=Undo edit.undo.key=Z edit.cut.label=Cut edit.cut.key=X edit.copy.label=Copy edit.list.key=C edit.delete.label=Delete edit.paste.label=Paste edit.list.key=V # # The View List Menu # view.label=View view.tree.label=View file tree view.tree.key=T # Next line is commented out to test the fallback code #view.list.label=View list view.list.key=L view.longlist.label=View long-form list view.longlist.key=G # # The Help Menu # help.label=Help help.about.label=About # # These are for JOptionPaneDemo # getButton.label=Please display message goodbye.label=Exit # dialog1.title=Coded Message dialog1.text=This is your message: etaoin shrdlu # # These are for MessageFormatDemo # filedialogs.cantopen.string=could not be opened filedialogs.cantopen.format=At {0,time} on {0,date}, {1} {2}. */ //FileWidgets_es.properties /* # List de nombres para menus por MenuIntl, una demonstacion de las # facultades para internacionalizacion en la lengua Java. # Disculpenme de mis errores en deletrear su lenguaje, por favor :-) # program.title=Demostracion de I18N (MenuIntl) program.message=Bienvenidos a una programa localizada # # The File Menu # file.label=Menu de Filas file.new.label=Fila Nueva file.new.key=N file.open.label=Abrir... file.open.key=O file.save.label=Escribir file.save.key=S file.exit.label=Quitar file.exit.key=Q # # The View List Menu # view.label=Menu de vista view.tree.label=Mirar arbole de filas view.tree.key=A # Next line is commented out to test the fallback code #view.list.label=Mirar lista view.list.key=L view.longlist.label=Mirar lista larga view.longlist.key=G # # The Help Menu # help.label=Ayuda help.about.label=Sobre... # # These are for JOptionPaneDemo # getButton.label=Por favor, poner el Dialogo goodbye.label=Quitar # dialog1.title=Mensaje dialog1.text=Aqui tienes su mensaje: etaoin shrdlu # # # These are for MessageFormatDemo # filedialogs.cantopen.string=no se puede abrir la fila filedialogs.cantopen.format=A {0,time} sobre {0,date}, {2} {1}. */