AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Gettext verhindern, das ein bestimmtes Label übersetzt wird
Thema durchsuchen
Ansicht
Themen-Optionen

Gettext verhindern, das ein bestimmtes Label übersetzt wird

Ein Thema von DelphiManiac · begonnen am 20. Feb 2007 · letzter Beitrag vom 20. Feb 2007
Antwort Antwort
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#1

Gettext verhindern, das ein bestimmtes Label übersetzt wird

  Alt 20. Feb 2007, 09:36
Hallo,

ich hoffe ihr könnt mir weiterhelfen, ich nutze für meine Mehrsprachigkeit in meinen Programmen,
ich schalte die Language um:

  UseLanguage('en'); und lasse dann die Form übersetzten
  TranslateComponent(self); Mein Problem ist nun aber, dass ich ein Label habe, dass ich zur Laufzeit ändere, und da sollt auch nicht übersetzt werden.

Ich kann zwar Klassen von der Übersetzung rausnehmen, aber wie mache ich das mit einzelnen Objekten??

Danke euch!!!
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#2

Re: Gettext verhindern, das ein bestimmtes Label übersetzt w

  Alt 20. Feb 2007, 09:39
Ich mache das so:

Ich gebe jeder Component, die übersetzt werden soll einen Tag-Wert > 0.
Anschliessend durchlaufe ich mit FindComponent alle Components durch und prüfe ob der Tag > 0 ist. Wenn ja, dann wird der Text umgeschrieben ansonsten nicht.
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#3

Re: Gettext verhindern, das ein bestimmtes Label übersetzt w

  Alt 20. Feb 2007, 09:46
Hi,

es gibt ja die Möglichkeit über ein Ignore,
aber das klappt bei mir nicht:

Delphi-Quellcode:
  TP_Ignore(self,lblVersion.Caption);
  TP_Ignore(Self,lblSuperUserMode.Caption);
  TranslateComponent(self);
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Gettext verhindern, das ein bestimmtes Label übersetzt w

  Alt 20. Feb 2007, 09:49
Prinziell ist e gettext, egal, was in den einzelnen Komponenten zum Übersetzen drin steht. Entweder ist eine Übersetzung da oder nicht.

Nach TranslateComponent(self) musst Du also die Caption der entsprechenden Labels selbst auf den gewünschten Inhalt setzen.

Beim Umstellen der Sprache zur Laufzeit sollte übrigens ReTranslateComponent aufgerufen werden, wenn das Formuar bereits einmal übersetzt wurde.
Sven Harazim
--
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Gettext verhindern, das ein bestimmtes Label übersetzt w

  Alt 20. Feb 2007, 09:50
bei TP_Ignore ist die Klasse und der Name des Labels gefragt, also z.B. Label1

ein Blick in die Quellen bringt Klarheit:

Delphi-Quellcode:
procedure TGnuGettextInstance.TP_Ignore(AnObject: TObject;
  const name: string);
begin
  TP_IgnoreList.Add(uppercase(name));
  {$ifdef DXGETTEXTDEBUG}
  DebugWriteln ('On object with class name '+AnObject.ClassName+', ignore is set on '+name);
  {$endif}
end;
Sven Harazim
--
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#6

Re: Gettext verhindern, das ein bestimmtes Label übersetzt w

  Alt 20. Feb 2007, 10:00
Hi,
ich nutzte GnuGettext von folgender Homepage
http://dybdahl.dk/dxgettext/

die Unit hat leider kein ReTranslateComponent...

bei mir sieht die Methode so aus:

Delphi-Quellcode:
procedure TGnuGettextInstance.TP_Ignore(AnObject: TObject;
  const name: string);
begin
  TP_IgnoreList.Add(uppercase(name));
end;
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#7

Re: Gettext verhindern, das ein bestimmtes Label übersetzt w

  Alt 20. Feb 2007, 12:22
Hallo,

anscheinend habe ich eine ganz andere Gettext Version wie alle anderen hier

Könnt ihr mir evtl. eine direct Link angeben, damit ich mir auch die Version herunterladen kann?

Danke euch!
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.643 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Gettext verhindern, das ein bestimmtes Label übersetzt w

  Alt 20. Feb 2007, 12:57
Bis auf den DEBUG-Switch sieht Deine Methode doch auch so aus.

Ich hab meine Version per SVN geholt. Den Link findest Du auf der von Dir genannten Seite.
Sven Harazim
--
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#9

Re: Gettext verhindern, das ein bestimmtes Label übersetzt w

  Alt 20. Feb 2007, 16:00
Hi,

ja bei der Funktion ja, aber es gibt kein ReTranslateComponent in meiner Version

Ich hol mir auch mal die aktuellste per SVN.

Danke dir (euch)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz