WineHQ

Writing Tasks for Wine

In the long run, documentation and coordinating development can be just as important to a software project as coding. Even if you don't feel comfortable programming, there are still many places where Wine could use your help. Language skills are the primary need for maintaining the wiki, translating different portions of the project, and writing good documentation. Understanding the actual code that makes up Wine should only be necessary if you want to help make documentation for developers.

Writing Documentation

Wiki

Much of Wine's documentation for both users and developers has been ported to this wiki, including the various guides. Keeping the wiki up-to-date by clearing out abandoned and out-dated content, or resolving contradictory statements, gives the wiki a much higher signal-to-noise ratio and makes it easier for both developers and users to find what they're looking for. Editing the wiki just requires writing in MediaWiki syntax. Follow the instructions here to request edit access to the wiki. See Web Content Tasks for tips on editing the Wine wiki.

README and Manpages

Documentation included in Wine's source code includes the README file (included in the top level of the Wine git tree), translations of the README in the documentation/ directory of the Wine source tree, and various manpages, which can be found in the same folder as the component they document (most can be found in the tools/ directory, but the manpage for wine itself is located in loader/).

API Documentation

Having our own documentation of the Wine API itself is important for several reasons, the main one being that Microsoft tends to remove all documentation of old APIs (e.g. Win 3.1) as it moves to new ones. Since we are re-implementing the API too, it would probably be a good way for interested developers to learn more about Wine code.

Aspects that are not covered well (or at all) in the "official" documentation, bugs, and inconsistencies are all particularly important. Some examples include little details like what happens if you pass a NULL pointer or if the buffer is too small. Without such documentation, new Wine developers may have a hard time telling whether some strange quirk in the implementation is a genuine bug or if it is actually a (mis)feature that some programs rely on. This will only become more and more important as Wine matures.

There is already a system for automatically generating basic API documentation from the Wine source code. This automated documentation can be found here. If you have an idea for improving the generated documentation, send out an email on the wine-devel mailing list explaining what you would like to try.

Translating

Translating Wine and its documentation are a high priority. See Translating for more information on translating Wine's dialogs and internal resources. In addition, translations are needed for documentation on the website, including this wiki.

Translating Static Web Content

Translating static web content requires some comfort with the terminal.

The procedure for updating the website (eg adding a translation) is to first clone our git repo of the website:

git clone https://source.winehq.org/git/website.git

Translate individual pages located in templates/en and place them in templates/xx (where xx is the language code). After that, make a series of git commits (one per page is probably good) - put [website] at the start of the description so it's easier to tell apart from other patches. Finally you make a Git patch set and submit them in to the [email protected] mailing list.

For help with git, see the Git Wine Tutorial

Translating the Wiki

Because the English pages were updated when they were ported from the old (MoinMoin) wiki to this one, new translations need to be made of all of them. Pages with missing translations have a note to translators at the top; these high traffic pages should be a priority for translating. In addition, the Wine User's Guide, Winelib User's Guide, and Wine Developer's Guide, all recently ported to the wiki, need translating. The procedure for obtaining edit access to translate is the same as above.

See Also

This page was last edited on 3 June 2022, at 02:20.