Localization Birds of Feather session – no slides, but participants discussed state and problems of localization. Some of these problems were presented a day later to the developers on the lightning talk track. Translators also wanted regular localized alpha releases from master. Well, first we need a somewhat stabilized and working master…

If you were not able to attend this presentation, please find the slides online. There are some really nice examples for the new InDesign-like typographical features of LibreOffice.
Unfortunatelly, I was not able to attend the conference, so many thanks to András Tímár for the presentation.

I had been thinking about simplifying installing process of LibreOffice under Windows for a long time. During hackweek I had the opportunity to work on this problem and at the end of the week I could produce a proof-of-concept solution.

Currently LibreOffice Windows installer is rather complicated. It starts with the NSIS pre-installer which extracts MSI file, language MST files, readmes, setup.ini and setup.exe to a directory in the user’s file system. Desktop is the default. Then setup.exe starts. It also tries to find out the language to be used, installs the vcredist files, then starts the MSI installer (with a language transform, if necessary). MSI installer does the real installation.

It is not only overcomplicated but there are problems with NSIS:

It does not know Unicode. Localized installers cannot be made for many languages.

Help packs have localized installers and localized text is displayed correctly only when the system legacy code page setting matches to that language. For example Russian help pack installer displays garbage characters on English system.

It extracts files to Desktop (per default). Users are confused, they don’t know, if they can remove those files or not.

It has a cryptic bug which caused problems with Chinese installers (garbage characters) fdo#32335

In fact MSI alone is capable to install anything. In a few steps I created a multilingual single MSI installer for LibreOffice 3.4

In solenv/bin/modules/installer/global.pm set $include_cab_in_msi from 0 to 1. This creates one big MSI file with the CAB included.

Instead of installing vcredist_x86.exe separately, the necessary runtime files can be merged into the MSI. We definitely need MSVCRT, I’m not sure about ATL, and we don’t need MFC. So it helps in reducing the size of installer, if we don’t ship DLLs that are not used by LibreOffice. Merge modules should be copied to external/msm90, they can be found at c:\Program Files (x86)\Common Files\Merge Modules\ in every Windows dev environment. Scp2 and installer creator perl scripts can handle merge modules (and after a while I found out how).

The use of embedded language transforms is an undocumented feature of Windows Installer. A language transform is a transform that is located in a substorage of a Windows Installer package that is named after the LangId. The Summary Information Stream (Property: PID_TEMPLATE) includes a list of languages that are supported by the package. Windows Installer automatically selects the language that matches the language preference that is set for the operating system. Basically I followed the instructions on http://www.installsite.org/pages/en/msi/articles/embeddedlang/. The necessary VBScript files are part of Windows SDK, at least Microsoft mentions this in KB articles. I found them elsewhere on the net.

I uploaded the result to http://ftp.fsf.hu/LibreOffice/Multilang-MSI/.
The installer file, libreoffice34.msi starts in the default language of Windows. Any language can be forced, e.g. Hungarian with LCID 1038:msiexec -i libreoffice34.msi TRANSFORMS=:1038
Note the colon before the number, that denotes internal transform.

TODO:

Test a lot, and possibly find out whether this method was not used on purpose before.

Published for the anniversary of LibreOffice, Lively Alphabet (PDF, 4,7 Mb) is a free coloring book, also a demo of SVG vector graphics support and the new typographical features – especially the beautiful new font variant Linux Libertine Display G – of LibreOffice. To load and modify the huge ODF source document (47 Mb, released under the GNU Free Documentation License), it is recommended to check out anti-aliasing in LibreOffice in Tools » Options » LibreOffice » View page).

I am mentoring these students which means I help them to get started (download the source, setup the build environment, build the source, and solve an easy hack). Later they are encouraged to start with a more complex problem, with the help of the whole LibreOffice developer community. I hope that this internship program will be successful and some students will stay with LibreOffice project for a longer period.

In April, 2011 FSF.hu offered a Core 2 Quad server with 8GB RAM and 100GB disk and free Internet hosting to TDF. The parties agreed that the best utilization of this server would be the hosting of translation services (Pootle). After a few weeks of installing and testing, the server started to host Pootle yesterday.

While the VM Pootle was running in had been running stable since the last incident where VM did “freeze”, the dedicated server has enough RAM to hold the complete database in RAM, and thus does not rely on the host’s file-cache. Creation of database backup is also faster. Creating the files for download is still CPU bound and thus not affected by the amount of RAM. Last but not least this transition allows TDF to turn the old server into a playing ground again without having to worry about affecting productivity tools.

Many thanks to Christian Lohmaier (TDF) and Peter Mato (FSF.hu) who have helped a lot to set up the new server.

About FSF.hu

The FSF.hu Foundation for Promoting and Localizing Free Software in Hungary (“FSF.hu Alapítvány a Szabad Szoftverek Magyarországi Népszerűsítéséért és Honosításáért”) was officially recognized by the Hungarian state as a foundation for the public good (“közhasznú alapítvány”) on January 27th, 2003. We use the FSF.hu moniker to signify our adherence to the principles of software freedom as articulated by Richard Stallman and the Free Software Foundation.

Localization resources are expected to gravitate to the new project, as well.

Being a free software localizer who spent significant amount of time in the last 12 years on localizing free software on a voluntary basis, I do not find appealing to translate anything for free for a non-copyleft licensed software. I don’t like the business model where large corporations happily take the work of volunteers, who save them a lot of money, and nothing or nearly nothing comes from them in return.

I’m afraid that the new OpenOffice.org Apache project serves no other purpose than IBM can continue their practice: they take code others wrote for free, while keeping their code proprietary and occasionally dumping the unimportant parts to an open core to ease maintenance. I feel reluctant to support this scheme.

Info Savaria is a traditional conference for Hungarian informatics teachers. It is held every year in Szombathely, Hungary. This time I was invited to give a talk about LibreOffice. I summarized the history of the project and the new features of LibreOffice 3.3. I tried to emphasize the advantages of the new free development model.

Although Microsoft software is prevalent in Hungarian educational system, an increasing group of devoted teachers use and teach free software, including Linux, Gimp, and LibreOffice. I find conversation between power users and developers very useful. Understading teachers’ point of view helps developers in prioritizing bugs and feature requests.