Wie Sie Free Pascal Compiler informieren, um die Gebietsschema-ID für die kompilierte Anwendung festzulegen

8

In Delphi gibt es eine Option VersionInfo- & gt; Sprache- & gt; Gebietsschema ID beim Anzeigen von Projekteigenschaften.
Ich war am Wandern, wie man solche Eigenschaft für ein Programm setzt, das unter Free Pascal kompiliert wird.
Jede Lösung ist willkommen: Kommandozeilenargument oder Präprozessordirektive wie zB {$key value} ; Äquivalent zu Delphi.

    
algorytmus 17.02.2012, 10:08
quelle

2 Antworten

8

Wenn Sie Ihre Projekte mit *.lpi -Dateien erstellen können, würde ich versuchen, Folgendes in die Project.lpi -Datei Ihres Projekts einzufügen. Im folgenden Snippet wird gezeigt, wie die Gebietsschema-ID des Projekts (für Windows-Plattform) auf 0405 (Tschechisch) gesetzt wird.

%Vor%

Oder wenn Sie Lazarus IDE verwenden, dann könnten Sie zu Delphi sehr ähnliche Einstellungen Tab verwenden, die Sie von Project / Project Options ... öffnen können und wie in Delphi gehen Sie zu Version Info wo ist das Language selection Kombinationsfeld verfügbar, wenn Sie das einschließen Versionsinfo in das Projekt.

    
TLama 17.02.2012, 10:57
quelle
5

Nicht 100% sicher, dass das funktionieren wird, fühlen Sie sich frei, mich zu stimmen, wenn das nicht funktioniert.

Lazarus erbt die Gebietsschemaeinstellungen, mit denen es beginnt.
Sie können die Länderinformationen vor dem Start von Lazarus unter Linux / OS X über die Befehlszeile festlegen:

%Vor%

Ihre kompilierte Anwendung sollte diese Einstellungen übernehmen.

Die Antwort wurde von dieser Problemumgehung inspiriert zu einem Fehler wurde seitdem behoben.

Ich empfehle Ihnen, im fpc-Forum zu schauen und dort die Frage zu stellen .
Vergiss nicht, dass es Details wie die Plattform (Linux / Windows / OS X) und die genaue Version von FPC und Lazarus, die du verwendest, sowie das tatsächliche Locale, das du willst, enthält.

Bessere Antwort
Von: Ссылка

  

Schließlich habe ich eine einfache und effektive Möglichkeit gefunden, meine Anwendung lokalisierbar zu machen. Es verwendet nur eine Einheit und keinen Code.
  1. Fügen Sie der Verwendungsliste die Einheit "defaulttranslator" hinzu.
  2. Aktivieren Sie "i18n" unter "Projektoptionen" und setzen Sie "PO-Ausgabeverzeichnis" auf "Gebietsschema" oder "Sprachen". Sie können Übersetzungsdateien direkt in den Anwendungsordner stellen, aber das würde nur zu einem Durcheinander führen. Vergiss nicht, einen passenden Ordner zu erstellen.
  3. Fügen Sie dem Formular Komponenten hinzu. Wenn Sie bereits alle Komponenten auf Ihrem Formular haben, müssen Sie es ein wenig verschieben, damit es geändert wird.
  4. Speichern Sie Ihr Projekt.
  5. Nun sollte es .po Dateien in Ihrem "locale" oder "languages" Ordner geben. Für verschiedene Sprachen sollten Dateien kopiert und umbenannt werden, wie zum Beispiel "project1.XX.po", wobei XX für den Sprachcode steht (z. B. "en", "de" usw.).
  6. Übersetzen Sie .po-Dateien mit einer Übersetzungssoftware und generieren Sie .mo-Dateien. Ich schlage vor, POEdit zu verwenden.
  7. Führen Sie Ihre Anwendung aus, und die zu verwendende Übersetzung wird anhand Ihrer regionalen Gebietsschemaeinstellungen ausgewählt. Wenn Sie eine andere Sprache testen möchten, starten Sie Ihre Anwendung einfach mit den folgenden Befehlszeilenparametern: "-l XX" oder "-lang XX", wobei XX ein Sprachencode ist.
  Diese Methode ist nicht sehr vielseitig, aber sie übersetzt Ressourcenzeichenfolgen und LCL-Komponenteneigenschaften.

    
Johan 17.02.2012 10:30
quelle

Tags und Links