3

国際化の申請を監査できるツール(無料/商用)はありますか?(または、必要に応じてローカリゼーションの準備)

主に興味がある:

多言語実装テスト

    例:  
    * [javascript] alert('おっと間違った選択です!');  
    * [java] String msg = resourcebundle.getString( "key.x")。concat( "4");  
    * [jdbc] String query = ".. order by abc"; //NLS_SORTまたはequivである必要があります。  

日付実装テスト

    例:  
    *ロケールなしで使用されるSimpleDateFormat  
    *使用されるApacheのDateFormatUtils  

数値実装テスト

    例:
    *ロケールなしで使用されるNumberFormat  

javascript-検証テスト

    例:
    * [javascript]checkIsDecimal{//小数点が「。」に対してチェックされます。}  
    *[javascript]ハードコードされた文字範囲[Az]  

乾杯。

4

3 に答える 3

2

Globalyzer をご覧ください - http://lingoport.com/globalyzer- まさに、国際化専用のコードに対して静的分析を実行するためのツールです。さまざまなプログラミング言語でも動作します。埋め込み文字列 (文字列の外部化機能も) の検出と修正、プログラミング言語と要件に応じた潜在的なロケール制限メソッド/関数/クラス、およびプログラミング パターンや埋め込み画像などのその他の問題をサポートします。良いスタートを切るためのデフォルトの「ルール セット」があり、その後、問題の検出とフィルタリングの両方についてルールをカスタマイズできます。さらに、作業中に i18n の問題にタグを付けたり追跡したりするのに役立つ基礎となるデータベースがあります。ルール セットを作成してチーム メンバーと共有するサーバー コンポーネントがあります。

于 2009-12-09T23:08:45.727 に答える
1

あなたの例に基づいて、ほとんどの場合、入力が国際化されていない出力を生成する関数を診断したいと考えています。

したがって、アラートのケースでは、よく知られているいくつかの翻訳ルーチンのいずれかによって生成されたものではない文字列を取得する印刷呼び出しを見つける必要があります。

jdbc の場合、ロケール固有ではない順序付けの制約を特定する必要があります。

さまざまな日付のケースに対して、ロケール固有の回答を生成することが知られている日付ルーチンが必要です。

JavaScript の検証は、意図を推測するのがより困難です。おそらく、特定のロケールに関連付けられていることが知られている関数を診断したいでしょう。これは日付のケースによく似ています。範囲チェックの場合、ある文字を別の文字と比較して大なり小なりすべてをキャプチャする必要があります。

ワイヤード ロケール関数の場合、その名前を知っているだけで十分であるように思われます (ただし、引数の数などによるオーバーロードの解決が必要になる場合があります)。 ?,?) でOKです。

正規表現を記述して (ヒューリスティックに) 悪いケースを探すことができないのはなぜですか?

範囲の場合、[exp] < [literal-char] または [exp] < [literal-string] の形式の式を認識する必要があるだけです。"< '.+" だけを探す正規表現で十分に思えます。

これらが見逃す一般的なケースはありますか?

編集(以下のコメントから:「私は正規表現を使用していますが...」)正規表現よりも深いツールが必要な場合は、言語の解析、名前/型の解決、およびデータフロー分析に行く必要があります役に立ちます。複数の (コンピューター) 言語を処理する必要があるため、ツールは多言語対応である必要があります。また、アプリケーションに関連する特定のケースをチェックするためにカスタマイズできるようにしたいようです。

DMS Software Reengineering Toolkitには、 Java、JavaScript、および SQL のパーサーを含む、これらすべてのプロパティがあります。カスタマイズできるように設計されているため、使用する前にカスタマイズする必要があります。

于 2009-07-23T06:11:31.960 に答える
0

私は IntelliJ IDEA のコード アナライザーを調べましたが、あなたが要求したものはあります。Java に特化した商用 IDE ですが、他の言語も認識します。

http://www.jetbrains.com/idea/

于 2009-07-07T06:13:31.240 に答える