2012-03-28 13 views
1

デンマークではDevExpressを使用してアプリケーションを作成しています。 しかしデンマーク語を話すためにDevExpressコントロールをローカライズする必要があります。しかし、私が仕事に行き、私の自己翻訳をする前に、私は誰かがすでにそれをやったかどうか疑問に思いました。 私はcxLocalizerEditorを使用して、翻訳された.iniファイルを作成しています。DevExpressをローカライズする

デンマーク語の翻訳は既に存在しますか?

誰かがカスタムリソース文字列のローカライズを行っていますか?私はそれを働かせることはできません。

  • 私が後で話すサンプルコードを追加するための編集ポスト。

例は次のとおりです。しかし、私はそれを全く働かせることはできません。 は を使用します。cxLocalization、dxCore、cxClasses、;

type 
    TForm1 = class(TForm, IdxLocalizerListener) 
    cxLocalizer1: TcxLocalizer; 
    constructor Create(AOwner: TComponent); override; 
    destructor Destroy; override; 
// ... 
    public 
    procedure TranslationChanged; 
    end; 
// ... 

procedure TForm1.Create(AOwner: TComponent); 
begin 
    dxResourceStringsRepository.AddListener(Self); 
    inherited Create(AOwner); 
end; 

procedure TForm1.Destroy; 
begin 
    dxResourceStringsRepository.RemoveListener(Self); 
    inherited; 
end; 

procedure TForm1.TranslationChanged; 
begin 
    Caption := cxGetResourceString(@sAppName); 
    // ... 
end; 

しかし、私は仕事に得ることができることである:(cxLanguage私はローカライザーUIと@sHpDbSettingsCaptionを使用したカスタムresourcestringsので作成したユニットは、単にランダムresourcestringです)

unit Unit1; 

interface 

uses 
    cxLocalization, dxCore, cxClasses, cxLanguage, 
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
    Dialogs; 

type 
    TForm1 = class(TForm, IdxLocalizerListener) 
    procedure FormShow(Sender: TObject); 
    private 
    public 
    procedure TranslationChanged; 
    end; 

var 
    Form1: TForm1; 

implementation 

{$R *.dfm} 

procedure TForm1.FormShow(Sender: TObject); 
begin 
    TranslationChanged; 
end; 

procedure TForm1.TranslationChanged; 
begin 
    Caption := cxGetResourceString(@sHpDbSettingsCaption); 
end; 


end. 
+0

あなたがかもしれません[ローカライズされたDevExpressアセンブリのコレクション](http://www.devexpress.c Om/Support/Center/p/A421.aspx) –

+1

@Nikola:リンク先のページは.NET製品に関するものです。 OPは[VCLコンポーネントをローカライズする方法](http://www.devexpress.com/Support/Center/p/K18138.aspx)を見てください。 –

+0

@UlrichGerhardtありがとう。私は 'delphi'タグを全く知らなかった。 –

答えて

3

私はdid't cxLocalizerEditorを使用しますが、ResourceStringの場合は、定数ユニットを作成してcxSetResourceStringで変換します。

unit craDevExpressConsts; 

interface 

uses 
    Classes, 
    cxClasses, 
    sysutils; 

//GetDevExpressResourceString changed in ChangeResourceStrings 
procedure ChangeResourceStrings;  
implementation 

uses 
    cxFilterConsts, 
    cxFilterControlStrs, 
    cxEditConsts, 
    cxGridStrs; 

procedure ChangeResourceStrings;  
begin 
    //================================ 
    // cxFilterControlStrs 
    //================================ 
    // cxFilterBoolOperator 
    cxSetResourceString(@cxSFilterBoolOperatorAnd, 'EN'); 
    cxSetResourceString(@cxSFilterBoolOperatorOr, 'OF'); 
    cxSetResourceString(@cxSFilterBoolOperatorNotAnd, 'NIET EN'); // not all 
    cxSetResourceString(@cxSFilterBoolOperatorNotOr, 'NIET OF'); // not any 
    cxSetResourceString(@cxSFilterFooterAddCondition, 'Selectie Toevoegen'); 


    //================================ 
    // cxEditConsts 
    //================================ 
    // Invalid input value. Use escape key to abandon changes. 
    cxSetResourceString(@cxSEditValidateErrorText, 'Ongeldige invoer waarde. Gebruik escape toets om wijzigingen te annuleren.'); 

    // Date 
    cxSetResourceString(@cxSDatePopupClear, 'Ledigen'); // Clear 
    cxSetResourceString(@cxSDatePopupNow, 'Nu'); // Now 
    cxSetResourceString(@cxSDatePopupOK, 'Ok'); // OK 
    cxSetResourceString(@cxSDatePopupToday, 'Vandaag'); // Today 
    cxSetResourceString(@cxSDateError, 'Ongeldige Datum'); // Invalid Date 

    ... 

end; 

end. 
+0

それはデンマーク語じゃないですか? :-) –

+0

いいえ、オランダ語、私はGoogle翻訳を使用します。 – Ravaut123

+0

Google翻訳?ローカリゼーションにも対応していますか? –

3

hereのVCL言語対応が存在します。私はデンマーク語で利用できるものは何も知らない。

カスタムリソース文字列のローカライズについて、あなたはあなたの正確な問題について十分に明らかにされていないが、いくつかの関連問題は、サポートセンターにあります。

cxLocalizerEditor - Make created custom resource units compilable with the {$TYPEDADDRESS ON} compiler directive

TcxLocalizer - Add the capability to create multiple custom products

なしている場合これらのヘルプのうち、DevExpressサポートフォーラムで新しい質問をすることをお勧めします。

+0

私はいずれかを見つけることができませんでしたので、私は自分自身を作るつもりです(スペルの誤りは私自身になります:-)) カスタムリソース文字列については、私の問題はマニュアルの中にある例は、私は走り出せません。私はネット上のサンプルを見つけることができませんでした。 resourcestringsの作成と翻訳は問題ありません。 – OZ8HP

+0

あなたは走らせることができないものについてもっと投稿できますか?私はあなたがリソースBPLを構築しなければならないと仮定しています。 –

+0

@Warren P:これは私が仕事に出ようとしているマニュアルの例です。私は現時点で私にマニュアルを持っていないが、私はこの日の後にいくつかの情報を掲示できるかどうかを見るだろう(今デンマークでは6時だ) – OZ8HP

0

の1-各制御classfor

using DevExpress.XtraGrid.Localization; 


using System;  
    using System.Collections.Generic; 
    using System.Linq; 

    class cls_GridLocalizer : GridLocalizer 
     { 
public override string Language { get { return "Arabic"; } } 
     public override string GetLocalizedString(GridStringId id) 
     { 
      string ret = ""; 
      switch (id) 
      { 
       case GridStringId.MenuColumnSortAscending: return "فرز تصاعدي"; 
       case GridStringId.MenuColumnSortDescending: return "فرز تنازلي"; 
       case GridStringId.MenuColumnClearSorting: return "الغاء 

الفرز"; 
        case GridStringId.MenuColumnGroup: return "تجميع حسب هذا العمود"; 
. 
. 
. 
. 
    default: 
        ret = base.GetLocalizedString(id); 

        break; 
      } 
      return ret; 
     } 
    } 
} 

2 - コールグリッドを含むフォームからクラスをローカライザーを作成します。

GridLocalizer.Active = new cls_GridLocalizer(); 

3 - がお楽しみ

this is arabic grid

関連する問題