In Delphi è disponibile un'opzione VersionInfo-> Lingua-> ID locale durante la visualizzazione delle proprietà del progetto.
Stavo girovagando su come impostare una proprietà di questo tipo per un programma compilato in Free Pascal.
Qualsiasi soluzione è benvenuta: argomento riga di comando o direttiva preprocessore come {$key value}
; equivalente a Delphi.Come informare Free Pascal Compiler per impostare l'ID locale per l'applicazione compilata
risposta
Se è possibile costruire i vostri progetti utilizzando *.lpi
file quindi vorrei provare ad aggiungere quanto segue nella lima del progetto Project.lpi
.Nel seguente frammento viene mostrato come impostare l'ID locale del progetto (per piattaforma Windows) su 0405 (ceco).
<?xml version="1.0"?>
<CONFIG>
<ProjectOptions>
...
<VersionInfo>
<UseVersionInfo Value="True"/>
<Language Value="0405"/>
<StringTable ProductVersion=""/>
</VersionInfo>
...
</ProjectOptions>
...
</CONFIG>
Oppure, se si utilizza Lazarus allora si potrebbe utilizzare per Delphi scheda delle impostazioni molto simili che si può aprire da Project/Project Options ...
e come in Delphi andare Version Info
dov'è la casella Language selection
combinata disponibile se si includono le informazioni sulla versione nel progetto.
Non sicuro al 100% che funzioni, sentitevi liberi di votarmi se questo non funziona.
Lazarus erediterà le impostazioni internazionali con cui inizia.
È possibile impostare le informazioni locale prima di iniziare Lazzaro in Linux/OS X utilizzando la riga di comando:
export LC_CTYPE="pt_BR"
export LANG="pt_BR"
export LANGUAGE="pt_BR"
./lazarus
l'applicazione compilata dovrebbe ereditare queste impostazioni.
La risposta è ispirata da this workaround a un errore è stato risolto.
Vi consiglio di dare un'occhiata anche a at the fpc forum e porre la domanda lì.
Non dimenticare che include dettagli come la piattaforma (Linux/Windows/OS X) e la versione esatta di FPC e Lazarus che stai utilizzando e le impostazioni internazionali che desideri.
migliore risposta
Da: http://forum.lazarus.freepascal.org/index.php/topic,5924.0.html
Infine, sono riuscito a trovare un modo semplice ed efficace per rendere la mia localizeable applicazione. Usa solo un'unità e nessun codice.
1. Aggiungi unità "defaulttranslator" all'elenco dei tuoi usi.
2. Abilitare "i18n" in "Opzioni progetto" e impostare "Directory di output PO" su "locale" o "lingue". È possibile inserire i file di traduzione direttamente nella cartella dell'applicazione, ma ciò farebbe solo un casino. Non dimenticare di creare una cartella appropriata.
3. Aggiungere componenti al modulo. Se hai già tutti i componenti nel modulo, dovrai spostarlo un po ', quindi sarà modificato.
4. Salvare il progetto.
5. Ora ci dovrebbero essere file .po nella cartella "locale" o "lingue". Per lingue diverse i file devono essere copiati e rinominati come "project1.XX.po", dove XX è il codice della lingua (ad esempio "en", "de", ecc.).
6. Tradurre i file .po con il software di traduzione e generare file .mo. Suggerisco di usare POEdit.
7. Eseguire l'applicazione e la traduzione da utilizzare verrà selezionata dalle impostazioni internazionali locali. Se è necessario testare un'altra lingua, è sufficiente avviare l'applicazione con i seguenti parametri della riga di comando: "-l XX" o "-lang XX", dove XX è un codice di lingua.
Questo metodo non è molto versatile, ma converte le stringhe di risorse e le proprietà dei componenti LCL.
In Lazarus è facile, c'è una scheda delle impostazioni del progetto molto simile. Queste impostazioni sono quindi memorizzate nei file '* .lpi' del progetto come questo' VersionInfo> ' –
TLama
@TLama, sembra un'ottima risposta, ti suggerisco di farne una, quindi possiamo votarla. – Johan
(1) Cosa ti aspetti esattamente di essere localizzato? (2) È improbabile che uno strumento portatile utilizzi una codepage di Windows. (3) se questo è solo D2009 +, tali cose sono ancora in lavorazione. –