首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex 国际化参照

2012-10-30 
Flex 国际化参考做一个记录和mx.utils.StringUtil.substitute()包做个记录:?????Using this class, the ex

Flex 国际化参考

做一个记录和mx.utils.StringUtil.substitute()包做个记录:

?

????Using this class, the example above would look more like this:

????

receivedMessage=At %time%, you received a message from %userName%.// then in your codetrace(ResourceStringUtil.getResoureceStringWithTokens("receivedMessage", {time: "11:49", userName: "Mims"}));// displaysAt 11:49, you received a message from Mims.

?

?

import mx.resources.ResourceManager;/** * A utility for string related functions within. * * @author Mims H. Wright */public class ResourceStringUtil{public static function get DEFAULT_BUNDLE():String { return "Strings"; }/**  * Replaces tokens in a resource string with values from a generic object. * The tokens in the string will be replaced if a matching named property exists * in the tokenValues object.  *  * @param key The key name for looking up the string in the resource bundle. * @param tokenValues A generic object containing values for the tokens. * @param bundle The resource bundle to use. Default is Strings. *  * @example <listing version="3.0"> *  * // If the following is defined in Strings.properties... * userSelectedProductMessage=%userName% viewed %productName% at %date%. *  * // you could retrieve that data with values replaced by using... * var message:String = ResourceStringUtil.getResoureceStringWithTokens( * "userSelectedProductMessage",  *{ *userName: "mims",  * productName: product.name,  *date: newDate() *}); */static public function getResourceStringWithTokens(key:String, tokenValues:Object, bundle:String = ""):String {if (bundle == "") { bundle = DEFAULT_BUNDLE; }var string:String = ResourceManager.getInstance().getString(bundle, key);// match tokens in the format %token%var tokens:Array = string.match(/%[A-Za-z0-9]+%/g);for each (var token:String in tokens) {var propertyName:String = token.slice(1, token.length-1);if (tokenValues[propertyName] != undefined && tokenValues[propertyName] != null) { var value:String = String(tokenValues[propertyName]);string = string.replace("%" + propertyName + "%", value);} else {//else just make that string blank.string = string.replace("%" + propertyName + "%", "");}}return string;} }

?

热点排行