CN1 - 激活后无法使用本地化 css
CN1 - unable to use localization after activating css
最近我从遗留 css 集成切换到通过 CN1 首选项对话框使用 css 支持的当前方法。从那以后,我在从本地化资源文件访问字符串时遇到了反复的问题。
几个要点:
- 我有两个主题文件,但即使将字符串作为 csv 文件导入到 css 生成的主题中也不起作用
- 我已经尝试了所有可能的主题初始化与两个主题文件的组合,包括只初始化其中一个,但没有始终如一的成功(偶尔它有效,但如果我修改 css 和主题文件重新生成它再次停止工作)
- 我创建了一个全新的项目并将我的代码复制到其中,导入了字符串文件,并且它运行正常 - 直到我打开 css 支持。然后我回到原点
- 当它失败时,方法
UIManager.getL10NResourceNames()
returns一个空数组
如有任何帮助,我们将不胜感激!
CSS 控制文件,因此您无法再通过其他方式更改 theme.res 文件。您需要保留一个单独的 localization.res 文件,并严格按照应用程序的本地化功能加载该文件。您可以使用 Resources.open("/localization.res")
加载任意资源文件。
经过一番摸索,我找到了解决办法。原来我的情况是我做了一些不规范的事情的结果。首先,我有一个 theme.res
文件,我使用 IntelliJ 的 Refactor >> Rename
函数对其进行了重命名,该函数将 build.xml
文件中的硬编码 css 主题名称重命名为我的新名称。我需要手动还原该字符串以防止 css 编译任务覆盖我的主题文件。我注意到的第二件事是,有时(我不清楚是什么原因造成的)当 运行 本地应用程序时,主题文件没有在 /out
目录中刷新。这会表现出来,例如,当我在主题文件中添加图像时,但是当 运行 代码无法在 Resources
哈希表中找到它时。每次发生这种情况,我现在知道只需删除 /out
的内容,从而将 IDE 强制为 rebuild/recopy 主题文件(我可能只需将其手动复制到 /out
目录,但我认为删除它是最安全的)。
最近我从遗留 css 集成切换到通过 CN1 首选项对话框使用 css 支持的当前方法。从那以后,我在从本地化资源文件访问字符串时遇到了反复的问题。
几个要点:
- 我有两个主题文件,但即使将字符串作为 csv 文件导入到 css 生成的主题中也不起作用
- 我已经尝试了所有可能的主题初始化与两个主题文件的组合,包括只初始化其中一个,但没有始终如一的成功(偶尔它有效,但如果我修改 css 和主题文件重新生成它再次停止工作)
- 我创建了一个全新的项目并将我的代码复制到其中,导入了字符串文件,并且它运行正常 - 直到我打开 css 支持。然后我回到原点
- 当它失败时,方法
UIManager.getL10NResourceNames()
returns一个空数组
如有任何帮助,我们将不胜感激!
CSS 控制文件,因此您无法再通过其他方式更改 theme.res 文件。您需要保留一个单独的 localization.res 文件,并严格按照应用程序的本地化功能加载该文件。您可以使用 Resources.open("/localization.res")
加载任意资源文件。
经过一番摸索,我找到了解决办法。原来我的情况是我做了一些不规范的事情的结果。首先,我有一个 theme.res
文件,我使用 IntelliJ 的 Refactor >> Rename
函数对其进行了重命名,该函数将 build.xml
文件中的硬编码 css 主题名称重命名为我的新名称。我需要手动还原该字符串以防止 css 编译任务覆盖我的主题文件。我注意到的第二件事是,有时(我不清楚是什么原因造成的)当 运行 本地应用程序时,主题文件没有在 /out
目录中刷新。这会表现出来,例如,当我在主题文件中添加图像时,但是当 运行 代码无法在 Resources
哈希表中找到它时。每次发生这种情况,我现在知道只需删除 /out
的内容,从而将 IDE 强制为 rebuild/recopy 主题文件(我可能只需将其手动复制到 /out
目录,但我认为删除它是最安全的)。