Thanks On 10 dic, 04:28, Jonas Gehring <gehr...@egotec.com> wrote: > sorry the patch wasn't complete. > I posted the complete classes on my > page:http://www.jjoe64.com/java-coding/gwt-i18n-server-side > > On 10 Dez., 08:13, Jonas Gehring <gehr...@egotec.com> wrote: > > > hi. > > there is a way to use the gwt constants/messages on the server side. I > > use it so: > > > Checkouthttp://code.google.com/p/gwt-i18n-server/fromSVN. > > > Then you have to patch it for the GAE like I did it (see down). > > > You have to copy your CONSTANTS.properties + MESSAGES to the folder > > war/nls_server. > > > ---------------------- PATCH ---------------------- > > Index: GenericX.java > > =================================================================== > > --- GenericX.java (revision 1317) > > +++ GenericX.java (revision 1676) > > @@ -21,9 +21,9 @@ > > import java.io.FileNotFoundException; > > import java.io.IOException; > > import java.io.InputStream; > > +import java.io.InputStreamReader; > > import java.lang.reflect.InvocationHandler; > > import java.lang.reflect.Method; > > -import java.security.AccessControlException; > > import java.security.InvalidParameterException; > > import java.util.Properties; > > > @@ -31,11 +31,17 @@ > > * > > */ > > public abstract class GenericX implements InvocationHandler { > > + /** > > + * @param c1 c > > + * @param c2 c > > + * @return r > > + */ > > + public static boolean isA(Class<?> c1, Class<?> c2) { > > + return c2.isAssignableFrom(c1); > > + } > > protected final Properties properties = new Properties(); > > - protected final Class<?> itf; > > > - @Override > > - public abstract Object invoke(Object proxy, Method method, Object[] > > args) throws Throwable; > > + protected final Class<?> itf; > > > /** > > * @param _itf _itf > > @@ -48,6 +54,11 @@ > > fillProperties(itf, lang); > > } > > > + @Override > > + public boolean equals(Object obj) { > > + return obj == this; > > + } > > + > > protected void fillProperties(Class<?> itf, String lang) throws > > IOException { > > for (Class<?> superItf : itf.getInterfaces()) { > > fillProperties(superItf, lang); > > @@ -59,35 +70,22 @@ > > in = load(baseName + ".properties"); > > } > > if (in != null) { > > - properties.load(in); > > + properties.load(new InputStreamReader(in, "UTF-8")); > > } > > } > > + > > + @Override > > + public int hashCode() { > > + return properties.size(); > > + } > > + > > + @Override > > + public abstract Object invoke(Object proxy, Method method, Object[] > > args) throws Throwable; > > + > > protected InputStream load(String s) throws FileNotFoundException { > > InputStream in = null; > > in = loadPropertiesGAE(s); > > > - ClassLoader cl; > > - cl = Thread.currentThread().getContextClassLoader(); > > - if (cl != null) { > > - in = cl.getResourceAsStream(s); > > - } > > - if (in == null) { > > - cl = getClass().getClassLoader(); > > - if (cl != null) { > > - in = > > getClass().getClassLoader().getResourceAsStream(s); > > - } > > - if (in == null) { > > - try { > > - cl = > > ClassLoader.getSystemClassLoader(); > > - } catch (AccessControlException e) { > > - /* GAE compatibility */ > > - in = loadPropertiesGAE(s); > > - } > > - if (cl != null) { > > - in = cl.getResourceAsStream(s); > > - } > > - } > > - } > > > return in; > > } > > @@ -99,23 +97,4 @@ > > return null; > > } > > } > > - > > - @Override > > - public boolean equals(Object obj) { > > - return obj == this; > > - } > > - > > - @Override > > - public int hashCode() { > > - return properties.size(); > > - } > > - > > - /** > > - * @param c1 c > > - * @param c2 c > > - * @return r > > - */ > > - public static boolean isA(Class<?> c1, Class<?> c2) { > > - return c2.isAssignableFrom(c1); > > - } > > } > > > On 9 Dez., 20:30, Erick Fleming <efleming...@gmail.com> wrote: > > > > Java has a fair amount of i18n built-in [1], are you using JSPs or > > > some other template engine? > > > > [1]http://java.sun.com/javase/technologies/core/basic/intl/ > > > > On Thu, Dec 9, 2010 at 12:48 PM, nacho <vela.igna...@gmail.com> wrote: > > > > How can i use internationalization over appengine (java) on the server > > > > side? > > > > > Does any one have any idea? > > > > > I've been googling but all the posts that i find are for python > > > > appengine. > > > > > -- > > > > You received this message because you are subscribed to the Google > > > > Groups "Google App Engine" group. > > > > To post to this group, send email to google-appeng...@googlegroups.com. > > > > To unsubscribe from this group, send email to > > > > google-appengine+unsubscr...@googlegroups.com. > > > > For more options, visit this group > > > > athttp://groups.google.com/group/google-appengine?hl=en. > > > > -- > > > Erick Fleming
-- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to google-appeng...@googlegroups.com. To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.