做一个记录和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 code
trace(ResourceStringUtil.getResoureceStringWithTokens("receivedMessage", {time: "11:49", userName: "Mims"}));
// displays
At 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;
}
}
分享到:
相关推荐
### Flex 国际化方法详解 #### 一、引言 随着互联网的全球化发展,软件产品的用户群体不再...此外,随着Flex技术逐渐被其他技术取代,了解并掌握其国际化方法对于维护旧系统或迁移至新平台仍然具有一定的参考价值。
8. **国际化和 Accessibility**:为了满足全球用户的需求,Flex 3支持多语言和无障碍访问。这部分会介绍如何实现应用程序的国际化和无障碍设计。 9. **调试和优化**:书中还将包含调试技巧和性能优化策略,帮助...
10. **国际化和本地化**:ActionScript 3.0支持多语言应用的开发,提供资源管理接口和国际化类。 压缩包中的CSS文件(style.css、ion.css、print.css、override.css、all-index-*.html)可能包含手册的样式定义,...
10. **国际化和本地化**: - Flex支持多语言环境,通过ResourceModule和ResourceManager类管理不同语言的资源文件。 这份离线语言参考将涵盖以上所有概念,详细解释各个API的使用,是Flex开发者不可或缺的工具。...
13. **国际化和本地化**:Flex支持多语言应用开发,通过特定的资源文件和机制,可以轻松实现应用的国际化和本地化。 14. **Flex测试和调试**:使用Flex Builder的内置工具进行单元测试、性能测试和调试,确保代码...
1. **多语言支持**:Flex3提供国际化的支持,可以轻松地为应用程序添加多语言界面。 2. **无障碍访问**:遵循WAI-ARIA标准,Flex3允许创建对残障用户友好的应用程序。 综上所述,Flex3帮助文档涵盖了Flex开发的...
12. **国际化和本地化**:掌握Flex4中实现多语言支持的方法,包括资源bundle的使用和配置。 13. **移动设备开发**:Flex4支持移动平台开发,学习如何创建针对手机和平板的应用,利用StageWebView和StageVideo等特性...
11. **国际化和本地化**:Flex支持应用程序的国际化和本地化,使得开发全球化的应用变得简单。 12. **调试和测试**:Flex中文帮助手册应包含如何使用内置的调试工具进行错误排查,以及性能优化的建议。 总之,...
这些认证和标准保证了FLEX I/O模块不仅满足国际市场的安全和质量要求,而且也满足了不同地区的法规要求。例如,CE标志表明该产品符合欧盟的安全、健康和环保规定,而IEC和UL标准则提供了电气设备安全性和可靠性的...
9. **国际化和本地化**:Flex框架内置了对多语言支持的机制,方便应用进行国际化和本地化处理。 10. **移动开发**:虽然最初是为桌面浏览器设计的,但随着Adobe AIR的出现,Flex也可以用于开发跨平台的桌面和移动...
6. **国际化和本地化**:对于多语言应用,Flexlib可能提供了支持国际化的工具和组件。 7. **工具和辅助类**:类库可能包含实用工具类,用于处理常见的编程任务,如字符串操作、日期时间处理等。 总之,Flexlib开源...
11. **国际化与本地化**:探讨如何在Flex应用中支持多语言,以适应全球用户需求。 12. **发布与部署**:学习将Flex项目打包成SWF或AIR应用程序,以及如何在不同的平台和环境中进行部署。 通过《Flex3 CookBook ...
9. **国际化和本地化**:Flex 3支持多语言应用,源码会展示如何配置和使用国际化资源。 10. **错误处理和调试**:源码还将包含错误处理机制和调试技巧,帮助开发者在遇到问题时快速定位和修复。 通过深入研究"Flex...
9. **国际化和本地化**:对于全球化的应用程序,源代码可能展示了如何实现多语言支持。 10. **错误处理和调试**:良好的错误处理和调试技巧是每个开发者必备的技能,源代码可以提供这方面的实践案例。 通过深入...
4. **多语言支持**:通过国际化和本地化技术,为不同地区用户提供多语言版本的应用。 #### 六、常见问题及解决方法 1. **性能优化**:针对Flex应用的性能瓶颈进行分析,采取措施提高加载速度和响应时间。 2. **...
9. **国际化与 Accessibility**:Flex支持多语言应用的开发,以及对无障碍功能的支持,让应用更具包容性。 10. **发布与部署**:最后,你将学习如何打包和发布Flex应用程序,以及如何在不同环境中部署。 通过阅读...
7. **国际化和本地化**:Flex API也会包含有关如何支持不同语言和文化设置的信息,这对于开发全球化的应用程序至关重要。 8. **错误和异常处理**:在开发过程中,错误处理是必不可少的。API将阐述Flex中的错误对象...
1. **国际化支持**:在设置日期和时间格式时要注意不同地区的格式差异,确保程序具有良好的国际化支持。 2. **用户体验**:合理布局时间输入控件,提供清晰的操作提示,提高用户体验。 3. **性能优化**:对于复杂的...
同时,这个工具还可以帮助非中文用户通过拼音输入汉字,增加应用的国际化友好性。 在实际应用中,开发者可能会遇到一些挑战,比如如何处理多音字的上下文识别、如何优化转换性能,以及如何处理不常见的汉字或古汉语...