anchor.diff:    inherited Create(nil);
     FLanguages := TStringList.Create;
     FCustStorageFilename := ACustStorageFilename;
  -//  FCustStorage := ACustStorage;
  -//  FMessages := TCustomisationMessages.Create;
  -//  FSections := TStockMessageSections.Create;  // I3217
  -  //FDomain := WideChangeFileExt(WideExtractFileName(FCustStorage.FileName), '');
  -  //DefaultInstance.bindtextdomain(FDomain, LocalePath); //ExtractFilePath(FCustStorage.FileName)+'locale\');
     Load(ALoadLocale);
   end;
   
   destructor TCustomisationMessageManager.Destroy;
   begin
  -//  FreeAndNil(FSections);  // I3217
  -//  FreeAndNil(FMessages);
     FreeAndNil(FLanguages);
     inherited Destroy;
   end;
  
positive.code:   SysUtils,
    Classes,
    TypInfo,
  //  CustomisationStorage,
  //  StockFileNames,
  //  StockMessages,
    msxml;
  
  type
  (*  TCustomisationMessage = class(TCollectionItem)
    private
      FValue: WideString;
      FID: string;
  //  public
  //    function TranslatedValue(const localedoc, defaultlocaledoc: IXMLDOMDocument): WideString;
    published
      property ID: string read FID write FID;
      property Value: WideString read FValue write FValue;
    end;
  
    TCustomisationMessages = class(TCollection)
    private
      function GetItem(Index: Integer): TCustomisationMessage;
      procedure SetItem(Index: Integer; const Value: TCustomisationMessage);
    public
      constructor Create; reintroduce;
      destructor Destroy; override;
      function Add: TCustomisationMessage;
      property Items[Index: Integer]: TCustomisationMessage read GetItem write SetItem; default;
    end;
  *)
  
    TCustomisationMessageManager = class(TComponent)
    private
      FLanguageCode: string;
  //    FCustStorage: TCustomisationStorage;
  //    FCustFile: TCustFile;
  //    FMessages: TCustomisationMessages;
      FLocaleDoc: IXMLDOMDocument;
      FDefaultLocaleDoc: IXMLDOMDocument;
      FLanguages: TStringList;
      FCustStorageFilename: string;
  //    FSections: TStockMessageSections;  // I3217
  //    procedure SetSections(const Value: TStockMessageSections);  // I3217
  //    procedure SetMessages(const Value: TCustomisationMessages);
      procedure SetLanguageCode(Value: string);
      function GetAvailableLanguages: string;
      procedure LoadLocale;
  
negative.code:     constructor Create(ACustStorageFilename: string; ALoadLocale: Boolean = True); reintroduce;
      destructor Destroy; override;
      procedure Load(ALoadLocale: Boolean = True);
      function MessageFromID(ID: WideString): WideString; overload;
      function MessageFromID(ID, LanguageCode: WideString): WideString; overload;
      function GetLocalePathForLocale(LocaleName: WideString): WideString;
      procedure GetDialogParameters(DialogName: WideString; var FWidth: Integer; var FHeight: Integer);
    published
      property AvailableLanguages: string read GetAvailableLanguages;
      property LanguageCode: string read FLanguageCode write SetLanguageCode;
    end;
  
  implementation
  