From: robert Date: Fri, 20 Feb 2004 13:34:01 +0000 (+0000) Subject: adding slides page and the slides themselves X-Git-Url: https://git-public.kairo.at/?p=slides.git;a=commitdiff_plain;h=3288eeda071240bbe345f72e822db749ca23fcd1 adding slides page and the slides themselves --- 3288eeda071240bbe345f72e822db749ca23fcd1 diff --git a/fosdem2002/ChromeTalk-outliner.html b/fosdem2002/ChromeTalk-outliner.html new file mode 100755 index 0000000..45a5614 --- /dev/null +++ b/fosdem2002/ChromeTalk-outliner.html @@ -0,0 +1,22 @@ + + + Mozilla Dev Meeting Europe 2002 + + + +

Outliner of Chrome - L10n/Themes talk

+

by Robert Kaiser <KaiRo@KaiRo.at>

+ +<outliner id="chrome_l10n_themes_talk" flex="until 18:00"> +
  <outlinercols> +
    <outlinercol id="WhatChrome" label="What is this chrome stuff anyway?"> +
    <outlinercol id="MozChrome" label="What is chrome in Mozilla?"> +
    <outlinercol id="ChromeURLs" label="How can content find its locale and skin files?"> +
    <outlinercol id="ChromeRegistry" label="How does Mozilla know what/where chrome is installed?"> +
    <outlinercol id="contents.rdf" label="How can chrome packs give their info to chrome registry?"> +
  </outlinercols> +
  <outlinerchildren id="discussion"/> +
</outliner> + + + diff --git a/fosdem2003/MT502_chromeview.png b/fosdem2003/MT502_chromeview.png new file mode 100755 index 0000000..80885e4 Binary files /dev/null and b/fosdem2003/MT502_chromeview.png differ diff --git a/fosdem2003/MT502_update.png b/fosdem2003/MT502_update.png new file mode 100755 index 0000000..74e8906 Binary files /dev/null and b/fosdem2003/MT502_update.png differ diff --git a/fosdem2003/file.gif b/fosdem2003/file.gif new file mode 100755 index 0000000..52f8e13 Binary files /dev/null and b/fosdem2003/file.gif differ diff --git a/fosdem2003/folder-closed.gif b/fosdem2003/folder-closed.gif new file mode 100755 index 0000000..f2f4f9b Binary files /dev/null and b/fosdem2003/folder-closed.gif differ diff --git a/fosdem2003/folder-open.gif b/fosdem2003/folder-open.gif new file mode 100755 index 0000000..f0d866f Binary files /dev/null and b/fosdem2003/folder-open.gif differ diff --git a/fosdem2003/index.html b/fosdem2003/index.html new file mode 100755 index 0000000..542d92b --- /dev/null +++ b/fosdem2003/index.html @@ -0,0 +1,65 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + + + +

Localization (L10n): Achievements and Future Directions

+ +
+This talk will give a short insight of + +There will be enough time for discussion of this between slides and after the presentation. +
+ +
+

Speaker: Robert Kaiser <KaiRo@KaiRo.at>

