Announcement

Collapse
No announcement yet.

Strings zur laufzeit ersetzen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Strings zur laufzeit ersetzen

    hallo,

    ich bin gerade ernsthaft am überlegen ob ich mir so ein übersetzungstool selber programmiere, weil ganzen fertigen sachen haben alle einen haken!

    angenommen ich habe alle zu übersetzenden strings in einer textdatei mit übersetzung!
    im oncreate vom formular muss dann meine translate-prozedur aufgerufen werden.
    wie finde ich alle KOMPONENTEN welche eine caption oder eine text-eigenschaft haben die übersetzt werden muss?

    gruß

    markus

    p.s. beispielcode wäre klasse!
    Herzliche Grüße

    Markus Lemcke
    barrierefreies Webdesign

  • #2
    Hallo Markus,<p>
    Deine Frage ist doch leider genau der Knackpunkt, warum die Tools in Deinen Augen scheitern! Eine solche universelle procedure gibt es nicht. Eine Komponente hat Caption und Hint, bei der anderen heißt es Lines und bei der nächsten Text. Nicht alles darf dabei immer übersetzt werden. Dass hängt nicht nur von dem Typ ab, sondern auch von der Instanz. <p>
    Letztendlich sieht Deine Lösung so aus. Du kannst auf Tools zurückgreifen, die versuchen einen Teil der Übersetzungen zu extrahieren. Alles werden diese nie erwischen und evtl. wird auch mal die falsche Eigenschaft rausgesucht.<p>
    Oder du programmierst Dir die Lösung vollständig selbst. In dem Falle würde ich aber nicht versuchen, eine Extraktionslösung zu erstellen, sondern einfach die Übersetzungen von Hand rauszuziehen und dann die Übersetzung manuell einzupflegen. Das bedeutet aber auch, dass Du alle Captions etc. selbst setzen musst.<p>
    Ich habe das in einem Projekt so gemacht, dass ich mir eine GetTextRoutine global hinterlegt habe, die mir zu einer Kurzbezeichnung aus einer Ini einfach den Wert ausliest. Die Sprachen schalte ich um, indem ich verschiedene Inis einlese. Die Formulare unterscheide ich, indem in jedem Form eine Konstante mit dem Eintrag der Sektion in der Ini ist. Die Konstante heißt immer gleich, so kann ich die GetText-Routine immer gleich aufrufen. Das war nicht soviel Arbeit und ich konnte alle Text überprüfen. Oft sind Texte ja nicht übersetzungsfreundlich abgelegt, wie z.B. <i>es wurden xxx Objekte erzeugt</i>. Entscheiden musst Du. Beispielcode kann ich Dir raussuchen, wenn diese Lösung interessant ist.<p>
    Mari
    Schöne Grüße, Mario

    Comment


    • #3
      hallo mario,

      das mit der ini klingt nicht schlecht! aber von 150 dateien die strings von hand rausziehen!
      diese GetTextRoutine wäre sehr interessant!
      vor allem wie du weisst welche string wohin kommt und wie du das mit menüs machst!

      gruß

      marku
      Herzliche Grüße

      Markus Lemcke
      barrierefreies Webdesign

      Comment

      Working...
      X