Package org.codehaus.spice.salt.i18n

Utility code for extractin i18n'ed resources.

See:
          Description

Class Summary
I18nResourceManager Manager for I18nResources objects.
I18nResources A class to simplify extracting localized strings, icons and other common resources from a ResourceBundle.
ResourceManager Manager for resources.
Resources A class to simplify extracting localized strings, icons and other common resources from a ResourceBundle.
 

Package org.codehaus.spice.salt.i18n Description

Utility code for extractin i18n'ed resources.

Introduction

The utilities in org.codehaus.spice.salt.i18n assist you in retrieving strings and other values from i18n'ed ResourceBundles. The ResourceBundles are resolved on the first request for a resource. The ResourceBundles are also cached so that multiple requests for the same i18n resource in the same classloader will result in accessing of cached versions.

The ResourceManager allows you to load resources for an individual class or for entire package. The name of ResourceBundle created for the class is the same as the name of the Class with the string "Resources" appended. The package resources ResourceBundle name is the same as the name of the package with "Resources" appended.

Looking up the class resources for com.biz.MyClass would result in looking up ResourceBundle named com.biz.MyClassResources which usually means looking up the properties file com/biz/MyClassResources.properties. Looking up the package resources for same class would result in looking up ResourceBundle named com.biz.Resources often stored in properties file com/biz/Resources.properties.

Usage Example

Resources.properties

bland.message=This is message without substitution!
param.message=Hello {0}! Are you feeling {1}?
sunlight.ratio=7.4

I18nDemo.java

import org.codehaus.spice.salt.i18n.ResourceManager;
import org.codehaus.spice.salt.i18n.Resources;

/**
 * Demonstrates the i18n utilities.
 *
 * @author Peter Donald
 */
public class I18nDemo
{
    /**
     * i18n resources for used to present messages.
     */
    private static final Resources REZ =
        ResourceManager.getPackageResources( I18nDemo.class );

    public static void main( final String[] args )
    {
        String message = null;

        message = REZ.getString( "bland.message" )
        assert( message.equals( "This is message without substitution!" ) );

        message = REZ.getString( "nonexistent.message", "This is default message!" )
        assert( message.equals( "This is default message!" ) );

        message = REZ.getString( "param.message" )
        assert( message.equals( "Hello {0}! Are you feeling {1}?" ) );

        message = REZ.format( "param.message", "Bob", "well" )
        assert( message.equals( "Hello Bob! Are you feeling well?" ) );

        double value = REZ.getDouble( "sunlight.ratio" )
        assert( value == 7.4 );
    }
}

Since:
4.0


Copyright © 1999-2005 Codehaus. All Rights Reserved.