Presentation held in the seminar on "Development Processes in Open Source Projects." Features the documentation tool Sphinx and its internationalization component sphinx-i18n, along with general insights to Open Source communities and technical details about gettext, Docutils, ReStructuredText, and Google's Summer of Code. Also fixed lotsa bugs in sphinx-i18n. :-)
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
sphinx-i18n — The True Story
1. 1 sphinx-i18n The True Story robertlehmann.de Development Processes in Open Source Projects
2. ocumentclass{manual}sepackage[T1]{fontenc}sepackage{textcomp}itle{PythonTutorial}nput{boilerplate}akeindexegin{document}aketitlefhtmlhapter*{FrontMatterabel{front}}input{copyright}egin{abstract}oindent For a description of standard objects and modules, see the itetitle[../lib/lib.html]{Python Library Reference} document. The itetitle[../ref/ref.html]{Python Reference Manual} gives a more formal definition of the language. To write extensions in C or pp, read itetitle[../ext/ext.html]{Extending and Embedding the Python Interpreter} and itetitle[../api/api.html]{Python/C API Reference}. There are also several books covering Python in depth. nd{abstract} ableofcontents hapter{Whetting Your Appetite abel{intro}} Python enables programs to be written compactly and readably. Programs written in Python are typically much shorter than equivalent C, pp{}, or Java programs, for several reasons:egin{itemize}tem the high-level data types allow you to express complex operations in a single statement;tem statement grouping is done by indentation;tem no variable or argument declarations are necessary.nd{itemize} On Windows machines, the Python installation is usually placed in ile{C: Python24}, though you can change this when you're running the installer: egin{verbatim} set path=%path%; C:ython24nd{verbatim}egin{seealso}eetitle[../lib/typesseq.html]{Sequence Types}%{Strings, and the Unicode strings described in the next section, are examples of mph{sequence types}, and support the common operations supported by such types.}nd{seealso}ubsection{Unicode Strings abel{unicodeStrings}}ectionauthor{Marc-Andre Lemburg}{mal@ lemburg.com}egin{methoddesc}[list]{pop}{ptional{i}}If no index is specified, ode{a.pop()} removes and returns the last item in the list. You will see this notation frequently in the itetitle[../lib/lib.html]{Python Library Reference}.)nd{methoddesc} Everbodyhates it with a passion. 2
4. implemented June 2007 as py-rest-docfor Docutils live August 2007 on docs.python.org released March 2008 as Sphinx BSD license requires attribution 1.0 in July 2010 1.0.7 in January 2011 latest stable release 3290 commits[as of 2011/05/15] 4
5. Docutils tutorial.rst "reST" is **ONE** word, *not two!* tutorial "reST" isONE word, not two! 5 Check out http://docutils.sf.net/docs/user/rst/quickstart.html for details!
6. math rendering markup domains search indices feedback syntax highlighting tutorial.rst "reST" is **ONE** word, *not two!* tutorial.pdf tutorial.html tutorial.tex tutorial.1.gz tutorial.epub i18n ... autodoc themes Hierarchical structure: easy definition of a document tree, with automatic links to siblings, parents and children doctests 6
7. Georg “birkenfeld” Brandl 2004: Pocoo project the makers of Werkzeug, Pygments, Jinja, … 2008: PSF Community Award 2011: Frank Willison Award 205k churns [as of 2011/06/27] 2500 commits that‘s changed LOCs without bfb5b73af019, e88201ce226b, and 2d7e85e0c7b4, which imported the Python docs 7
8. Daniel Neuhäuser Jacob Mason Japanese community Armin Ronacher …and about 70 others! http://sphinx-users.jp/event/20100724_release_party.html http://flickr.com/photos/bastispicks/3911044033 8
33. Pull request @mtlpython We’ve just fixed a problem in the gettext builder. Pull request @shibu I'd like to create patch for Internationalization feature for 1.1. Pull request @r_rudi Hello, I write the gettext builder patch. Please check and merge if fair enough. Pull request @kou I hereby encourage you to pull some changes in my fork of sphinx. You can find my changes on the i18n-generate-valid-pot branch. messages snipped 33
34. let‘s call it a day all work has already been done! not quite:the dreaded merge 34
35. 35 releasethe kraken octomerge of sorts literally 8 different sources! http://www.flickr.com/photos/kfisto/1926477413