问题标签 [string-externalization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
10491 浏览

java - 在 Eclipse 中配置字符串外部化以使用 ${key} 作为字段名

假设我有一个像这样的简单代码:

现在,我想将问候语外部化,也许是为了促进国际化/本地化/等。使用 Eclipse,我可以使用字符串外部化向导(Source/Externalize Strings),并像这样配置它:

替代文字

我可以继续使用向导,它会提出以下更改:

  • 创建文件Personal Toys/src/Messages.java
  • 创建文件Personal Toys/src/messages.properties
  • 编辑ExternalizeStringDemo.java
    • "Hello World"变成Messages.getString("DEMO_GREETING")

我的问题很简单:我可以要求 Eclipse 将访问权限外部化以使用键作为字段名称吗?也就是说,我希望访问权限为 eg Messages.DEMO_GREETING

注意:如果[Substitution pattern]是 simple ${key},则生成的代码是Messages."DEMO_GREETING",这不是有效的 Java 代码。


如果这是不可能的,那么下一个最好的事情是什么?(我在想 Eclipse 正则表达式查找/替换?)。

0 投票
1 回答
1745 浏览

spring - 在多环境应用程序中外部化系统属性的最佳方法

我们正在使用在多个环境(测试、UAT 和生产)上运行的 Spring 3 应用程序,这些环境由第三方公司管理,因此我们几乎无法访问服务器。

我们已经尝试过Jboss System PropertiesMaven2 Profiles。两种解决方案都运行良好,但是我们不想将应用程序绑定到一个特定的服务器(在本例中为 Jboss),并且我们不想进行特定于环境的构建(Maven2 配置文件需要)。

有没有一种好方法可以让应用程序具有特定于环境的属性,不需要为每个环境进行不同的构建,不需要在服务器端进行修改,也可以在不同的服务器上运行?(某种PropertyPlaceHolderConfigurer可以读取应用程序上下文之外的属性文件应该可以解决问题)

0 投票
1 回答
608 浏览

asp.net - 检查 ASPX 文件以确保引用的资源密钥存在于 RESX 中

我有一个相当大的网站,它的字符串外部化了。我想知道是否有办法检查以确保 ASPX 中的资源对象存在于被引用的资源文件中?有几个页面会出现解析器错误,但我希望能够批量检查所有文件。

如果有工具或某种方法可以检查所有文件,并且您知道如果您能在这方面为我提供帮助,我将不胜感激。

0 投票
3 回答
581 浏览

unicode - 多字节语言的网站本地化

我已经开始为一个包含大量硬编码文本的中型网站编写多语言功能。由于该网站应该被翻译成日语和韩语(多字节字符集),我正在考虑以下内容:

  • 如果我使用字符串外部化,日语或韩语的字符串是否需要在语言环境文件中采用 unicode 形式(即台北,而不是台北作为字符串值)?
  • 将本地化存储在数据库(即 MySQL)中并通过 PHP 中的本地化函数检索相应的值是否更有意义?

非常感谢您的想法输入。

最好的祝福

0 投票
0 回答
782 浏览

java - 如何使用新的 Eclipse 字符串外部化机制更改 SWT 应用程序中的语言环境?

我想让我的 SWT 应用程序多语言。因此,我正在使用新的 Eclipse 字符串外部化机制,在此处进行了描述。

我为某些语言制作了不同的messages_xx_XX.properties,并且我正在通过Messages.localeDependentString寻址依赖于语言环境的字符串。

我无法理解的是,如何切换语言环境以使用其他 Messages_xx_XX.properties 而不是默认 Messages.properties?这可以在运行时执行吗?

0 投票
1 回答
2921 浏览

javascript - 在Javascript中外部化字符串

我一直在在线搜索一个在 JavaScript 中外部化字符串的工具,但我一直无法这样做。我希望会有类似于 eclipse 中内置的东西(Source -> Externalize Strings ...)。如果有人知道可以实现此目的的 Eclipse 工具或插件,请告诉我。

我们有一个已经成熟但现在需要支持翻译的软件项目,因此我们需要将字符串外部化。

0 投票
1 回答
793 浏览

android - android中的字符串格式问题

我在 android 应用程序中遇到了“string.format”的问题。在我的应用程序中,当用户将其语言首选项从默认(英语)更改为任何其他外语(日语、德语等)时,变量字符串定位会导致强制关闭错误。请参考以下代码:

temp = String.format(locale,getResources().getString(R.string.temp_string), value, name);

其中, temp_string = "包裹号 %1$d 属于 %2$s" 用于默认选择(英语),当在其中一些语言中选择其他语言时,%2$s 位于 %1$d 之前。因此,应用力关闭。有没有办法动态处理变量字符串(值,名称)。

0 投票
2 回答
338 浏览

qt - 如何根据上下文替换 Qt 应用程序运行时中的 UI 标签/工具提示?

我们正在开发一个 Qt 桌面应用程序。应用程序可以在每个选项卡中打开多个文件,并且每个选项卡(文件)都有自己的上下文。用户可以打开多个文件并在这些选项卡之间切换。

例如:就像一个选项卡是卡车管理,工具栏中的操作(add_Vehicle)应该显示工具提示“添加卡车”,如果另一个选项卡是汽车管理,相同的操作应该显示工具提示“添加汽车”。

有很多这样的事情:

  1. 如果我删除卡车(即卡车管理选项卡中的车辆),它应该显示消息框“卡车已成功删除”。如果汽车(即汽车管理选项卡中的车辆)被删除,则应显示“汽车已成功删除”消息。

  2. 有一些对话框通过 QtDesinger 直接将文本设置为 QLabels。

这个问题是怎么产生的?

以前该应用程序仅支持卡车管理,现在我们正在同一应用程序中添加对汽车管理的支持。所有消息/UI 标签/工具提示都使用“卡车”。现在我们要根据打开的标签(文件)来改变它。

可行的想法解决方案:(不在运行时工作)

所有的 UILabels/ToolTips/Messages 都是可翻译的[即用 QObject::tr(..) 编写的]。我们考虑根据选项卡上下文安装 QTranslator,它会自动更改所有位置的文本。安装 QTranslator 运行时不起作用。

还有另一种方法吗?或者任何指针/提示都会非常有帮助。

0 投票
2 回答
1121 浏览

java - 有没有办法为一行中的所有字符串设置一个“//$NON-NLS”注释?

有谁知道是否可以在 java 中为一行中的所有字符串设置一个 //$NON-NLS 注释标签......也许像这样:

我喜欢防止出现这么长的代码行:

谢谢

0 投票
1 回答
65 浏览

java - 如何在构建时为非国际化 Java 字符串生成警告

我正在寻找一种可以在持续集成服务器 (TeamCity) 上运行的解决方案,这似乎排除了 IDE 特定的解决方案,例如 eclipse 中内置的外部化。

当在 java 源文件中找到字符串时,我需要生成警告,除非它们以某种方式(通过注释或注释)被标记为不需要国际化,例如 Eclipse 的 //$NON-NLS-1$ 注释。

代码是使用 teamcity 中的 maven 构建的。

我无法找到现有的解决方案或任何关于如何将自定义解决方案连接到 maven 或 teamcity 的想法(请注意,我对这两者都不太熟悉,因此可能会忽略一些相当明显的事情)。