+
+
    +
  • Living in Steyr, Upper Austria, and attending Vienna University to become a Chemistry and Physics teacher
  • +
  • Known as "KaiRo" on IRC
  • +
  • Maintainer of the Mozilla German Project (http://mozilla.kairo.at/, + sometimes called "German (Austria)" because of it's internal name of "de-AT") + since late 1999, first German Mozilla version was M12, released at 2000-01-01. + Counting Download numbers of ftp.mozilla.org, Mozilla German seems to be the most-used Mozilla Localization.
  • +
  • Creator of EarlyBlue and LCARStrek themes
  • +
  • Recently contributing some smaller things to main Mozilla trunk, like + resolving breakage of language switching pref panel, localeVersion updates, + making about:plugins themable ("make it look better") and localizable
  • +
+
+
+ +
+

The slides

+
+This presentation was created for the European Mozilla Developer Meeting 2003 at +FOSDEM in Brussels. +
The slides for this talk are written in HTML 4.01 Strict and CSS. +
You need to turn on Mozilla's "Site Navigation Bar" for navigating through the slides. +Click "Next" to start with the first slide from this index page. "Start" will take you back to this index from all the slides. +
There's now an overview page that allows access of all slides without the navigation bar + - and remember to look at the problems slide! +
All slides and images © 02/2003 Robert Kaiser. +
+
+ + + diff --git a/fosdem2003/l10ntalk.css b/fosdem2003/l10ntalk.css new file mode 100755 index 0000000..86ea90b --- /dev/null +++ b/fosdem2003/l10ntalk.css @@ -0,0 +1,148 @@ +/* styles fpr L10n talk slides */ + +body { + margin: 0px; + padding: 3px; + border: 0px; + font-family: Arial,Helvetica,sans-serif; + font-size: 16px; + color: black; + background-color: white; + +} + +h1 { + margin: 0.5em; + font-size: 32px; + font-weight: bold; + text-align: center; +} + +h2 { + margin: 0.5em; + font-size: 28px; + font-weight: bold; + text-align: center; +} + +h3 { + margin: 0.5em; + font-size: 24px; + font-weight: bold; + text-align: center; +} + +h4 { + margin: 0.5em; + font-size: 19px; + font-weight: bold; + text-align: left; +} + +div.explanation { + margin: 1em; + padding: 0.5em; + border: 1px solid grey; + background-color: #FFFFF8; +} + +div.sample { + margin: 1em; + padding: 0px; + border: 1px solid grey; + background-color: #FFF8F8; +} + +div.samplecontent { + margin: 0px; + padding: 0.5em; + border: 0px; + border-top: 1px solid grey; + background-color: #F8F8FF; +} + +p.sampledesc { + margin: 0.5em; + font-weight: bold; +} + +span.hilite { + font-weight: bold; + color: #FF8080; +} + +ul.filetree { + margin: 0px; + padding: 0px; + border: 0px; + margin: 0px 0px 0px 16px; + font-size: 0.8em; +} + +ul.filetree ul { + margin: 0px 0px 0px 16px; + padding: 0px; + border: 0px; +} +ul.filetree li { + margin: 0px; + padding: 0px; + border: 0px; + list-style-image:url(folder-open.gif) +} + +ul.filetree li.file { + list-style-image:url(file.gif) +} + +ul.filetree li.dirclosed { + list-style-image:url(folder-closed.gif) +} + +ul.filetree *|*:-moz-list-bullet { + margin-right: 3px; +} + +ul.rdftree { + list-style-type: none; + margin: 0px; + padding: 0px; + border: 0px; + margin: 0px 0px 0px 0px; + font-size: 0.8em; +} + +ul.rdftree ul { + list-style-type: none; + margin: 0px 0px 0px 16px; + padding: 0px; + border: 0px; +} + +ul.rdftree li { + margin: 0px; + padding: 0px; + border: 0px; +} + +ul.rdftree > li.starttag { + margin: 0.5em 0px 0px 0px; +} + +ul.smalltree { + margin: 0px; + padding: 0px; + border: 0px; + margin: 0px 0px 0px 15px; + font-size: 0.8em; +} + +ul.smalltree > li { + margin: 0px; + padding: 0px; + border: 0px; +} + +span.treespacer { + width: 1em; +} diff --git a/fosdem2003/l10ntalk_01.html b/fosdem2003/l10ntalk_01.html new file mode 100755 index 0000000..2d0707f --- /dev/null +++ b/fosdem2003/l10ntalk_01.html @@ -0,0 +1,34 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + + + +

used terms in this talk

+ +
+A rough list of special terms that will be used here and/or are commonly used in the L10n area: + +Terms like XML, XML entity, DTD, URI, etc. should be known by most people attending this talk, I think... + + diff --git a/fosdem2003/l10ntalk_02.html b/fosdem2003/l10ntalk_02.html new file mode 100755 index 0000000..932ee1e --- /dev/null +++ b/fosdem2003/l10ntalk_02.html @@ -0,0 +1,38 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + + + + +

a sample XUL file

+ +
+XUL - as we all know, the "XML User interface Language" - is an XML file format. +
All UI includes some text, and so do XUL files. +
+ +
+

Sample XUL: openLocation.xul

+
+<?xml version="1.0"?> +
<dialog ... title="Mozilla - Open Web Location"> +
... +
<description>Enter the web location (URL), or specify the local file you would like to open:</description> +
... +
</dialog> +
+
+ + + diff --git a/fosdem2003/l10ntalk_03.html b/fosdem2003/l10ntalk_03.html new file mode 100755 index 0000000..9af4f0e --- /dev/null +++ b/fosdem2003/l10ntalk_03.html @@ -0,0 +1,49 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + + + + +

adding a DTD file

+ +
+To be able to localize all that text, we need to declare general (text) entities for +all locale sensitive resources in an external DTD (Document Type Definition) subset and use an +XML entity reference, "&entity_name;", to reference them. +
The DTD file is placed in an appropriate "locale" directory of our project. +
+ +
+

Sample XUL: openLocation.xul

+
+<?xml version="1.0"?> +
<!DOCTYPE dialog SYSTEM "chrome://communicator/locale/openLocation.dtd"> +
<dialog ... title="&caption.label;"> +
... +
<description>&enter.label;</description> +
... +
</dialog> +
+
+ +
+

Sample DTD: openLocation.dtd

+
+<!ENTITY caption.label "Mozilla - Open Web Location"> +
<!ENTITY enter.label "Enter the web location (URL), or specify the local file you would like to open:"> +
+
+ + + diff --git a/fosdem2003/l10ntalk_04.html b/fosdem2003/l10ntalk_04.html new file mode 100755 index 0000000..f864df6 --- /dev/null +++ b/fosdem2003/l10ntalk_04.html @@ -0,0 +1,62 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + + + + +

using more than one DTD file

+ +
+If we need more than one DTD file for one XUL file, we're using external entities +inside the XUL file's DOCTYPE declaration. +
+ +
+

Sample XUL: openLocation.xul

+
+<?xml version="1.0"?> +
<!DOCTYPE dialog [ +
  <!ENTITY % brandDTD SYSTEM "chrome://global/locale/brand.dtd" > +
  %brandDTD; +
  <!ENTITY % openDialogDTD SYSTEM "chrome://communicator/locale/openLocation.dtd" > +
  %openDialogDTD; +
]> +
<dialog ... title="&brandShortName; - &caption.label;"> +
... +
<description>&enter.label;</description> +
... +
        <menuitem value="0" id="currentWindow" label="&topWindow.label;"/> +
... +
</dialog> +
+
+ +
+

Sample DTD: openLocation.dtd

+
+<!ENTITY caption.label "Open Web Location"> +
<!ENTITY enter.label "Enter the web location (URL), or specify the local file you would like to open:"> +
<!ENTITY topWindow.label "Current Navigator window"> +
+
+ +
+

Sample DTD: brand.dtd

+
+<!ENTITY brandShortName "Mozilla"> +
+
+ + + diff --git a/fosdem2003/l10ntalk_05.html b/fosdem2003/l10ntalk_05.html new file mode 100755 index 0000000..a3aa591 --- /dev/null +++ b/fosdem2003/l10ntalk_05.html @@ -0,0 +1,60 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + + + + +

using JavaScript to display text

+ +
+Sometimes we have to display text dynamically in the UI though, which XUL alone can't do. +Most times JavaScript is used for that. C++ is sometimes used as well, it uses a similar technique for +displaying localized content though, and it uses the same type of files for localization. +
+ +
+

Sample XUL: openLocation.xul, calling some JS code

+
+<?xml version="1.0"?> +
<!DOCTYPE dialog SYSTEM "chrome://communicator/locale/openLocation.dtd"> +
<dialog id="openLocation" ... title="&caption.label;" onLoad="onLoad();"> +
<script type="application/x-javascript" src="chrome://communicator/content/openLocation.js"/> +
... +
        <menuitem value="0" id="currentWindow" label="&topWindow.label;"/> +
... +
</dialog> +
+
+ +
+

Sample JavaScript: openLocation.js

+
+... +
function onLoad() +
{ +
  dialog.main = document.getElementById("openLocation"); +
  dialog.openTopWindow = document.getElementById("currentWindow"); +
  if (!browser) { +
    // No browser supplied - we are calling from Composer +
    // Change string to make more sense for Composer +
    dialog.openTopWindow.setAttribute("label", "Existing Navigator window"); +
    // change title to 'Open Location with Mozilla' +
    dialog.open.setAttribute("title", "Open Location with Mozilla"); +
  } +
} +
+
+ + + diff --git a/fosdem2003/l10ntalk_06.html b/fosdem2003/l10ntalk_06.html new file mode 100755 index 0000000..39a9b52 --- /dev/null +++ b/fosdem2003/l10ntalk_06.html @@ -0,0 +1,73 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + + + + +

using string bundles with JavaScript

+ +
+For localization of text that gets displayed with JavaScript, there are multiple techniques. +First, we could use <data>&some.text;</data> constructs (which don't get displayed in the UI), +read their values from JS and use them for displaying. This isn't a very elegant solution though. +
The normal solution for this situation is to use string bundles, which are saved in +Java-style .properties files. String bundles can be accessed in two ways: First, they can be read by a XUL +<stringbundle> element: +
+ +
+

Sample XUL: openLocation.xul, calling some JS code

+
+<?xml version="1.0"?> +
<!DOCTYPE dialog SYSTEM "chrome://communicator/locale/openLocation.dtd"> +
<dialog id="openLocation" ... title="&caption.label;" onLoad="onLoad();"> +
<script type="application/x-javascript" src="chrome://communicator/content/openLocation.js"/> +
<stringbundle id="openLocationBundle" src="chrome://communicator/locale/openLocation.properties"/> +
... +
        <menuitem value="0" id="currentWindow" label="&topWindow.label;"/> +
... +
</dialog> +
+
+ +
+

Sample JavaScript: openLocation.js

+
+... +
function onLoad() +
{ +
  dialog.main = document.getElementById("openLocation"); +
  dialog.openTopWindow = document.getElementById("currentWindow"); +
  dialog.bundle = document.getElementById("openLocationBundle"); +
  if (!browser) { +
    // No browser supplied - we are calling from Composer +
    // Change string to make more sense for Composer +
    dialog.openTopWindow.setAttribute("label", dialog.bundle.getString("existingNavigatorWindow")); +
    // change title to 'Open Location with Mozilla' +
    dialog.open.setAttribute("title", dialog.bundle.getString("caption2.label")); +
  } +
} +
+
+ +
+

Sample string bundle: openLocation.properties

+
+existingNavigatorWindow=Existing Navigator window +
caption2.label=Open Location with Mozilla +
+
+ + + diff --git a/fosdem2003/l10ntalk_07.html b/fosdem2003/l10ntalk_07.html new file mode 100755 index 0000000..1e75329 --- /dev/null +++ b/fosdem2003/l10ntalk_07.html @@ -0,0 +1,78 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + + + + +

using the string bundle service

+ +
+The second way to access string bundles is to call the string bundle service directly from JavaScript +(the string bundle doesn't have to be refrenced in the XUL file, and stays outside the DOM tree): +
+ +
+

Sample XUL: openLocation.xul, calling some JS code

+
+<?xml version="1.0"?> +
<!DOCTYPE dialog SYSTEM "chrome://communicator/locale/openLocation.dtd"> +
<dialog id="openLocation" ... title="&caption.label;" onLoad="onLoad();"> +
<script type="application/x-javascript" src="chrome://communicator/content/openLocation.js"/> +
... +
        <menuitem value="0" id="currentWindow" label="&topWindow.label;"/> +
... +
</dialog> +
+
+ +
+

Sample JavaScript: openLocation.js

+
+... +
function onLoad() +
{ +
  dialog.main = document.getElementById("openLocation"); +
  dialog.openTopWindow = document.getElementById("currentWindow"); +
  var strBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"].getService(Components.interfaces.nsIStringBundleService); +
  var brandbundle = strBundleService.createBundle("chrome://global/locale/brand.properties"); +
  var dialogbundle = strBundleService.createBundle("chrome://communicator/locale/openLocation.properties"); +
  if (!browser) { +
    // No browser supplied - we are calling from Composer +
    // Change string to make more sense for Composer +
    dialog.openTopWindow.setAttribute("label", dialogbundle.GetStringFromName("existingNavigatorWindow")); +
    // change title to 'Open Location with Mozilla' +
    var brandShortName = brandbundle.GetStringFromName("brandShortName"); +
    dialog.open.setAttribute("title", dialogbundle.getFormattedString("caption2.label", brandShortName)); +
  } +
} +
+
+ +
+

Sample string bundle: openLocation.properties

+
+existingNavigatorWindow=Existing Navigator window +
caption2.label=Open Location with %S +
+
+ +
+

Sample string bundle: brand.properties

+
+brandShortName=Mozilla +
+
+ + + diff --git a/fosdem2003/l10ntalk_08.html b/fosdem2003/l10ntalk_08.html new file mode 100755 index 0000000..990a307 --- /dev/null +++ b/fosdem2003/l10ntalk_08.html @@ -0,0 +1,164 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + + + + +

chrome URIs / chrome registry

+ +
+The DTD file is referenced by a chrome URI, e.g. "chrome://communicator/locale/openLocation.dtd". +
All chrome URIs have the form of chrome://<package>/{content|locale|skin}/<path-to-file>. +
To which file on disk (or in a .jar package) this URI resolves, is determined by the chrome registry: +The chrome registry knows which locales (e.g. en-US, de-AT, it-IT) are installed for which packages +(e.g. communicator, navigator, messenger), and which locale is selected for those packages. +
As a side note, the chrome registry stores the same information for themes as well. +
+ +
+

Example directory tree with files

+
+
    +
  • mozilla +
      +
    • chrome +
        +
      • comm +
          +
        • content +
            +
          • communicator +
              +
            • openLocation.xul
            • +
            +
          • +
          • navigator
          • +
          +
        • +
        +
      • +
      • en-US.jar +
          +
        • locale +
            +
          • en-US +
              +
            • communicator +
                +
              • openLocation.dtd
              • +
              • openLocation.properties
              • +
              +
            • +
            • global +
                +
              • brand.dtd
              • +
              • brand.properties
              • +
              +
            • +
            • navigator
            • +
            +
          • +
          +
        • +
        +
      • +
      • de-AT.jar +
          +
        • communicator +
            +
          • openLocation.dtd
          • +
          • openLocation.properties
          • +
          +
        • +
        • global +
            +
          • brand.dtd
          • +
          • brand.properties
          • +
          +
        • +
        • navigator
        • +
        +
      • +
      +
    • +
    +
  • +
+
+
+ +
+

Sample chrome registry (main chrome.rdf + profile's chrome.rdf)

+
+
    +
  • ...
  • +
  • <RDF:Seq about="urn:mozilla:package:root"> +
      +
    • <RDF:li resource="urn:mozilla:package:communicator"/>
    • +
    • <RDF:li resource="urn:mozilla:package:global"/>
    • +
    • ...
    • +
    +
  • +
  • </RDF:Seq> +
  • <RDF:Description about="urn:mozilla:package:communicator" c:baseURL="resource:/chrome/comm/content/communicator/" c:localeVersion="1.3b" ...> +
      +
    • <c:selectedLocale resource="urn:mozilla:locale:de-AT:communicator"/>
    • +
    +
  • +
  • </RDF:Description> +
  • <RDF:Description about="urn:mozilla:package:global" c:baseURL="jar:resource:/chrome/toolkit.jar!/content/global/" c:localeVersion="1.3b" ...> +
      +
    • <c:selectedLocale resource="urn:mozilla:locale:de-AT:global"/>
    • +
    +
  • +
  • </RDF:Description> +
  • <RDF:Seq about="urn:mozilla:locale:root"> +
      +
    • <RDF:li resource="urn:mozilla:locale:de-AT"/>
    • +
    • <RDF:li resource="urn:mozilla:locale:AT"/>
    • +
    • <RDF:li resource="urn:mozilla:locale:en-US"/>
    • +
    • <RDF:li resource="urn:mozilla:locale:US"/>
    • +
    +
  • +
  • </RDF:Seq> +
  • <RDF:Description about="urn:mozilla:locale:en-US:communicator" c:baseURL="jar:resource:/chrome/en-US.jar!/locale/en-US/communicator/" c:localeVersion="1.3b"> +
      +
    • <c:package resource="urn:mozilla:package:communicator"/>
    • +
    +
  • +
  • </RDF:Description> +
  • <RDF:Description about="urn:mozilla:locale:en-US:global" c:baseURL="jar:resource:/chrome/en-US.jar!/locale/en-US/global/" c:localeVersion="1.3b"> +
      +
    • <c:package resource="urn:mozilla:package:global"/>
    • +
    +
  • +
  • </RDF:Description> +
  • <RDF:Description about="urn:mozilla:locale:de-AT:communicator" c:baseURL="jar:resource:/chrome/de-AT.jar!/communicator/" c:localeVersion="1.3b"> +
      +
    • <c:package resource="urn:mozilla:package:communicator"/>
    • +
    +
  • +
  • </RDF:Description> +
  • <RDF:Description about="urn:mozilla:locale:de-AT:global" c:baseURL="jar:resource:/chrome/de-AT.jar!/global/" c:localeVersion="1.3b"> +
      +
    • <c:package resource="urn:mozilla:package:global"/>
    • +
    +
  • +
  • </RDF:Description> +
+
+
+ + + diff --git a/fosdem2003/l10ntalk_09.html b/fosdem2003/l10ntalk_09.html new file mode 100755 index 0000000..c7c8e4c --- /dev/null +++ b/fosdem2003/l10ntalk_09.html @@ -0,0 +1,45 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + + + + +

translating with MozillaTranslator

+ +
+MozillaTranslator (http://www.mozillatranslator.org/) is a L10n tool +created by a Mozilla L10n contributor, Henrik Lynggaard, from Denmark. +
The tool is a Java application, version 5 and up need at least Sun JRE 1.4.x to run. +
Sometimes it's a bit hard to configure, but once set up it's nice and easy to maintain the L10n. +It reads the files directly from the .jar, and is able to detect just the changes since the last update, so you only have +to look at the really changed texts. It can export .jar files again, and even create ready-to-install XPI files. +It's also capable of maintaining multiple products within one MozillaTranslator installation. +
+ +
+

Example window: updating a product (yes, that's Mozilla calendar)

+
+MozillaTranslator 5.02 update view +
+
+ +
+

Example window: chrome view of a file (openLocation.dtd)

+
+MozillaTranslator 5.02 chrome view +
+
+ + + diff --git a/fosdem2003/l10ntalk_10.html b/fosdem2003/l10ntalk_10.html new file mode 100755 index 0000000..54b31c2 --- /dev/null +++ b/fosdem2003/l10ntalk_10.html @@ -0,0 +1,75 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + + + + +

current problems with L10n work (helpwanted!)

+ +
+As always, there are some more or less big problems in current Mozilla L10n: +
    +
  • Hardcoded content: Some projects still have hardcoded un-localizable code in their UI files, + e.g. Calendar and ChatZilla - but also Browser and MailNews have a bunch of those left. + A big part of this is low-hanging fruit for contributors and blocks L10n severily sometimes. +
    All relevant bugs (should) have the "L12y" keyword set. + Query for All bugs with L12y keyword set + (44 bugs found as of Fri Feb 7 06:30:17 PST 2003).
  • +
  • Ignorance: Many US programmers think "It works for me and my collegues, and so it's alright" - + and they forget about i18n issues or things like locale switching altogether. +
    I had to fix breakage of the pref panel four times from 2002-03-31 to 2002-08-26 - + the FastLoad workaround (see below) is the fith issue that broke it during that time span! + See CVS Log of the pref panel.
  • +
  • Content packs: Content packs (a.k.a. "region" packs) were a somehow interesting idea, but they + aren't used by anyone. 99.999999% of our users only use one language pack and one content pack together. + They should get re-merged into one pack again, the files should stay seperate though, as it's quite good + to have all URLs that are used in the UI seperated from the other content. +
    It looks as even Netscape, who had originally created that split-up has no interest any more in those + content packs. It even blocks me from renaming the generic German language pack to a simple "de.jar". +
  • localeVersion updates: locale packs from different Mozilla versions are incompatible because of + changed, added or removed texts in the UI. Quite some time ago, we introduced a localeVersion attribute + in chrome registry that has to fit, so that Mozilla knows it has a working set of chrome files. +
    So far, so good. Lots of contents.rdf files in the tree carry that information, which is hardcoded + there, and it's a big pain to update them for every version. + See bug 175853, + bug 185698 + and bug 154927.
  • +
  • no fallback mechanism: If people would try to use some non-fitting locale packs, they get crashes + and XML errors because we have no fallback if lookup for a locale string fails somewhere (string or file not found). + See bug 71797.
  • +
  • XUL FastLoad problems: XUL FastLoad fails to update the strings after a locale switch. + There is a workaround in place, which also fails sometimes, and was promised to be replaced by a fix for 1.1 final. + See bug 142623.
  • +
  • XPI installation problems - error -239: This bug is a really strange thing, and does hurt us mainly on unix. + When installing an XPI on most unix systems and some other systems as well, it fails with + error -239 (CHROME_REGISTRY_ERROR) for no obvious reason. +
    We're using a workaround for unix, but this workaround prohibits installing a new locale into the + profile directory, which would be needed for non-root users in the common case. + See bug 109044.
  • +
  • No stringbundles from non-privileged files: This started to hurt me when trying to make about:plugins + localizable (see bug 56863). + In fact, I had to give about:plugins full chrome privileges just to access stringbundles - this opened + a potential security issue though. Even if about:plugins might go a different way now (HTML created by C++), + this is a potential issue for other areas. + See bug 98298.
  • +
  • Resources: Currently, there's no single collection of documentation, tools, etc. for L10n people. + We're currently working on getting such a thing up and running now though. + See l10ntools.mozdev.org.
  • +
+This should be some points to start for contributors who want to help us, and an overview what's bugging +us most currently. I'm sure the list is not complete, but it's what came to my mind when writing the slides... +
+ + + diff --git a/fosdem2003/l10ntalk_11.html b/fosdem2003/l10ntalk_11.html new file mode 100755 index 0000000..a9bddb0 --- /dev/null +++ b/fosdem2003/l10ntalk_11.html @@ -0,0 +1,54 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + + + + +

useful resources for L10n work

+ +
+There are a few places to look for Mozilla L10n resources currently: +
    +
  • MLP: The Mozilla Localization Project + is hosted on mozilla.org and contains a list of all major contributors to all languages supported on any + Mozilla version. There's a small howto, a page with various locale packs available for Mozilla, and + ftp.mozilla.org + hosts downloads for locale packs and localized Mozilla binaries. + (There are currently 89 L10n projects [excluding en-US] registered, 10 projects have released 1.3a versions, + 30 have 1.2.1 available).
  • +
  • MozillaTranslator: The MozillaTranslator tool + has its own website, with a mini-howto (contributors to the documentation wanted!), downloads of + the tool itself as well as its source code, and a download page for language packs + (often a bit outdated though).
  • +
  • Creating Applications with Mozilla: Chapter 11 + of the book about creating Mozilla applications (this chapter was written by Brian King) + is worth a look as well, esp. if you're writing your own application using the Mozilla framework + (I haven't come around to read it though).
  • +
  • l10ntools: Finally, the new l10ntools MozDev project + is currently built up and should contain a bunch of tools to deal with L10n work, some docs, and some + link to those other resources. +
    One subproject is mozpotools, which allows converting Mozilla's locale files to the GNU gettext + .po format, use the common translation tools for that format (KBabel etc.), and then convert the files back + to Mozilla's format. +
    l10ntools will also provide XPI install scripts for use in a locale's installable XPI language packs, + scripts for creating XPI packs from the .jar files that get exported by MozillaTranslator, and even + scripts for creating localized binaries from the XPI file created above and an existing .tar.gz or .zip + binary Mozilla build, as well as some documentation about those tools and prbably general L10n issues. + Other useful tools will probably be added if people give them to us.
  • +
+In the future, l10ntools should have link to all those resources (or host them theirselves). +
+ + + diff --git a/fosdem2003/l10ntalk_12.html b/fosdem2003/l10ntalk_12.html new file mode 100755 index 0000000..5fe12b6 --- /dev/null +++ b/fosdem2003/l10ntalk_12.html @@ -0,0 +1,46 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + + + +

open discussion

+ +
+We now have some time for discussion. +
    +
  • Any open questions?
  • +
  • Any unmentioned issues?
  • +
  • Anyone wanting to help us?
  • +
  • Anything I forgot to mention?
  • +
+
+ +
+

Thank you

+
+ +Thanks for your attention. +Danke für Ihre Aufmerksamkeit. +Merci de votre attention. +Gracias por su atención. +Bedankt voor uw aandacht. +Tack för er uppmärksamhet. +Grazie per la sua attenzioneconfidenza. + +
+
+ + + diff --git a/fosdem2003/l10ntalk_overview.html b/fosdem2003/l10ntalk_overview.html new file mode 100755 index 0000000..9436d71 --- /dev/null +++ b/fosdem2003/l10ntalk_overview.html @@ -0,0 +1,36 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + +

Overview/Contents: Localization (L10n) Talk

+ + + + + diff --git a/fosdem2004/bug.png b/fosdem2004/bug.png new file mode 100644 index 0000000..e8516aa Binary files /dev/null and b/fosdem2004/bug.png differ diff --git a/fosdem2004/index.html b/fosdem2004/index.html new file mode 100755 index 0000000..b36241f --- /dev/null +++ b/fosdem2004/index.html @@ -0,0 +1,67 @@ + + + + + + L10n talk - FOSDEM 2004 - Mozilla Meeting + + + + + + + + + + + +

Mozilla Localization (L10n) Status Update

+ +
+Localization seems to get a more important topic in Mozilla development. +
I'll give an update about +
    +
  • what the MLP is,
  • +
  • what has happened in the last year in this area,
  • +
  • where we are now (using the German project as an example),
  • +
  • and where are the problems for L10n currently / where we'd need help from other developers.
  • +
+I hope there will be enough time left for discussion of this between slides and after the presentation. +
+ +
+

Speaker: Robert Kaiser <KaiRo@KaiRo.at>

+
+
    +
  • Living in Steyr, Upper Austria, and attending Vienna University to become a Chemistry and Physics teacher
  • +
  • Known as "KaiRo" on IRC
  • +
  • Maintainer of the Mozilla German Project (http://mozilla.kairo.at/, + sometimes called "German (Austria)" because of it's internal name of "de-AT") + since late 1999, first German Mozilla version was M12, released at 2000-01-01. + Counting Download numbers of ftp.mozilla.org, Mozilla German seems to be the most-used Mozilla Localization.
  • +
  • Creator of EarlyBlue and LCARStrek themes
  • +
  • Contributing some smaller things to main Mozilla trunk, like + resolving breakage of language switching pref panel, localeVersion updates (and automating them), + making about:plugins themable ("make it look better") and localizable - recently even breaking tinderboxen...
  • +
+
+
+ +
+

The slides

+
+This presentation was created for the European Mozilla Developer Meeting 2004 at +FOSDEM in Brussels. +
The slides for this talk are written in HTML 4.01 Strict and CSS. +
You need to turn on Mozilla's "Site Navigation Bar" for navigating through the slides. +Click "Next" to start with the first slide from this index page. "Top" will take you back to this index from all the slides. +
An overview page that allows access of all slides without the navigation bar +is available, as well an a glossary page explaining some common terms used. +
If you want to look through them later, see http://kairo.mozdev.org/slides/fosdem2004/. +
All slides and images © 02/2004 Robert Kaiser. +
+
+ + + diff --git a/fosdem2004/l10ntalk.css b/fosdem2004/l10ntalk.css new file mode 100755 index 0000000..dcbb08a --- /dev/null +++ b/fosdem2004/l10ntalk.css @@ -0,0 +1,108 @@ +/* styles fpr L10n talk slides */ + +body { + margin: 0px; + padding: 3px; + border: 0px; + font-family: Arial,Helvetica,sans-serif; + font-size: 16px; + color: black; + background-color: white; + +} + +h1 { + margin: 0.5em; + font-size: 32px; + font-weight: bold; + text-align: center; +} + +h2 { + margin: 0.5em; + font-size: 28px; + font-weight: bold; + text-align: center; +} + +h3 { + margin: 0.5em; + font-size: 24px; + font-weight: bold; + text-align: center; +} + +h4 { + margin: 0.5em; + font-size: 19px; + font-weight: bold; + text-align: left; +} + +div.explanation { + margin: 1em; + padding: 0.5em; + border: 1px solid grey; + background-color: #FFFFF8; +} + +div.sample { + margin: 1em; + padding: 0px; + border: 1px solid grey; + background-color: #FFF8F8; +} + +div.samplecontent { + margin: 0px; + padding: 0.5em; + border: 0px; + border-top: 1px solid grey; + background-color: #F8F8FF; +} + +p.sampledesc { + margin: 0.5em; + font-weight: bold; +} + +span.hilite { + font-weight: bold; + color: #FF8080; +} + +pre.border { + border: 1px solid #FF8080; + padding: 0.5em; +} + +ul { + padding-left: 1.2em; +} +li.plus { + list-style-image:url("plus.png"); + margin: 0.5em 0; +} +li.minus { + list-style-image:url("minus.png"); + margin: 0.5em 0; +} + +ul.bugs > li { + list-style-image:url("bug.png"); + margin: 0.5em 0; +} + +ul.smalltree { + margin: 0px; + padding: 0px; + border: 0px; + margin: 0px 0px 0px 15px; + font-size: 0.8em; +} + +ul.smalltree > li { + margin: 0px; + padding: 0px; + border: 0px; +} diff --git a/fosdem2004/l10ntalk_01.html b/fosdem2004/l10ntalk_01.html new file mode 100755 index 0000000..8e0bbb1 --- /dev/null +++ b/fosdem2004/l10ntalk_01.html @@ -0,0 +1,58 @@ + + + + + + L10n talk - FOSDEM 2004 - Mozilla Meeting + + + + + + + + + + + + +

MLP - The Mozilla L10n Project

+ +
+The Mozilla Localization Project (MLP), +hosted on mozilla.org, "tries to help and ease the availability of mozilla.org products +toward different world cultures and languages through the support of the open source community." + +

The main goal is to encourage people to contribute localizations, +make them available to users, and provide communication channels for the contributors (we have the +n.p.m.l10n newsgroup, +an own product at Bugzilla, and the IRC Channel #mozl10n +as the most important resources for that). +
The second important goal is to make and keep the software localizable. +Again, Bugzilla is a great help there (the best tool for bugging developers - I guess that's where the name +comes from). More about that later. +
+ +
+

Localization projects

+
+All Mozilla L10n projects are volunteer efforts by relatively small groups of people or single persons. +
The MLP web pages contain lists of all registered L10n projects and their major contributors, +as well as their available builds. Currently, projects are listed for +Seamonkey +as well as Firefox and +Thunderbird. +
Seamonkey counts 100 L10n projects, Firefox has 39 and Thunderbird 22 listed +(as of 2004-02-19). +Not all of them have current build though. Mozilla 1.6 is available in 26 languages (plus en-US) +to this date, Firefox 0.8 was translated to 12 languages in the less than two weeks since its release, +Thunderbird 0.5 got up to 10 localizations in the same time. We can expect those three numbers to still +grow a bit, as we had 37 languages for Mozilla 1.5[.1], 24 for Firebird 0.7[.1], and 13 for Thunderbird 0.4. +

All packs and builds (sometimes a bit delayed though) available at +ftp.mozilla.org +(older builds are on archive.mozilla.org) +
+
+ + + diff --git a/fosdem2004/l10ntalk_02.html b/fosdem2004/l10ntalk_02.html new file mode 100755 index 0000000..ce543f0 --- /dev/null +++ b/fosdem2004/l10ntalk_02.html @@ -0,0 +1,92 @@ + + + + + + L10n talk - FOSDEM 2004 - Mozilla Meeting + + + + + + + + + + + + +

diff -D 02/2003 -D 02/2004 mozilla-l10n

+ +
+
--- mozilla-l10n        2003-02-FOSDEM
++++ mozilla-l10n        2004-02-FOSDEM
+@@ -a,b +x,y @@
+Well, let's make it a small bit less geeky ;-). So what has happened in the last year of Mozilla L10n? +
    +
  • big manual localeVersion change patches: locale packs from different Mozilla versions are incompatible because of + changed, added or removed texts in the UI. To avoid crashes or other side-effects, we have internal + versioning of locale in chrome registry, fed into it by contents.rdf files. +
    Those were previously hardcoded and I did big manual patches to change them. After I found a way to + insert the versions at build-time and patched the whole tree to do that using the C preprocessor + (bug 154927), + I was told we should use the XUL preprocessor. I made that change recently + (bug 232011) + and set tinderboxen on fire (as some of you may remember)... +
    After some help from tinderbox admins and bsmedberg (who had to fix make-jars.pl for a bug I triggered), + we show now be have that long-standing bug finally resolved (and themes will follow that way soon - + bug 234014). +
    BTW, all chrome version strings are now defined in + mozilla/config/chrome-versions.sh.
  • +
  • XPI error -239: When installing our locale XPI files, we often ran into XPInstall + error -239 (CHROME_REGISTRY_ERROR), especially on unix machines. This had been happening quite + frequently for at least 18 months (bug 109044), + and noone had an idea why that happened, when it started magically disappearing in some cases last summer. +
    DocWilco then filed a patch + for a case where he was still seeing (and which was "a tough one to crack"), and we didn't hear a lot about + that error again. He also improved reporting + of what happens when it still hits a -239 in a followup. +
    Another nasty problem is history now.
  • +
  • more attention to L10n: Starting with last December, L10n got more attention of + mozilla.org staff than in previous times. It all started with a staff meeting on 2003-12-08 (see the + "minutes" posting): +
    +     *Localisation packs*
    +
    +- Quarterly/monthly IRC meetings for l10n (blizzard, bart)
    +- What is our end goal for internationalization?
    +- Goal: 5 or 6 languages we ship pretty regularly, of reasonable to good
    +   quality
    +- Start incrementally
    +
    +- Agreed: translations need to be in CVS; too separated from release
    +   process
    +
    +- chofmann to write a message to l10n newsgroup:
    +   - 1) Tell people how to nominate bugs to drivers
    +   - 2) Mention monthly IRC chat, hosted by chofmann
    +        (gerv query: what time to have this? Hard to pick one which is
    +         good for everyone, because of timezone issues)
    +   - 3) If you have a localised version ready 1 week after 1.6, let us
    +        know now (or then) and we'll try and get it on the CD.
    +   - 4) There will be a string freeze after beta - it's a done deal
    +   - 5) We want your localisation by 1 week after our planned release
    +        date (But CD gets burned 2 days before we release)
    +
    +- We need a simple post-freeze string change process - Bugzilla keyword,
    +   post to newsgroup etc.
    + The first L10n IRC meeting was on 2003-12-15, The 1.6 CD shipped with a few important / finished-in-time + localization XPI packs, we're still hoping further actions will happen. The first string freeze (1.7b -> 1.7) + is still to happen, and getting translations into CVS is actually a quite old bug report, + bug 57878 that still doesn't have much attention, as well as the one for + getting German L10n into CVS (bug 179949). +
    Let's hope the positive movement of December can be carried on into the future.
  • +
  • Mozilla Europe: Just last week, the Mozilla Foundation Europe + has been launched, having a multi-language web site, and that probably will + attract even more users to localized versions of Mozilla and its derivates. +
    We'll see what this means to our L10n projects...
  • +
+
+ + + diff --git a/fosdem2004/l10ntalk_03.html b/fosdem2004/l10ntalk_03.html new file mode 100755 index 0000000..0bae9a5 --- /dev/null +++ b/fosdem2004/l10ntalk_03.html @@ -0,0 +1,64 @@ + + + + + + L10n talk - FOSDEM 2004 - Mozilla Meeting + + + + + + + + + + + + +

Where We Are Now

+ +
+L10n projects can get real big attention from users. For volunteer projects of private people, +that may turn out to bring some problems with growing user interest. +On the other hand, especially as a private volunteer contributor, it can make you even more fond of that +project seeing the little baby of yours grow and grow. +
+ +
+

An Example: The Mozilla German Project

+
+In late 1999, working with M11, I discovered that XUL has nice text/code seperation, and tried to dig into it +by changing some strings to German equivalents - just for fun. Being the first one +to do this for that language, I stumbled into being the leader of the German L10n project and released +M12 German on 2000-01-01. +
A lot has happened since then. The small HTML page I made up for downloading that build turned into a +heavily accessed web site, now residing at +mozilla.kairo.at. +
In January 2004, that site was accessed by over 740000 different hosts, hitting the main page +just under one million times, the support page (default home page of German builds) had almost 800000 hits. +With 44000 visits of people per day (average), the site produced 20 GB of HTML traffic. +
As a student, I'd have some problems paying for the server that hosts all that alone, +and affording visiting FOSDEM as well on my cost would also be not too easy. I'd like to +thank all donators of the Mozilla German project for making it possible +to keep the site up and attend here, and my parents as well for supporting me to come here and spend some time +on Mozilla next to studying. +
The downloads are hosted by mozilla.org, universities and my student home, and I don't have reliable +download counters for those, so I can't tell any download numbers. From ftp.mozilla.org numbers alone, +it seems to be the most-used localization by far though. +
The German localization of Mozilla gets included in all CDs of the big German magazine PC-WELT, +the German XPI pack is on the mozilla.org 1.6 CD (AFAIK), SUSE LINUX does include German packs for Mozilla, +and probably it's shipped in various other ways as well. +
Two other contributors are shipping translated version of Firefox and Thunderbird based on that work, +and the German Mozilla newsgroup de.comm.software.mozilla has been split into a hierarchy of 4 newsgroups +because one group couldn't handle the traffic of currently 4000 postings a month. +
Recently, I've given an interview for a German SAP magazine, and an Austrian computer magazine asked +me for one as well. It's pretty astonishing... +
On the other hand, I'm spending some hours a week answering mails telling users that I'm just a +translator, and I can't do support, pointing them to FAQs and newsgroups. +
There are still other problems left in Mozilla itself that bug us L10n people... +
+
+ + + diff --git a/fosdem2004/l10ntalk_04.html b/fosdem2004/l10ntalk_04.html new file mode 100755 index 0000000..65c2257 --- /dev/null +++ b/fosdem2004/l10ntalk_04.html @@ -0,0 +1,59 @@ + + + + + + L10n talk - FOSDEM 2004 - Mozilla Meeting + + + + + + + + + + + + +

Current Problems In L10n Area (helpwanted!)

+ +
+
    +
  • no fallback mechanism: If people would try to use some non-fitting locale packs, they get + crashes and XML errors because we have no fallback if lookup for + a locale string fails somewhere (string or file not found). + See bug 71797.
  • +
  • XUL FastLoad problems: XUL FastLoad fails to update the strings + after a locale switch. There is a workaround in place (killing the FastLoad file), + which also fails sometimes, and was promised to be replaced by a fix for 1.1 final (!). + See bug 142623.
  • +
  • Hardcoded content: Yes, there's still some hardcoded un-localizable code in UI files left, + a big part of this is low-hanging fruit for contributors and blocks L10n severily sometimes. +
    All relevant bugs (should) have the "L12y" keyword set. + Query for All bugs with L12y keyword set + (50 bugs found as of Thu Feb 19 18:26:44 PST 2004, + 35 of them in [Seamonkey] Browser product, + 13 of them in [Seamonkey] MailNews product, + 1 of them ("Localize FE") in Firefox product, + 0 of them in Thunderbird product, + the other one is in PSM).
  • +
  • Ignorance: Still some programmers think "It works for me and my collegues, and so it's alright" - + and they forget about i18n issues or things like locale switching altogether. +
    I had to fix breakage of the locale switching pref panel four times from 2002-03-31 to 2002-08-26 - + the FastLoad workaround (see above) was the fith issue that broke it during that time span! + See CVS Log of the pref panel.
  • +
  • No stringbundles from non-privileged files: This started to hurt me when trying to make about:plugins + localizable (see bug 56863). + In fact, I had to give about:plugins full chrome privileges just to access stringbundles - this opened + a potential security issue though. + See bug 98298.
  • +
  • Content packs: We should investigate if we really need seperate packages for that content, + as the real idea never took off. Merging them back into normal localization content could ease a few things.
  • +
+This should be some points to start for contributors who want to help us, and an overview what's bugging us +most currently. I'm sure the list is not complete, but it's what came to my mind when writing the slides... +
+ + + diff --git a/fosdem2004/l10ntalk_end.html b/fosdem2004/l10ntalk_end.html new file mode 100755 index 0000000..29a4dc3 --- /dev/null +++ b/fosdem2004/l10ntalk_end.html @@ -0,0 +1,47 @@ + + + + + + L10n talk - FOSDEM 2004 - Mozilla Meeting + + + + + + + + + + + +

Open Discussion

+ +
+We now have some time for discussion. +
    +
  • Any open questions?
  • +
  • Any unmentioned issues?
  • +
  • Anyone wanting to help us?
  • +
  • Anything I forgot to mention?
  • +
+
+ +
+

Thank you

+
+ +Thanks for your attention. +Danke für Ihre Aufmerksamkeit. +Merci de votre attention. +Gracias por su atención. +Bedankt voor uw aandacht. +Tack för er uppmärksamhet. +Grazie per la sua attenzioneconfidenza. + +
+
+ + + diff --git a/fosdem2004/l10ntalk_glossary.html b/fosdem2004/l10ntalk_glossary.html new file mode 100755 index 0000000..735c0b8 --- /dev/null +++ b/fosdem2004/l10ntalk_glossary.html @@ -0,0 +1,31 @@ + + + + + + L10n talk - FOSDEM 2003 - Mozilla Meeting + + + + + + + + +

Common terms used in Mozilla L10n (glossary)

+ +
+A rough list of special terms that will be used here and/or are commonly used in the L10n area: +
    +
  • L10n: Localization (an "L", followed by 10 characters, then an "n"): Customizing Software for a specific local area (mainly translation)
  • +
  • i18n: Internationalization (an "i", followed by 18 characters, then an "n"): Making Software internationally useable (e.g. support input with Asian keyboards etc.)
  • +
  • L12y: Localizability (available as a bugzilla.mozilla.org keyword, added for bugs that block L10n of some feature)
  • +
  • locale: a set/package of locally customized items (e.g. a "language pack")
  • +
  • theme: In Mozilla terms, a theme is a set of CSS files and images (perhaps even some XBL), sometimes also called "skin"
  • +
  • XUL: "XML User interface Language" (pronounced "zool"), an XML dialect used by Mozilla to describe its UI (User Interface)
  • +
  • XPI: "X(cross)-Platform install": cross-platform file format for installation of projects within the Mozilla framework. The XPI file is a zip-format file that contains a JavaScript installation script (install.js)
  • +
  • JAR: This file type that originates from "Java Archive Resources" is a compressed format used for Mozilla's chrome. It's basically a zip format file, containing chrome files and RDF files that describe the content and can be fed into chrome registry (contents.rdf).
  • +
+Terms like XML, XML entity, DTD, URI, etc. should be known by most people attending this talk, I think... + + diff --git a/fosdem2004/l10ntalk_overview.html b/fosdem2004/l10ntalk_overview.html new file mode 100755 index 0000000..4f3617b --- /dev/null +++ b/fosdem2004/l10ntalk_overview.html @@ -0,0 +1,30 @@ + + + + + + L10n talk - FOSDEM 2004 - Mozilla Meeting + + + + + + + +

Overview/Contents: Localization (L10n) Talk

+ + + + + diff --git a/fosdem2004/minus.png b/fosdem2004/minus.png new file mode 100644 index 0000000..6e9499f Binary files /dev/null and b/fosdem2004/minus.png differ diff --git a/fosdem2004/plus.png b/fosdem2004/plus.png new file mode 100644 index 0000000..c7eebfa Binary files /dev/null and b/fosdem2004/plus.png differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..022dbf0 --- /dev/null +++ b/index.html @@ -0,0 +1,39 @@ + + +
+
+
What's New
+
    +
  • Aug 24: Project started
  • +
+
+ + + +
+ + + +

This is the project @ mozdev.org.

+ +

The project contains some scripts and smaller OSS programs by me (Robert Kaiser, a.k.a. "KaiRo").

+ +

Most of those scripts and/or programs have some connection to +Mozilla, but I'll eventually also provide some software that +has no direct connection to my favourite browser.

+ +

For wishes and comments about the project and software please use Bugzilla, I'm already overburdened +with personal mail, so I perhaps won't get to answer that sooner or later, but I'll look at Bugzilla +often enough to work at open bug reports. +
See the "bugs" link in the navigation line above.

+ +