url - name - cómo obtener información sobre el lugar en una aplicación GWT
meta name keywords (5)
En GWT tengo que especificar qué configuraciones regionales son compatibles con mi aplicación. El código se compila en varios archivos, uno para cada localidad (además de otras versiones), pero tengo que darle a mis clientes una sola URL. Se supone que esta URL es una página que debe mostrarse de acuerdo con la configuración regional preferida por el navegador. No quiero tener un parámetro HTTP para la configuración regional, ya que quiero forzar la configuración regional preferida por el navegador. ¿Cómo se puede codificar esto en GWT?
¿Debería intentar esto utilizando las reglas de reescritura de apache? Lo tiré, pero creo que no puedo acceder fácilmente a dicho parámetro en una regla de reescritura.
Muchas gracias, Giuseppe
A menos que esté leyendo la documentación incorrectamente, no creo que tengas que hacer nada.
Al hacer que locale sea una propiedad del cliente, el proceso de inicio estándar en gwt.js elige la versión localizada apropiada de una aplicación, proporcionando facilidad de uso (¡es más fácil de lo que parece!), Rendimiento optimizado y tamaño de script mínimo.
La forma en que lo leo, siempre y cuando su módulo haya agregado todas las opciones de configuración regional, ¿debería ser automático?
GWT tiene un buen apoyo para la internacionalización. Ver este enlace El comando i18nCreator puede ayudarlo a configurar la infraestructura de internacionalización de forma similar a la forma en que projectCreator y applicationCreator configuran la aplicación GWT.
Si tiene cadenas estáticas (es decir, Invalid Entry!) Que necesitan ser internacionalizadas, no necesita ningún indicador adicional al comando i18nCreator para crear los archivos de propiedades y la infraestructura.
Si tiene cadenas que necesitan aceptar parámetros (es decir, Hello {0}), debe pasar el indicador -createMessages al comando i18nCreator para crear los archivos de propiedades y la infraestructura.
Ahora su módulo debe incluir el módulo i18n en su MyApplication.gwt.xml:
<inherits name="com.google.gwt.i18n.I18N"/>
Defina una interfaz Java en el mismo paquete que sus archivos de propiedad que extiende Constantes o Mensajes y define métodos (el nombre coincide con las entradas de propiedad) que devuelven cadena.
MyConstants.properties contiene:
errorMessage=Invalid Entry!
MyConstants.java contiene:
import com.google.gwt.i18n.client.Constants;
public interface myConstants extends Constants {
String errorMessage();
}
Ahora, para acceder a estas cadenas internacionalizadas desde su aplicación:
public class MyApplication implements EntryPoint {
private static final MyConstants constants = (MyConstants)GWT.create(MyConstants.class);
public void onModuleLoad() {
final Label errorMessage = new Label(constants.errorMessage);
}
}
GWT implementa la interfaz automáticamente para usted.
Puede recibir mensajes de manera similar.
Espero que esto pueda ayudarlo a comenzar.
Tuve el mismo problema que tú, pero como realmente necesito saber la configuración regional actual (solicito un segundo servidor para los datos que quiero que sean localizables) encontré esta clase: com.google.gwt.i18n.client.LocaleInfo#getCurrentLocale()
. Eso debería darte lo que GWT usa actualmente.
Compruebe esto com.google.gwt.i18n.client.LocaleInfo.getCurrentLocale ()
<inherits name="com.google.gwt.i18n.I18N"/>
<!-- Use browser-specified locale for i18n -->
<set-configuration-property name="locale.useragent" value="Y"/>
<!-- Specify locales your application support -->
<extend-property name="locale" values="en"/>
<extend-property name="locale" values="de_DE"/>
<extend-property name="locale" values="ru_RU"/>