So erstellen Sie ein neues Systemgebietsschema

7

Daher möchte ich eine Art internationales US-Englisch-Gebietsschema mit Metrik / SI-Messung, A4-Papierformat, ISO-Datumsformat usw. erstellen.

Soweit ich weiß, sind Gebietsschemas in definiert /usr/share/i18n/locales. Kann ich das Gebietsschema hier einfügen und bei der Auswahl eines Gebietsschemas erkennen lassen? Wie würde ich die Datei für dieses Gebietsschema benennen? Wo finde ich Informationen zum Dateiformat und zu gültigen Werten für die verschiedenen Einstellungen?

TriforceOfKirby
quelle
Ich denke, es ist möglich zu tun, was Sie wollen. Aber bevor Sie sich viel Mühe geben, haben Sie das en_DK.UTF-8Gebietsschema untersucht, das standardmäßig bei jeder Ubuntu-Installation mitgeliefert wird?
Gunnar Hjalmarsson
@GunnarHjalmarsson Ja, ich weiß, ich könnte ein vordefiniertes Gebietsschema verwenden, das fast den gleichen Effekt hat wie das, was ich erreichen möchte, aber ich würde gerne wissen, wie man ein Gebietsschema unabhängig davon erstellt.
TriforceOfKirby

Antworten:

7

Auf den Wiki-Seiten finden Sie Dokumentationen, in denen beschrieben wird, wie Sie Ubuntu eine neue Sprache hinzufügen . In einer Nussschale:

  1. Wählen Sie den Namen des Gebietsschemas . Das Format ist language_REGION@modifier, wenn die Sprache ein aus zwei Buchstaben bestehender ISO 639-2-Code ist (oder der aus drei Buchstaben bestehende, wenn der erstere nicht verfügbar ist), REGION ein ISO 3166-Code ist, der die Region darstellt, in der diese Sprache gesprochen wird, und der Modifikator keine hat Legen Sie die Syntax fest und können Sie verwenden, um erweiterte Verwendungen für das Gebietsschema anzugeben (z. B. ein anderes Skript). Die meisten Gebietsschemas benötigen keinen Modifikator.

    • Beispiele: bn_ID ist das Gebietsschema für Bengali in Indien, it_CH ist das Gebietsschema für Italienisch in der Schweiz.
  2. Erstellen Sie eine Datei mit diesem Namen . Sobald der Name ausgewählt wurde, müssen Sie eine Datei mit diesem Namen erstellen, die die Definition Ihres Gebietsschemas enthält. Beachten Sie, dass Sie möglicherweise unterschiedliche Dateien erstellen müssen, eine für jede Region, wenn Ihre Sprache in verschiedenen Regionen gesprochen wird.

    • Beispiel: ca_AD, ca_ES, ca_FR, ca_IT sind Gebietsschemadefinitionen für die katalanische Sprache, wie sie in den Regionen Andorra, Spanien, Frankreich und Italien gesprochen werden.
  3. Definieren Sie das Gebietsschema . Zu diesem Zeitpunkt müssen Sie die Datei mit der Definition Ihrer Sprache füllen. Gebietsschema-Definitionsdateien haben eine bestimmte Syntax. Informationen zu dieser Syntax und zum Definieren des neuen Gebietsschemas finden Sie in den folgenden zusätzlichen Ressourcen. Das Durchsuchen der verfügbaren Gebietsschemadateien in den glibc-Quellen kann hilfreich sein, um sich ein Bild vom Format zu machen. Denken Sie auch an die Wiederverwendung: Verwenden Sie die Anweisung copy, um Abschnitte aus Gebietsschemas mit identischem Inhalt einzuschließen.

  4. Testen Sie die Gebietsschemadefinition . Sobald Ihre Gebietsschemadatei oder Dateien fertig sind, sollten Sie sie lokal testen, um sicherzustellen, dass sie korrekt sind. Die grundlegenden Schritte sind:

    • Kopieren der Datei nach /usr/share/i18n/locales/,
    • Führen Sie den folgenden Befehl aus, um eine Binärdatei zu generieren, die von Anwendungen verwendet werden soll, und führen Sie den eigentlichen Test durch.

      localedef -i inputfile -c -f <charset> <locale>
      

    Beispiel (Testen des asturischen Gebietsschemas mit dem Befehl date):

    cp ast_ES /usr/share/i18n/locales/ast_ES
    localedef -i ast_ES -c -f ISO-8859-15 ast_ES
    LANG=ast_ES date
    

Zusätzliche Ressourcen zum Erstellen eines glibc-Gebietsschemas:

David Planella
quelle
1
Ich habe dies verwendet, um ein Gebietsschema en_SE zu erstellen, um die gleichen Werte für KDE5 und den Rest des Systems zu erhalten. Neuere KDEs machen en_DK nicht.
Kaleissin
2

Kompilieren Sie Ihr Gebietsschema mit:

sudo localedef -i custom -f UTF-8 custom.UTF-8 -c -v 

Dabei ist benutzerdefiniert der Name Ihrer Gebietsschemadatei und kopieren Sie die Gebietsschemadatei unter /usr/share/i18n/locales/als sudo locale-genund ändern Sie /etc/environmentoder ~/.profile. erledigt !!!

What would I name the file for this locale? 

Sie können einen beliebigen Namen Ihres Einheimischen angeben

Would I be able to put the locale in here and have it be recognized when choosing a locale?

Sie müssen das benutzerdefinierte Gebietsschema in /etc/environmentoder angeben~/.profile

Where could I find information on file format and valid values for the various settings?

Weitere Informationen finden Sie unter diesem Link: Wie kann ich ein Systemgebietsschema anpassen? und http://lh.2xlibre.net/locales/

pl_rock
quelle
Vielen Dank! Für den Dateinamen habe ich diese Seite auf Wikipedia für Ländercodes gefunden. Es scheint, dass die XA-XZ-Codes für den Benutzer bestimmt sind. Wäre die Verwendung von en_XZ beispielsweise sicher? Angenommen, Ubuntu wird diese Codes in Zukunft nicht mehr verwenden und möglicherweise meine Datei überschreiben?
TriforceOfKirby
Ja, die Ländercodes AA, QM-QZ, XA-XZ und ZZ können von Benutzern verwendet werden. du kannst es benutzen . Ubuntu wird niemals überschreiben.
pl_rock