Bonjour,

Je veux internationaliser mon application GWT mais j'ai l'impression de me retrouver face à un mur.

Après avoir lu et tenter d'appliquer ceci :
http://projectpossibility.org/projec...alization.html
http://code.google.com/p/google-web-...ingStartedI18n

Je n'arrive pas à faire fonctionner ma pauvre classe dynamique d'internationalisation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package fr.societe.projet.i18n;
 
import java.util.MissingResourceException;
import java.util.ResourceBundle;
 
public class Messages implements com.google.gwt.i18n.client.Messages {
	private static final String BUNDLE_NAME = "fr.societe.projet.i18n.messages"; //$NON-NLS-1$
 
	private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);
 
	private Messages() {
	}
 
	public String getString(String key) {
		try {
			return RESOURCE_BUNDLE.getString(key);
		}
		catch (MissingResourceException e) {
			return '!' + key + '!';
		}
	}
}
Avec le fichier messages.properties dans le même package :
Code properties : Sélectionner tout - Visualiser dans une fenêtre à part
label.test=Test

Dans le XML GWT, on trouve bien :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<module rename-to='monmodule'>
	<inherits name='com.google.gwt.user.User'/>
	<inherits name='com.google.gwt.user.theme.chrome.Chrome'/>
 
	<entry-point class='fr.societe.projet.client.MonModule'/>
 
	<inherits name="com.google.gwt.i18n.I18N"/>
	<extend-property name="locale" values="fr"/>
	<set-property name="locale" value="fr" />
</module>

Et dans ma classe de démarrage :
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package fr.societe.projet.client;
 
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.RootPanel;
 
import fr.societe.projet.i18n.Messages;
 
public class MonModule implements EntryPoint {
	public void onModuleLoad() {
		Label labelTest = new Label();
 
		// Technique 1
		Messages messages = GWT.create(Messages.class);
		labelTest.setText(messages.getString("label.test"));
 
		// Technique 2
		labelTest.setText(Messages.getString("label.test"));
 
		RootPanel.get().add(labelTest);
	}
}

Technique 3 :

Et dans mon XML GWT principal, j'ai ajouté la ligne :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
<entry-point class='fr.societe.projet.i18n.Messages'/>

Technique 4 :

Dans mon package fr.societe.projet.i18n, j'ai rajouté le fichier Messages.gwt.xml avec le contenu suivant :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.7.0//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.7.0/distro-source/core/src/gwt-module.dtd">
<module>
	<inherits name="com.google.gwt.user.User" />
	<entry-point class='fr.societe.projet.i18n.Messages'/>
</module>

Et dans mon XML GWT principal, j'ai remplacé com.google.gwt.i18n.I18N par fr.scoiete.projet.i18n.Messages.

Résultat :

Et malgré toutes ces techniques, j'ai toujours l'erreur :
[ERROR] Line XX: No source code is available for type fr.societe.projet.i18n.Messages; did you forget to inherit a required module?
J'ai loupé un truc ?