Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internationalization MVC4 WebApplication-使用Razor引擎在视图(cshtml文件)中提供全局变量_Internationalization_Resources_Asp.net Mvc 4_Views_Global Variables - Fatal编程技术网

Internationalization MVC4 WebApplication-使用Razor引擎在视图(cshtml文件)中提供全局变量

Internationalization MVC4 WebApplication-使用Razor引擎在视图(cshtml文件)中提供全局变量,internationalization,resources,asp.net-mvc-4,views,global-variables,Internationalization,Resources,Asp.net Mvc 4,Views,Global Variables,我想知道现在如何使用MVC4获得MVC3中可能的功能,声明所有cshtml文件中可用的一些变量和/或约束。我用它来制作语言文件 在MVC3的早些时候,我的解决方案中有一个App_Code文件夹,我将文件Lang.cshtml放在那里。在这个文件中,我有一个有效的资源 @functions{ public static readonly string G_ADD = "Dodaj"; public static readonly string G_CREATE = "Utwórz"

我想知道现在如何使用MVC4获得MVC3中可能的功能,声明所有cshtml文件中可用的一些变量和/或约束。我用它来制作语言文件

在MVC3的早些时候,我的解决方案中有一个App_Code文件夹,我将文件Lang.cshtml放在那里。在这个文件中,我有一个有效的资源

@functions{
    public static readonly string G_ADD = "Dodaj";
    public static readonly string G_CREATE = "Utwórz";
    public static readonly string G_SAVE = "Zapisz";
    public static readonly string G_EDIT = "Edytuj";
    public static readonly string G_DETAILS = "Szczegóły";
    public static readonly string G_DELETE = "Usuń";
    public static readonly string G_SEARCH = "Szukaj";
    public static readonly string G_FIRST = "<< Pierwsza";
    public static readonly string G_LAST = "Ostatnia >>";
    public static readonly string G_PREV = "< Poprzednia";
    public static readonly string G_NEXT = "Następna >";
    public static readonly string G_ACTION = "Akcja";
    public static readonly string G_ID = "ID";
    public static readonly string G_PAGE = "STRONA";
    public static readonly string G_OF = "z";
    public static readonly string G_FROM = "z";
    public static readonly string G_TO = "do";
    public static readonly string G_ALL = "-- Wszystkie";
    public static readonly string G_RECORDS = "Rekordów:";
    public static readonly string G_CHOOSE = "Wybierz:";
    public static readonly string G_BACK = "Wróć";
    public static readonly string G_VIEW_CHART = "Wyświetl wykres";
}
所以我可以在任何.cshtml视图中使用字符串,例如。 @朗格加 甚至 @Html。ActionLink@Lang.G_ADD,AddContract,新建{id=item.CONTRACT\u id}

尤其是它使我的应用程序对所有使用i18n的人来说更加友好。 现在,此解决方案在MVC4中不起作用:/

可用资源解决方案没有多大效果。想象一下,每次需要编写AppName.Properties.Resources.G_ADD时

此外,Resources.resx中的XML看起来很简单。非常

编写任何枚举资源的方法仍然只能部分地完成工作,因为这会使代码膨胀,而且我遵循的代码越少越好

请给我指一下正确的方向。此外,任何现成的解决方案都值得赞赏:


提前谢谢大家

如果您和您的本地化程序使用内置于VisualStudio中的资源编辑器,那么您和他们都不必直接与生成的XML交互。这是您对使用资源文件进行本地化最关心的问题吗?其想法是不让除开发团队以外的任何人访问源代码或IDE属性、许可、培训等内容。.cshtml文件几乎可以是纯文本文件,即使对于不熟练的翻译团队来说也更容易操作,但是好吧,谢谢你的想法,我已经弄乱了XML,并提供了i18n team simple XML web editor,以便他们可以动态地做出贡献: