gpt4 book ai didi

jquery - 本地化不适用于 mvc4 应用程序中的按钮

转载 作者:行者123 更新时间:2023-12-01 05:56:31 28 4
gpt4 key购买 nike

我本地化了我的应用程序,它适用于标签、标题和错误消息。我在我的应用程序中使用了 jtable。但是按钮没有本地化。在 jtable.js 中我有

messages: {
serverCommunicationError: 'An error occured while communicating to the server.',
loadingMessage: 'Loading records...',
noDataAvailable: 'No data available!',
areYouSure: 'Are you sure?',
save: 'Save',
saving: 'Saving',
cancel: 'Cancel',
error: 'Error',
close: 'Close',
cannotLoadOptionsFor: 'Can not load options for field {0}'
}

但是如果我选择俄语,我应该会收到俄语的这些消息。为此,我尝试添加如下资源文件:

<script type="text/javascript">
(function ($) {
$.widget("hik.jtable", {
messages: {

serverCommunicationError: '@SEFTool.Resources.Models.ValidationStrings.serverCommunication',
loadingMessage: '@SEFTool.Resources.Models.ValidationStrings.loading',
noDataAvailable: '@SEFTool.Resources.Models.ValidationStrings.noData',
areYouSure: '@SEFTool.Resources.Models.ValidationStrings.Sure',
save: '@SEFTool.Resources.Models.ValidationStrings.Save',
saving: '@SEFTool.Resources.Models.ValidationStrings.Saving',
cancel: '@SEFTool.Resources.Models.ValidationStrings.Cancel',
error: '@SEFTool.Resources.Models.ValidationStrings.Error',
close: '@SEFTool.Resources.Models.ValidationStrings.Close',
cannotLoadOptionsFor: '@SEFTool.Resources.Models.ValidationStrings.cannotLoad'

}
});
});

但它不起作用..我如何将当前文化传递给js文件并调用其中的资源文件。

请帮助本地化按钮..

编辑:-

我创建了一个类

public static class MyGlobals
{
public static string serverCommunicationError;
.....
}

我给出的内部 View 是这样的。

@SEFTool.Models.Administration.MyGlobals.serverCommunicationError= '@SEFTool.Resources.Models.ValidationStrings.serverCommunication'

我在“@SEFTool.Resources.Models.ValidationStrings.serverCommunication”中使用俄语。但是该值没有传递给@SEFTool.Models.Administration.MyGlobals.serverCommunicationError.serverCommunicationError显示为空

编辑:-

在索引 View 中我已经这样做了......但是我没有得到输出

  <script type="text/javascript">

(function (global) {
var r = global.Resources || {};
r.serverCommunicationError = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.serverCommunication)';
r.loadingMessage = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.loading)';
r.noDataAvailable = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.noData)';
r.areYouSure = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.Sure)';
r.save = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.Save)';
r.saving = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.Saving)';
r.cancel = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.Cancel)';
r.error = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.Error)';
r.close = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.Close)';
r.cannotLoadOptionsFor = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.cannotLoad)';

global.Resources = r;
})(this);

$('#content_1').jtable({
title: '',
paging: true,
pageSize: 10,
sorting: true,
inlineEditor: false,
permissions: 'AED',

最佳答案

在您的 View (.cshtml) 中,设置以下脚本标记:

<script type="text/javascript">
(function(global) {
var r = global.Resources || {};
r.serverCommunicationError = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.serverCommunication)';
r.loadingMessage = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.loading)';
r.noDataAvailable = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.noData)';
r.areYouSure = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.Sure)';
r.save = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.Save)';
r.saving = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.Saving)';
r.cancel = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.Cancel)';
r.error = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.Error)';
r.close = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.Close)';
r.cannotLoadOptionsFor = '@Html.Raw(SEFTool.Resources.Models.ValidationStrings.cannotLoad)';

global.Resources = r;
})(this);
</script>

然后,在您的脚本文件中,像这样引用它:

messages: {
serverCommunicationError: Resources.serverCommunicationError,
loadingMessage: Resources.loadingMessage,
noDataAvailable: Resources.noDataAvailable,
areYouSure: Resources.areYouSure,
save: Resources.save,
saving: Resources.saving,
cancel: Resources.cancel,
error: Resources.error,
close: Resources.close,
cannotLoadOptionsFor: Resources.cannotLoadOptionsFor
}

请记住,第一个脚本标记必须在 js 文件中的代码之前调用,以便 Resources 对象可用。如果在你的 js 文件中等待 DOM 准备好,那么这不会有问题。另外,这只是我想到的第一个解决方案。也许这不是最好的,其他人知道更好的方法。我也对解决这个问题的不同方法感兴趣。

关于jquery - 本地化不适用于 mvc4 应用程序中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15130662/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com