Obvio, no se usa mas poner los textos hace mil años =D, incluso, aunque la aplicacion este pensada para un solo idioma.
Por ? y facil, correcciones ortograficas, estandarizacion de palabras (no queda bien que un boton diga guardar, otro diga save, y otro aplicar )
Solucion magica gracias a java y wicket
archivos.properties
Simple, es un archivo de texto (o varios ) que tienen clave-valor para los textos (o configuraciones)
ahora donde y como ponemos estos archivos ?
wicket busca primero en un archivo.properties con el mismo nombre que la pagina
por ej: home.html y home.java , va a buscar el home.properties, si no lo encuentra, va a buscar el de la clase super de este (WebPage.properties ) si no puede, su padre y asi hasta
llegar al object.java
si no encuentra la clave hasta ahi, busca por los componentes (por ejemplo panelMenu.properties , panelFooter.properties, etc ) o por la aplicacion.
Con esto, podemos tener uno con el nombre de la aplicacion, y sobreescribir si queremos algo particular, en uno
entonces
Application.properties
home.properties
como se usa ?
en vez de poner el texto en el html
si lo queremos en un componente html por ejemplo un input
y si quicieramos poner mas de una propiedad
como darle varios idiomas
se pone un archivo por cada idioma
(idioma por defecto)
application.properties
(ingles)
application.properties
(españo)
application.properties
(español argentina)
application.properties
codigos en http://msdn.microsoft.com/en-us/library/ms533052(VS.85).aspx
"si, m$ hace cosas buenas =P"
tambien podemos usar esto para configuraciones,
desde codigo java podemos levantarlo con wicket
new StringResourceModel(key, this,null)
tambien se puede inducir cual locale usar
Locale.getDefault() y Locale.setDefault(Locale))
Referencias
http://cwiki.apache.org/WICKET/everything-about-wicket-internationalization.html
http://www.chuidiang.com/java/ResourceBundle/internacionalizacion.php
http://wicket.apache.org/docs/wicket-1.3.2/wicket/apidocs/org/apache/wicket/model/StringResourceModel.html
listado locales
http://msdn.microsoft.com/en-us/library/ms533052(VS.85).aspx
Por ? y facil, correcciones ortograficas, estandarizacion de palabras (no queda bien que un boton diga guardar, otro diga save, y otro aplicar )
Solucion magica gracias a java y wicket
archivos.properties
Simple, es un archivo de texto (o varios ) que tienen clave-valor para los textos (o configuraciones)
# comentarios
clave=valor
#clasico ejemplo hola mundo
message=Hola mundo !
ahora donde y como ponemos estos archivos ?
wicket busca primero en un archivo.properties con el mismo nombre que la pagina
por ej: home.html y home.java , va a buscar el home.properties, si no lo encuentra, va a buscar el de la clase super de este (WebPage.properties ) si no puede, su padre y asi hasta
llegar al object.java
si no encuentra la clave hasta ahi, busca por los componentes (por ejemplo panelMenu.properties , panelFooter.properties, etc ) o por la aplicacion.
Con esto, podemos tener uno con el nombre de la aplicacion, y sobreescribir si queremos algo particular, en uno
entonces
Application.properties
#clasico ejemplo hola mundo
message=Hola mundo !
home.properties
#clasico ejemplo hola mundo
message=Hola mundo sobreescrito
como se usa ?
<wicket:message key="message">esto se pisa si encuentra una clave (si no, no )</wicket:message>
en vez de poner el texto en el html
si lo queremos en un componente html por ejemplo un input
<input type="submit" value="Hello world"/>
lo reemplazamos por
<input type="submit" value="texto por defecto" wicket:message="value:helloworld"/>
y si quicieramos poner mas de una propiedad
<input type="submit" value="texto por defecto" wicket:message="value:helloworld,title:hellotitle"/>
como darle varios idiomas
se pone un archivo por cada idioma
(idioma por defecto)
application.properties
(ingles)
application.properties
(españo)
application.properties
(español argentina)
application.properties
codigos en http://msdn.microsoft.com/en-us/library/ms533052(VS.85).aspx
"si, m$ hace cosas buenas =P"
tambien podemos usar esto para configuraciones,
desde codigo java podemos levantarlo con wicket
new StringResourceModel(key, this,null)
MyPanel.properties:
bla=Un texto loco
MyPanel.html:
<span wicket:id="summary">Text that will be replaced.</span>
MyPanel.java:
Summary summary = ...;
add(new Label("summary", new StringResourceModel("bla", this, null)));
tambien se puede inducir cual locale usar
Locale.getDefault() y Locale.setDefault(Locale))
Referencias
http://cwiki.apache.org/WICKET/everything-about-wicket-internationalization.html
http://www.chuidiang.com/java/ResourceBundle/internacionalizacion.php
http://wicket.apache.org/docs/wicket-1.3.2/wicket/apidocs/org/apache/wicket/model/StringResourceModel.html
listado locales
http://msdn.microsoft.com/en-us/library/ms533052(VS.85).aspx
Powered by ScribeFire.
No hay comentarios.:
Publicar un comentario