You can find the full source code for this website in the Seam package in the directory /examples/wiki. It is licensed under the LGPL.
A unified approach to configuring your application for the right language and locale, propagating them to all parts of the application.
To get started, add the following dependency groups below to your pom.xml:
API JAR | Implementation JAR |
---|---|
<dependency> <groupId>org.jboss.seam.international</groupId> <artifactId>seam-international-api</artifactId> <version>3.1.0.Final</version> </dependency> |
<dependency> <groupId>org.jboss.seam.international</groupId> <artifactId>seam-international</artifactId> <version>3.1.0.Final</version> <scope>runtime</scope> </dependency> |
Name | Module role | Commit username (Git) | Hometown (Time zone) |
---|---|---|---|
Ken Finnigan | Lead | kenfinnigan | Boston, MA, USA (UTC-05) |
Lincoln Baxter III | Contributor | lincolnthree | Charlotte, NC, USA (UTC-05) |
José Freitas | Contributor | joserodolfofreitas | Brazil (UTC-03) |
Internationalization and localization are very important for those of us who develop applications for non-English speakers, but is unfortunately poorly supported in various places in Java. It certainly isn't seamless to configure.
Seam aims to provide a unified approach to configuring your application for the right locale, propagating the locale to all aspects of the application.
Version | Time frame | Focus |
---|---|---|
3.2.0.Alpha1 | ~ Feb 2012 |
|
3.1.0.Final | 19 Dec 2011 | 13 Issues in Release |
3.0.0.Final | 31 Mar 2011 | 27 Issues in Release |
Below are the design notes for the Internationalization module.
Objectives of this module for Seam 3:
Possibly provide a way to produce/inject ResourceBundle instances, or an aggregate ResourceBundle
See Dynamic ResourceBundles in CDI as one possible idea
Consider providing foundation infrastructure for a help text system (or at least a basic implementation). The idea is to be able to associate formatted help text, perhaps in the form of Facelets fragments, and a URL with keyed elements on the screen. The resources would need to be localized.
org.jboss.seam.faces.status.MessagesAdapter delegates to org.jboss.seam.international.status.Messages within the Request scope, and is dependent on RenderContext being installed. It also interpolates EL expressions in the message string. Contains convenience methods for creating a Message. convert() handles the transfer of messages to JSF before rendering the response.
Tagged message areas: Potentially provide support for tagging messages to be displayed in a specific region of the page.
We have provided User and Application timezones for the JDK TimeZone and JODA DateTimeZone implementations. It's up to your personal preference as to which you utilize.
User and Application TimeZones are set to the default JDK TimeZone or JODA DateTimeZone unless overridden by specifying a String associated with @DefaultTimeZone. User TimeZone is updated by triggering a TimeZone or DateTimeZone event with @Alter and @Client qualifiers on the event.
org.jboss.seam.international.timezone.AvailableTimeZones is an Application Scoped Bean that provides a List of supported ForwardingTimeZone instances for either the JDK or JODA TimeZone implementations.
User and Application Locales are set to the default JDK Locale unless overridden by specifying a String associated with @DefaultLocale. User Locale is updated by triggering a Locale event with @Alter and @Client qualifiers on the event.
org.jboss.seam.international.locale.AvailableLocales is an Application Scoped Bean that provides a List of supported Locales through a Producer field which is initialised through overriding supportedLocaleKeys with Seam Config.