2010-06-10 21 views
7

Desarrollé una aplicación GWT utilizando i18n internacionalización. En el modo Host/Dev, funciona bien, pero al iniciar la compilación GWT aparece este error: No se encontró ningún recurso para la clave xxx, como se muestra a continuación.GWT 2.X No se encontraron recursos para la clave

Compiling module ...rte.RTE 
    Scanning for additional dependencies: file:/home/.../client/i18n/RTEValidationMessages.java 
     Computing all possible rebind results for '...client.i18n.RTEMessages' 
     Rebinding ...client.i18n.RTEMessages 
      Invoking [email protected] 
       Processing interface ...client.i18n.RTEMessages 
        Generating method body for txtIndirizzo3() 
        [ERROR] No resource found for key 'txtIndirizzo3' 

Los mensajes se cargan con encuadernación tardía.

public class RTEValidationMessages { 
    private RTEMessages additionalMessages; 

    public RTEValidationMessages() { 
     additionalMessages = GWT.create(RTEMessages.class); 
    } 
} 

Eliminación del método que da el error, resultados en otro método aleatorio con el error, no dicen que el método antes o después en la interfaz ... client.i18n.RTEMessages.

La ayuda es muy apreciada.

Respuesta

14

Tuve un error similar una vez cuando uso la internacionalización. Tenía archivos de propiedades para los idiomas inglés y polaco: labels_en.properties y labels_pl.properties. La solución fue crear también un archivo labels.properties (en mi caso era solo una copia de labels_en.properties). Es extraño, pero de alguna manera ayudó.

También debe mantener sus archivos de propiedades en el mismo paquete que su clase RTEMessages.

+1

Gracias. Google debería haber hecho su proyecto Showcase más modular. El uso de fragmentos de código es extremadamente inconveniente debido a dependencias como esta. – expert

+0

GWT usa este archivo como valor predeterminado, cuando la clave no se encuentra en un archivo de configuración regional específico. Como alternativa, puede anotar sus métodos en la interfaz con '@ DefaultMessage' – damluar

1

también 2 cosas importantes (véase docs):

In order to use internationalized characters, make sure that your host HTML file contains the charset=utf8 content type in the meta tag in the header:

<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 

You must also ensure that all relevant source and .properties files are set to be in the UTF-8 charset in your IDE.

Cuestiones relacionadas