「値を指定してください:」を変更したい

SharePointを使い始めてどうにも納得いかない点のひとつがこれ。複数選択肢列で[選択肢を追加できるようにする]オプションを有効にした際に表示される「値を指定してください:」です。

いえ、役立つ、というかあって当然の機能だとは思うのです。
しかし、和訳が頂けません。
「値を指定して下さい:」─意味不明です。
大抵のユーザはここで「??」になります。
おそらく英語ならきちんと意味が通るのでしょうが、日本語としてはかなりアレです。

エンドユーザからその都度「変更できないのか」と言われるので、どこかの設定ファイルに書かれているのではないかと、フロントの中を結構探してみたりもしたのですが発見出来ず。
結局、Javascriptで強制的に書き換えてしまうことにしました。

以下のスクリプトを、SharePoint Designer で NewForm.aspx および EditForm.aspx のソースに埋め込むか、コンテンツエディタを挿入してソースに記述の上、非表示設定して下さい。

[code lang=”html”]
<script type="text/javascript">
_spBodyOnLoadFunctionNames.push( "changeMongon" );
function changeMongon()
{
var label = document.getElementsByTagName("label");
for (i=0 ; i < label.length ; i++){
var str = label(i).innerText;
if (str == "値を指定してください:"){
label(i).innerText = "上記以外の場合:";
}
}
}
</script>
[/code]
変更後:

処理自体は恥ずかしいくらい単純で、ソースからノードを全て列挙して、値が「値を指定してください:」だった場合、別の文言に書き換えているだけです。
ある程度汎用性がありますので、js ファイルにして外部化しても良いかもしれません。


これまでのコメント

  1. yusaku より:

    AGENT: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1045 Safari/532.5
    補足ですが、「値を指定して下さい:」メッセージはDLL内で定義されているため、大元を変えるのは不可能なようです。

  2. saruhiko より:

    AGENT: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; CIBA)
    ありがとうございます!
    やはりそうなんですか…。
    別にSharePointに限った話ではありませんが、こういうシステム系文言は定義ファイルかなにかで管理者が自由に変更できるといいんですけどね。

  3. mamao2 より:

    AGENT: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 Jingoo/0.1.4
    私も気になったので調べていました。
    たどり着いたのはyusakuさんの仰るようにDLLでした。

    どうやらSharepointのDLLのうち選択肢のコントロールを司るクラスで、
    選択肢の表示テキストが空っぽだと
    Microsoft.SharePoint.Intl.Resources.dll
    に入っている文字列リソースを使って表示するようです。
    このDLLはwindows\\assmbly内に取り込まれていて通常は見えないようです。

    ここに入ってると手が出ないんですよねぇ。
    というわけでやはりJavaScriptで書き換えてしまうほか無いようです。

    この「値を指定してください」という文字列は英語表記では「Specify your own value」となるようでして、
    同様にJavaScriptで書き換えることで解決した例があるみたいです。
    http://social.msdn.microsoft.com/Forums/en-US/sharepointcustomization/thread/d296a98e-c2b4-4c61-8bf4-627ba0754fb7

    こういう文字列はresxファイルにするなりしてほしいですよね。(-_-;

  4. saruhiko より:

    AGENT: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; YTB720; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; CIBA)
    おお、詳細なご説明ありがとうございます。
    勉強になりました。
    \”Specify your own value\”ならまだ許容範囲なのですがねぇ。
    というか、外人もやはり同じ点に不満を持っているのが判ってちょっと安心しました(笑)
    教えて頂いた例の方は、なんとマスタページに埋め込んでるんですね!
    確かに都度設定するよりは便利ですが…勇気あるなぁ…。

login

Author

中村 和彦(シンプレッソ・コンサルティング株式会社 代表)が「ユーザ視点の SharePoint 情報」を発信します。元大手製造業 SharePoint 運用担当。現SharePoint コンサルタント。お仕事のお問い合わせはこちらまでお願いします。当ブログにおける発信内容は個人に帰属し所属組織の公式発信/見解ではありません。
FB : 中村 和彦
blog: Be・Better!
MS MVP SharePoint 2009/10-2011/9
MS MVP Office 365 2012/10-2014/9