Hallo Lazarusgemeinde
Gibt es bereits für Lazarus ein Package was die BCP-47 kann?
Ich habe dazu ein paar Internetseiten besucht und gelesen
https://tools.ietf.org/search/bcp47
https://www.w3.org/International/articl ... s/index.en
https://www.iana.org/assignments/langua ... g-registry
Ich würde das alles gerne als Package haben wollen, um es effizient in verschiedene Projekte einzubinden.
EDIT:
Es gibt nun ein Package.
[gelöst] BCP-47 (IETF Language Tags)
[gelöst] BCP-47 (IETF Language Tags)
Zuletzt geändert von hubblec4 am Di 19. Okt 2021, 02:15, insgesamt 1-mal geändert.
Re: BCP-47 (IETF Language Tags)
Sind damit die Länderabkürzungen "de", "en", "fr" etc gemeint? In der Unit gettext gibt es die Routine GetLanguageIDs, mit der du die Spracheinstellung des Systems abfragen kannst (bzw ähnlich auch LazGetLanguageIDs in LazUTF8):
In den Units Translations und LCLTranslator kannst du die Länderabkürzungen verwenden, um entsprechende übersetzte Sprachdateien zu verwenden.
https://wiki.lazarus.freepascal.org/Tra ... r_programs
https://wiki.lazarus.freepascal.org/Eve ... anslations
https://wiki.lazarus.freepascal.org/Ste ... plications
Code: Alles auswählen
uses
gettext;
procedure TForm1.FormCreate(Sender: TObject);
var
lang, fblang: String;
begin
GetLanguageIDs(lang, fblang);
Caption := Format('%s (%s)', [lang, fblang]);
end;
https://wiki.lazarus.freepascal.org/Tra ... r_programs
https://wiki.lazarus.freepascal.org/Eve ... anslations
https://wiki.lazarus.freepascal.org/Ste ... plications
Re: BCP-47 (IETF Language Tags)
Hi wp_xyz
Also BCP-47 ist mehr als nur Ländercodes. Es ist ein komplexes System aus Sprachen-ErweiterteSprachen-Länder-und-noch-mehr codes, welche als Tags dargestellt werden.
Gut erklärt ist das in dem Link zu w3.org.
Mein problem sind die vielen RFC's die da verwendet werden, mit ihren laaangen Listen an Code-Kürzeln. So richtig, habe ich keine vollständigen Listen gefunden.
Also BCP-47 ist mehr als nur Ländercodes. Es ist ein komplexes System aus Sprachen-ErweiterteSprachen-Länder-und-noch-mehr codes, welche als Tags dargestellt werden.
Gut erklärt ist das in dem Link zu w3.org.
Mein problem sind die vielen RFC's die da verwendet werden, mit ihren laaangen Listen an Code-Kürzeln. So richtig, habe ich keine vollständigen Listen gefunden.
-
- Beiträge: 320
- Registriert: Sa 21. Mär 2009, 17:31
- OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
- CPU-Target: 64 Bit
Re: BCP-47 (IETF Language Tags)
Wie kann?hubblec4 hat geschrieben: Fr 2. Jul 2021, 16:44
Gibt es bereits für Lazarus ein Package was die BCP-47 kann?
In meinen Internet Tools baue ich BCP-47-Codes für Stringvergleiche mit Unicode collations über libicu
Re: BCP-47 (IETF Language Tags)
Naja, so das man halt in seinem Tool direkt auf die ganzen Listen zugreifen kann.
Um zum beispiel eine Combobox zubefüllen oder eine Listview usw.
Des weiteren gibt es ja auch bestimmte Abhängigkeiten: So zum beispiel für die ExtLang, da dürfen nur bestimmte Erweiterungen mit bestimmten Sprach-codes kombiniert werden.
Oder das verwenden der Scripts welche auch nur für bestimmte Sprach-Codes verwendet werden Dürfen/sollten.
dann muss ja so ein BCP-47 tag geparst werden, dabei sollte der Tag-String gültig sein und die ausgelesenen Codes der jeweiligen Sprache zugeordnet werden können.
Immerhin habe ich jetzt schonmal vollständige Listen "gefunden" welche vom DEBIAN Team bereitgestellt werden.
https://salsa.debian.org/iso-codes-team/iso-codes/
das sind zwar erstmal "nur" die für die Sprachen, Länder und Scripts...
und für Extended-language und Sprach-Varianten kann man direkt die von IANA nutzen
https://www.iana.org/assignments/langua ... g-registry
Und all diese Listen und dessen interne logik möchte ich gern als Package haben.
Ich habe da auch schon selbst mal angefangen eines zu basteln und werde es vielleicht weiter machen.