Mal wieder was Neues aus der Schublade „choice.sh“ zum Bauen v.a. von Lightning. Es ist alles etwas übersichtlicher geworden, seitdem Sunbird ja nun wirklich fort ist und ich mit dem Script nur noch auf deutschsprachige Pakete ziele. Wo es einigermaßen Sinn macht, versuche ich mir nun das Hochsetzen von Versionsnummern (mit dem aktuellen Release-Zirkus ein häufig notwendiger Sport) mit Hilfe von Variablen einfacher zu machen.
„Mozilla-Build-Script v3“ weiterlesen
Schlagwort: Build
l10n-merge verwenden
Meistens ist es der Spieltrieb, machmal sind es Sachzwänge wie Bug 756116, gelegentlich Testzwecke – immer wieder ist die Versuchung groß, Kalenderpakete von Sunbird und Lightning selbst zu kompilieren – und zwar bitte schön mit deutschsprachiger Oberfläche, dafür machen wir den Übersetzungskram schließlich.
Einer der zahlreichen möglichen Stolpersteine bei diesem Vorhaben sind die unterschiedlichen Übersetzungsgewohnheiten innerhalb des de-Teams. Denn mit den unterschiedlichen Repositories im Rahmen des RapidRelease-Schemas kann für jedes Produkt aus der Mozilla-Familie an unterschiedlichen Stellen mit der Übersetzung angesetzt werden: Kümmert man sich mit l10n-central auch um die früheste Entwicklung? Oder mit dem Aurora-Kanal um etwas stabilere Entwicklungsergebnisse? Oder mit dem Beta-Kanal um solche, die es nicht mehr weit bis zur Veröffentlichung haben? Während der vergleichsweise kleine /calendar/-Zweig meist schon für die ‚central-Familie‘ übersetzt ist, wird die meiste andere Übersetzungsarbeit erst auf dem Aurora-Kanal geleistet. Für die letztendlich veröffentlichten stabilen Versionen ist das völlig egal, für die oben erwähnten Kompilier-Verlockungen allerdings nicht: Wenn z.B. die Thunderbird-Übersetzung auf l10n-central nicht komplett ist, kann von diesem Zweig in aller Regel auch kein deutschsprachiges Lightningpaket gebaut werden, weil der Vorgang dann irgendwann mit Fehlern wegen vermisster Dateien oder Einträge abbricht.
Damit genau das nicht passiert, wurde das Werkzeug l10n-merge erstellt und für diverse Build-Setups von Mozilla-Servern aktiviert. Es ist Teil von compare-locales, einem Script, mit dem man v.a. die Vollständigkeit einer Übersetzung prüfen kann. Mit l10n-merge lassen sich dann fehlende Übersetzungsteile durch englische Pendants ersetzen. Das war doch genau das, was ich zum Bauen deutschsprachiger Thunderbird-/Lightningpakete von comm-central/l10n-central gesucht habe!! Leider ist die Verwendung von l10n-merge nicht so richtig gut dokumentiert oder ich habe die wertvollsten Quellen einfach nicht gefunden – jedenfalls ließ sich die Chose nicht sofort fehlerfrei einrichten. Trotz l10n-merge brach das Kompilieren immer noch wegen fehlender Übersetzungsdateien ab!
Der Clou scheint zu sein, dass l10n-merge zwar fehlende Einheiten innerhalb vorhandener Übersetzungsdateien ergänzt, aber keine ganz fehlenden Übersetzungsdateien neu anlegt. Irgendwo habe ich gelesen, dass das ein Feature sein soll, also so gewollt ist. Ich will es aber nicht so, und daher ist mal wieder ein Skript-Gefrickel (merge-central.sh) entstanden, das eine Art Rundumschlag darstellt, aber eben funktioniert:
#!/bin/bash cd comm-central cp -r comm-central/mozilla/browser/locales/en-US/* de-merge/de/browser cp -r comm-central/calendar/locales/en-US/* de-merge/de/calendar cp -r comm-central/chat/locales/en-US/* de-merge/de/chat cp -r comm-central/mozilla/dom/locales/en-US/* de-merge/de/dom cp -r comm-central/mozilla/extensions/irc/locales/en-US/* de-merge/de/extensions/irc cp -r comm-central/mozilla/extensions/venkman/locales/en-US/* de-merge/de/extensions/venkman cp -r comm-central/mail/locales/en-US/* de-merge/de/mail cp -r comm-central/mozilla/mobile/locales/en-US/* de-merge/de/mobile cp -r comm-central/mozilla/netwerk/locales/en-US/* de-merge/de/netwerk cp -r comm-central/suite/locales/en-US/* de-merge/de/suite cp -r comm-central/mozilla/toolkit/locales/en-US/* de-merge/de/toolkit compare-locales -m enxde comm-central/calendar/locales/l10n.ini . de compare-locales -m enxde comm-central/mail/locales/l10n-central.ini . de cp -r de/* de-merge/de cp -r enxde/* de-merge/de |
Was passiert hier?
- Erst einmal werden alle englischen Sprachdateien, die für’s Kompilieren eine Rolle spielen könnten, in einen Ordner „de-merge“ kopiert. Damit geht mir später keine Datei mehr als fehlend durch die Lappen!
- Dann wird der Stand der de-Übersetzung mit compare-locales überprüft. Dabei wird auch l10n-merge angewandt, das dafür sorgt, dass um englische Bruchstücke ergänzte Sprachdateien vorübergehend im Ordner „enxde“ abgelegt werden.
- Anschließend werden alle deutschen Sprachdateien nach „de-merge“ kopiert. Entsprechende englische Dateien werden dabei überschrieben. Dateien, die es als de-Variante noch nicht gibt, bleiben in englischer Sprache erhalten.
- Zuguterletzt werden die durch l10n-merge erzeugten Dateien aus „enxde“ ebenfalls nach „de-merge“ kopiert. Manche in „de-merge“ schon vorhandene Dateien werden dabei überschrieben, da sie zwar vollständig ins Deutsche übersetzt, aber eben unvollständig waren. Ersetzt werden sie durch die ‚Hybriddateien‘, die deutschen und englischen Text aufweisen.
Für’s Bauen muss ich dann noch meine .mozconfig ändern, die Übersetzungsdateien liegen nun schließlich nicht mehr klassisch in „de“, sondern in „de-merge“: ac_add_options –with-l10n-base=../de-merge
Tja, lang hat’s gebraucht, um etwas ganz Kleines zu verstehen, nämlich den Schalter „-m“ von compare-locales. Aber immerhin komme ich nun wieder einfach an deutschsprachige Lightningpakete, unabhängig von (ganz legitimen) unterschiedlichen Übersetzungsgewohnheiten.
Bauen von Thunderbird/Lightning/Sunbird: Scripte_v2
Letztes Jahr habe ich etwas zu meiner „choice.sh“ geschrieben, mit der ich mir das Kompilieren so bequem wie möglich machen wollte.
Das Ansinnen ist geblieben, das Script ist im Laufe der Zeit immer mal wieder leicht geändert worden, nicht nur wegen diverser Versionsnummern, die anzupassen waren. Jetzt sind es also zwei Scripte, und für den Fall, dass irgendjemand irgendetwas damit anfangen kann, seien sie hier kurz vorgestellt (Wie beim letzten Mal: Achtung, WP-Syntax verfälscht hier wohl ein paar Zeichen, für Download siehe unten).
Die „choice.sh“ für die ‚aktuellen‘ Bauaufgaben sieht nun so aus und pfeffert damit auch endlich alle Fehlermeldungen ins Buildlog: „Bauen von Thunderbird/Lightning/Sunbird: Scripte_v2“ weiterlesen
Script für’s Bauen von Thunderbird/Lightning/Sunbird
Vermutlich bin ich längst nicht der einzige, der auf Dauer zu faul war, die immer gleichen Kommandos für’s Bauen von Thunderbird, Lightning oder Sunbird einzutippen?
Ich habe mir hier ein paar verschiedene mozconfigs je nach Anwendung und Konfiguration bereitgelegt und dann ein Script „choice.sh“ gefrickelt (Lachen verboten, unsereiner hatte dazu kein Seminar!), mit dem ich das Ziehen aktueller Quellen und das Kompilieren schön faul und zeitsparend anschubsen kann. „Script für’s Bauen von Thunderbird/Lightning/Sunbird“ weiterlesen
DE-Builds von Sunbird 1.0pre / Lightning 1.0pre (2009-02-16)
Gestern war’s wieder so weit:
Sunbird 1.0pre und Lightning 1.0pre in lecker DE für Win32 und Linux.
Kurzinfo und Download über’s Sunbird-Forum: http://www.sunbird-kalender.de/forum/viewtopic.php?f=8&t=2513
Eine der Neuerungen ist, dass nun das ICS-Format Standardvorschlag bei Export und Import ist – ein Fortschritt, der manchem Datenverlust entgegenwirken wird.
Falls es Anmerkungen v.a. zur Übersetzung gibt, wandern diese bitte in diesen Thread im Sunbird-Forum. Schönen Dank.
Viel Spaß beim Testen. 🙂
DE-Builds von Sunbird 1.0pre / Lightning 1.0pre (2009-02-09)
Gestern war’s wieder so weit:
Sunbird 1.0pre und Lightning 1.0pre in lecker DE für Win32 und Linux.
Kurzinfo und Download über’s Sunbird-Forum: http://www.sunbird-kalender.de/forum/viewtopic.php?f=8&t=2513
Falls es Anmerkungen v.a. zur Übersetzung gibt, wandern diese bitte in diesen Thread im Sunbird-Forum. Schönen Dank.
Viel Spaß beim Testen. 🙂
DE-Builds von Sunbird 1.0pre / Lightning 1.0pre (2009-02-01)
Es ist wieder so weit:
Sunbird 1.0pre und Lightning 1.0pre in lecker DE – und zwar nicht nur Win32, sondern auch Linux.
Kurzinfo und Download über’s Sunbird-Forum: http://www.sunbird-kalender.de/forum/viewtopic.php?f=8&t=2513
Dank der Unterstützung von wayne, dem verbliebenen und leise im Hintergrund waltenden Herrscher über Webspace und Accounts, werden die Testpakete jetzt nämlich direkt auf sunbird-kalender.de gehostet.
Für Lightning sollte man übrigens eine möglichst aktuelle Version von Shredder verwenden, sonst kann’s hier und da haken. Und unter Version 3.0b2pre geht ohnehin nicht.
Falls es Anmerkungen v.a. zur Übersetzung gibt, wandern diese bitte in diesen Thread im Sunbird-Forum. Schönen Dank.
Viel Spaß beim Testen. 🙂
DE-Builds von Sunbird 1.0pre / Lightning 1.0pre (2009-01-20)
Und weil’s so schön war, gleich noch mal:
Sunbird 1.0pre und Lightning 1.0pre in lecker DE – und zwar nicht nur Win32, sondern auch Linux. Weil die Übersetzungsdateien auf den Servern Alex sei Dank aktuell sind und sich gerade die Gelegenheit zum Bauen bot.
Download: http://www.nadelundhirn.de/krams/exten/?path=langpack/ (Ordner: 2009-01-20)
Für Lightning sollte man eine möglichst aktuelle Version von Shredder verwenden, sonst kann’s hier und da haken. Aber nicht den vom 20.1.!!
In Entwicklung und Übersetzung dürfte seit gestern nicht so furchtbar viel passiert sein – Interessierte werfen also bitte immer noch einen Blick ins Sunbird-Forum.
DE-Builds von Sunbird 1.0pre / Lightning 1.0pre (2009-01-19)
Zum letzten ersten Mal in diesem Jahr:
Win32-Pakete von Sunbird 1.0pre und Lightning 1.0pre in lecker DE.
Download: http://www.nadelundhirn.de/krams/exten/?path=langpack/ (Ordner: 2009-01-19)
Für Lightning sollte man eine möglichst aktuelle Version von Shredder verwenden, sonst kann’s hier und da haken.
Für Entwicklungs-Änderungen seit den letzten Paketen sowie Übersetzungs-Fortschritte werfen Interessierte bitte einen Blick ins Sunbird-Forum.
DE-Builds von Sunbird 1.0pre / Lightning 1.0pre (2008-12-31)
Zum letzten Mal in diesem Jahr:
Win32- und Linux-Pakete von Sunbird 1.0pre und Lightning 1.0pre in lecker DE.
Download: http://www.nadelundhirn.de/krams/exten/?path=langpack/ (Ordner: 2008-12-31)
Als kleine Bilanz verlinke ich hier einmal eine Aufstellung der seit der Veröffentlichung von Sunbird/Lightning 0.9 behobenen Fehler und sonstigen Verbesserungen – beachtlich, finde ich!! Viele Fortschritte!!
Auf dass es 2009 so weitergeht. Bis dahin.