【问题标题】:Localizable string warning R#可本地化的字符串警告 R#
【发布时间】:2015-01-26 21:01:53
【问题描述】:

我是 C# 语法的初学者,在 vb.net 中编程已有好几年了。

ToolStripMenuItem setPriorityDropdown = new ToolStripMenuItem {Text = "Set priority"};

在此代码中,R# 警告“设置优先级”是一个可本地化的字符串。 我在网上搜索过,发现要删除警告,您应该在字符串之前使用@,成为@“设置优先级”,但是对于这种情况,R# 继续告诉我它是可本地化的。

我无法正确回答为什么字符串不应该是可本地化的,以及为什么 R# 警告它(乍一看)没有选项可以关闭它。 为什么

setPriorityDropdown.DropDownItems.Add("Priority 1"... 

没有收到警告?

第一个有什么问题?我该如何解决?

【问题讨论】:

    标签: c# winforms resharper localizable.strings


    【解决方案1】:

    查看this 问题的答案以获得解决方案。您的 R# 设置设置为忽略逐字字符串并仍将它们报告为可本地化。这意味着 R# 希望您将“魔术”字符串移动到有助于语言本地化的资源文件中。这样一来,如果您想以不同的语言部署应用程序,您可以轻松地在资源文件中定义翻译,而不是搜索整个代码库。关于为什么使用对象初始值设定项语法会引发错误而不是 Add() 方法,我不确定。可能是 R# 抱怨另一个问题,比如更喜欢使用对象初始化器语法。

    【讨论】:

    • 我已经看过这个问题了,可惜我已经取消了它,我再次检查了它,@"string" 不再显示警告。但是没有@的“字符串”还有其他选项也不给出警告吗?因为我现在不想担心我的应用程序中的翻译......
    • 当然可以。在 ReSharper 菜单上,选择“选项”。在 Code Inspection -> Inspection Severity 下选择 C# 选项卡。在“潜在的代码质量问题”下,将“元素可本地化”的下拉菜单从“警告”更改为“不显示”。
    • 谢谢,刚关掉!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    相关资源
    最近更新 更多