我想允许国际化到我的Java Swing应用程序.我使用捆绑文件来保留其中的所有标签.
作为测试,我试图将瑞典标题设置为a JButton.所以在我写的包文件中:
nextStepButton=nästa
Run Code Online (Sandbox Code Playgroud)
在我写的Java代码中:
nextStepButton.setText(bundle.getString("nextStepButton"));
Run Code Online (Sandbox Code Playgroud)
但是按钮的标题字符在运行时出现错误:

我正在使用支持Unicode的Tahoma字体.当我通过代码手动设置按钮标题时,它看起来很好:
nextStepButton.setText("nästa");
Run Code Online (Sandbox Code Playgroud)
知道为什么它在捆绑文件中失败了吗?
--------------------------------------------> 编辑:编码标题:
我尝试使用代码编码来自bundle文件的文本:
nextStepButton.setText(new String(bundle.getString("nextStepButton").getBytes("UTF-8")));
Run Code Online (Sandbox Code Playgroud)
结果仍然是:

Eclipse有一个很好的资源包编辑插件吗?
我正在寻找的主要功能是可以查看不同语言的捆绑包中是否存在相同的密钥.
即如果我有两个文件bundle_en_US.properties并且bundle_sv_SE.properties它们会在键中出现错配,则eclipse会显示错误.
我似乎记得这是Eclipse中的一个默认功能,但我似乎无法让它工作.
我有一个自定义的ResourceBundle类org.example.web.UILabels.java,它可以很好地运行代码,但Eclipse中的JSF编辑器找不到它,我假设编辑器/验证器只是按名称查找属性文件.这也意味着我不再需要提前找到资源,这是非常好的.
有什么想法可以纠正吗?
<f:loadBundle basename="org.example.web.UILabels" var="uiLabels"/>
...
<h:outputText value="#{uiLabels.someTextValue}" />
...
Run Code Online (Sandbox Code Playgroud)
我收到错误消息(在问题错误列表中)
在类路径上找不到资源包org.example.web.UILabels
Type = JSF问题
带有WebStandardTools版本的Eclipse3.4.0
有关我为什么使用ResourceBundle类而不仅仅是属性文件的更多信息,请参阅问题653682如何覆盖某些资源来自属性资源包
谢谢你的时间,David Waters
我们在公司里做的是让外部翻译人员翻译我们的软件......好吧......如何把它...
...最佳案例:1到8之间的2周,开发继续......
第一个问题:你如何处理这个问题?
我的想法是构建一个带有web-gui的工具,允许翻译人员直接在cvs模块上工作(在后台结账并提交"保存",可能在后台标记).我们从学员的实施开始,得到了类似概念证明的东西.在我们继续开发之前,我想知道
第二个问题:你知道一个类似的工具吗?
和/或
第三个问题:你会使用这样的工具吗?
在属性文件中我有一个key=A: {{0}, {1}}, B: {{2}, {3}}.我期待一个字符串"A: {0, 1}, B: {1, 2}".花括号内的数字正在解析.如何包含字符"{"而不绑定任何值?我也试过逃避这个角色"// {".即使我无法得到预期的结果.错误java.lang.IllegalArgumentException:无法解析参数编号0,1发生.
我正在使用RC,我已经通过NuGet查看了所有内容都是最新的.在我的global.asax.cs中我得到了:
BundleTable.Bundles.AddDefaultFileExtensionReplacements();
BundleTable.Bundles.AddDefaultIgnorePatterns();
BundleTable.Bundles.AddDefaultFileOrderings();
Bundle scripts = new Bundle("~/Scripts");
scripts.IncludeDirectory("~/Scripts", "*.js");
BundleTable.Bundles.Add(scripts);
Bundle css = new Bundle("~/Content/css");
css.IncludeDirectory("~/Content/css", "*.css", false);
BundleTable.Bundles.Add(css);
Run Code Online (Sandbox Code Playgroud)
我尝试了一些不同的配置而没有任何改进.
然后在我的布局中我得到了:
<link href="@BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" />
<script src="@BundleTable.Bundles.ResolveBundleUrl("~/Scripts")"> </script>
Run Code Online (Sandbox Code Playgroud)
当页面加载它看起来很体面的网址时:
<link href="/Content/css?v=QAsFYXHCbnaU70oGVxpgi9py9iKQrT9C4BVNdHa7xoI1" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
但该网址重定向到:
/Content/css/
Run Code Online (Sandbox Code Playgroud)
返回404找不到错误...

有人有任何想法吗?
asp.net-mvc resourcebundle asp.net-mvc-4 asp.net-optimization
在某些项目中,我使用经典ResourceBundle机制来获取与语言环境相关的消息(异常消息,信息消息等等).
但我有一些问题:
ResourceBundle可以返回一个Object;.setParent()不首先搜索父亲,但孩子).我知道可以编写代码来克服后两点; 但是,如果有一个库以更简单的方式处理消息,那就更好了!你知道吗?
我在资源包中的UIWebView中加载了一个PDF文件.
现在,我无法缩放/捏合PDF文件.
我找到了以下2个相关链接,但没有一个答案被标记为正确 -
如何使从资源包中加载到UIWebView中的PDF可缩放/可变形,以下解决方案是否有效?
谢谢你的帮助.
我目前从eclipse切换到android studio.在eclipse中我有2个项目,一个android应用程序项目和一个java项目,我将其作为库包含在android项目中.这个java项目使用ResourceBundles为它自己的错误创建国际化的错误消息.这是我的项目结构:
/MyApp
/src
/res
...
/MyLibrary
/src
/res (added as source folder to build path)
/loc
Bundle_en.properties
Run Code Online (Sandbox Code Playgroud)
这在加载RessourceBundles时起作用如下:
ResourceBundle.getBundle("loc.Bundle", Locale.ENGLISH);
Run Code Online (Sandbox Code Playgroud)
现在我切换到android studio,我的新项目结构看起来像这样(将java库添加为模块):
/MyProject
/MyApp
...
/MyLibrary
/src
/main
/java
...
/res
/loc
Bundle_en.properties
Run Code Online (Sandbox Code Playgroud)
但是我不能再加载ResourceBundles了,它只是扔了一个java.util.MissingResourceException.我为ResourceBundles和不同的路径尝试了很多不同的位置,但我会发疯,因为似乎没有任何工作.任何人都可以解释在哪里放这些捆绑以及如何加载它们?
谢谢!
我正在使用java.util.ResourceBundle类和属性文件本地化Web应用程序.
我有两个语言环境,fr_FR和en_US,我想使用en_US作为默认值,所以我写了以下文件:
messages_fr_FR.properties 使用fr_FR消息messages.properties 使用en_US消息我的问题是,ResourceBundle.getBundle(BUNDLE_NAME,语言环境)方法依傍Locale.getDefault()使用默认的属性文件,这意味着如果JVM区域设置为fr_FR,则之前
ResourceBundle.getBundle("name", new Locale("en", "US"))返回fr_FR时捆绑.
我可以重命名该messages.properties文件,但这可能会返回一个MissingResourceException以及其他所需和默认的语言环境.
如何在不复制属性文件或调用的情况下忽略系统区域设置Locale.setDefault?
resourcebundle ×10
java ×6
eclipse ×2
asp.net-mvc ×1
ios ×1
jsf ×1
localization ×1
mojibake ×1
pdf ×1
pinchzoom ×1
swing ×1
translation ×1
uiwebview ×1