On Thu, 2009-02-05 at 19:14 +0700, John Francis Lee wrote:
> Walter Leibbrandt wrote:
> > Hi,
> > 
> > John Francis Lee wrote:
> >> j...@ws0:/usr/lib/python2.5/site-packages/Pootle$ sudo 
> >> /etc/init.d/apache2 start * Starting web server apache2 
> >>                                  (98)Address already in use: 
> >> make_sock: could not bind to address 0.0.0.0:80
> >> no listening sockets available, shutting down
> >> Unable to open logs                    [fail]
> >>
> >> j...@ws0:/usr/lib/python2.5/site-packages/Pootle$ netstat -lnp | grep 
> >> '0.0.0.0:80'
> >> (Not all processes could be identified, non-owned process info
> >>  will not be shown, you would have to be root to see it all.)
> > Those kind of errors are usually fixed by
> > 1) making sure that the server (apache... or another web-server) is not 
> > already running, or
> > 2) waiting for the address to be freed by the kernel (usually takes a 
> > minute or 5).
> > 
> 
> OK... turns out there were
>   Listen 80
> lines in both apache2.conf and ports.conf. I got rid of the one in 
> apache2.conf and apache starts again.
> 
> Apache works and pootle worked, but they were unrelated, as far as I can 
> tell. The pootle.access.log and pootle.error.log stayed at length 0.
> 
> So I thought, well at least things are working again, so I tried to 
> assign myself translation rights. The directions are imprecise. and now 
> everything is broken again.
> 
> r...@ws0:/etc/pootle# sudo  /etc/init.d/pootle restart
> Stopping Pootle daemon: PootleServer....
> Starting Pootle daemon: PootleServer....
> 
> /var/lib/python-support/python2.5/jToolkit/data/dates.py:27: 
> DeprecationWarning: The sre module is deprecated, please import re.
>    import sre
> 2009-02-05 18:59:13: Listening on port 8080
> 2009-02-05 18:59:13: To use the server, open a web browser at 
> http://127.0.0.1:8080/
> 2009-02-05 18:59:14: Traceback (most recent call last):
>    File 
> "/var/lib/python-support/python2.5/jToolkit/web/simplewebserver.py", 
> line 613, in getserver
>      server = getserverwithprefs(options.prefsfile, options.instance, httpd)
>    File "/var/lib/python-support/python2.5/jToolkit/web/__init__.py", 
> line 160, in getserverwithprefs
>      serverprefs.parsefile(prefsfile)
>    File "/var/lib/python-support/python2.5/jToolkit/prefs.py", line 428, 
> in parsefile
>      self.parse(contents)
>    File "/var/lib/python-support/python2.5/jToolkit/prefs.py", line 419, 
> in parse
>      self.parseassignments()
>    File "/var/lib/python-support/python2.5/jToolkit/prefs.py", line 401, 
> in parseassignments
>      self.raiseerror("I don't know how to parse that here", tokennum)
>    File "/var/lib/python-support/python2.5/jToolkit/sparse.py", line 
> 225, in raiseerror
>      raise ParserError(self, message, tokennum)
> ParserError: I don't know how to parse that here at line 175, char 7 
> (token 'fullname')

This is the hint to follow.  The prefs file works like a Python file, it
uses spaces for indenting. See below for the actual cause of the
error...

> 2009-02-05 18:59:14: Error initializing server, exiting: I don't know 
> how to parse that here at line 175, char 7 (token 'fullname')
> 
> ***
> 
> What I had tried to do was add
>   projects = 'pootle terminology ttft' or
>   projects = 'pootle,teminology,ttft', and
>   rights = 'administrator'
> to my log in in users.prefs, as I could see no way to add rights to 
> other users for a given project, and that was what the documentation 
> seemed to suggest.
> 
> Pootle broke with the message above, and removing what I'd added seems 
> not to make any difference.
> 
> I attach the perfs files in case anyone is interested.
> 
> Thanks again for all your help.
> 
> 
> 
> plain text document attachment (pootle.prefs)
> # -*- coding: utf-8 -*-
> # jToolkit preferences file
> # showing jBrowser fields
> #
> # Lines with '#' are comments.
> 
> importmodules:
>   pootleserver = 'Pootle.pootle'
> 
> Pootle:
>   serverclass = pootleserver.PootleServer
>   sessionkey='p00tl3'
> 
>   # Pootle.stats_db
>   #
>   # Set this to the location of the statistics database used by Pootle. 
>   # stats_db = "/var/cache/pootle/stats.db"
> 
>   # Pootle.baseurl
>   # 
>   # Set to the URL from which people will access Pootle. Ensure that it starts
>   # with "http://";. If there is no clickable link in registration e-mails, 
> this
>   # setting could be wrong.
>   baseurl = "http://localhost:8080";
> 
>   # Pootle.title
>   # 
>   # The name of this instance of Pootle. This will appear on the title bar of
>   # most Pootle pages. You can use something short like 
>   #   "$(Your Projectname) Pootle"
>   title = "Pootle"
> 
>   # Pootle.description
>   # 
>   # A short description of this instance of Pootle. This is displayed on the 
>   # front page, the about page and it can contain markup, which may be useful
>   # to provide links to mailinglists, a wiki, etc. for the project. Be sure 
> to 
>   # test it well, as incorrect markup (like unbalanced quotes or HTML tags) 
>   # could prevent the page from displaying at all. The text up to the first 
>   # "br" tag is also displayed in the meta description tags of these pages.
>   # Consider adding <div dir="ltr"> ... </div> around any text in a left-to-
>   # right language to guarantee good rendering for users of right-to-left 
>   # languages and vice versa if you put a message in a right-to-left language.
>   # For multilingual servers, you might also want to indicate the language of
>   # your description to ensure proper rendering and for better accessibility.
>   # Be sure to include all contact information that users would need to 
> contact 
>   # you for support (adding languages or projects).
>   description = u"<div dir='ltr' lang='en'><p>This is a local installation of 
> Pootle.<br /> The purpose of this installation is to</p>    <ul>   
> <li>discover the ins and outs of running a Pootle server, and then</li>   
> <li>to introduce the students at CRPAO School to machine aided translation, 
> and then</li>   <li>to translate Pootle itself into Thai,</li>   <li>followed 
> by the translation of the nltk NLP toolkit,</li>   <li>the TCExam server, and 
> then</li>   <li>real Thai documents such as แมงสีหูห้าต๋า<br /> (The Monster 
> with Four Ears and Five Eyes).</li>   </ul>   <p>The server administrator is 
> John Francis Lee, [email protected].</p></div>"
> 
>   # Pootle.defaultlanguage
>   # 
>   # The default language that will be used on this instance of Pootle.  Pootle
>   # will try to serve pages in the language of the user's browser, and users 
>   # may change this to another language on login but this will be the default
>   # for users without a language preference in their browsers, or when their 
>   # preferred language is not available. When nothing is found, Pootle will 
> run 
>   # in English. Only languages that are enabled on this server (see below) 
> will
>   # be accessible to users.
>   # defaultlanguage = "en"
> 
>   # Pootle.registration
>   # 
>   # When users register, their details will be sent from "fromaddress" using 
> the
>   # SMTP server "smtpserver".
>   # If specified, "supportaddress" will be given in registration emails as the
>   # address to contact with queries.
>   registration:
>     fromaddress = "[email protected]"
>     smtpserver = "robinlea.com:587"
>   # supportaddress = "[email protected]"
> 
>   # Where users are directed by default when they login
>   homepage = "home/"
> 
>   # The file that contains the user preferences.
>   userprefs = "/etc/pootle/users.prefs"
> 
>   # defaultrights
>   # 
>   # This is the default permissions (access rights) that will be used for 
>   # logged in users unless other rights are specified for the project. The 
>   # recommended default is
>   # defaultrights = "view, suggest, archive, pocompile"
>   # This will allow logged in users to view the translations, suggest changes,
>   # download archives of the whole project and download .mo files.
>   # If you want any logged in user to be able to translate by default, you 
>   # should add the "translate" right, for example
>   defaultrights = "view, suggest, archive, pocompile"
> 
>   # Pootle.enablealtsrc
>   # Enable support for alternative language. Take into account that this might
>   # supposse a considerable performance penalty in big Pootle installations.
>   # Default: "False"
>   # enablealtsrc = "True"
> 
>   # pootle.podirectory
>   #
>   # All projects are stored in this directory in this layout:
>   #   $podirectory/$project/$language
>   # Projects can also be stored according to the GNU convention with one PO 
> file
>   # per language, and all files in one directory. If you change this from the 
>   # default, remember to copy the project called "pootle" to your new 
> directory
>   # to provide the localised interface for Pootle.
>   podirectory = "/var/lib/pootle/"
> 
>   # pootle.projects
>   #
>   # The projects section defines what projects are available on this instance
>   # of Pootle.  This describes the fields listed in the following pootle
>   # project.
>   #
>   # pootle:
>   # This is the projects internal name and corresponds to the
>   # directory entry that stores all the translations.
>   #
>   #   fullname = "Pootle"
>   # The human readable version of the project's internal name.
>   #
>   #   description = "Web translation software"
>   # A description of the project.  It can include markup, which may be useful 
>   # to provide links to mailinglists, a wiki, etc. for the project. The whole 
>   # description will be used when viewing the project page, but only the text 
>   # up to the first "br" tag will be used for the page's meta description and 
>   # for tooltips in some Pootle pages.  Be sure to test it well, as incorrect 
>   # markup (like unbalanced quotes or HTML tags) could prevent the page from 
>   # displaying at all.
>   # Consider adding <div dir="ltr"> ... </div> around any text in a left-to-
>   # right language to guarantee good rendering for users of right-to-left 
>   # languages and vice versa if you put a message in a right-to-left language.
>   # For multilingual servers, you might also want to indicate the language of
>   # your description to ensure proper rendering and for better accessibility.
>   #
>   #   checkerstyle = "standard"
>   # Defines what checks should be used for this project.  One of: mozilla, 
> kde,
>   # openoffice or standard. This affects the tests for accelerator keys and
>   # variables
>   #
>   #   localfiletype = "po"
>   # The localfiletype attribute allows for a project admin to designate the
>   # allowed filetype for the project, either "po" or "xlf".
>   # By default, po is assumed for projects.
>   #
>   # NOTE: Once a file type is selected for localfiletype, files not matching
>   #       the type selected will not be displayed within pootle.
>   #
>   #   treestyle = "nongnu"
>   # The treestyle attribute is used to force Pootle to follow the specified
>   # directory tree layout, without trying to determine it (this can be slow
>   # for projects with lots of files and directories. Possible choices: "gnu"
>   # (one file per language in a directory) or "nongnu" (each language has a 
>   # separate direcotory with its own tree structure. This attribute does not
>   # need to be specified. If it is not specified, Pootle will try to determine
>   # the layout that the project uses.
> 
>   projects:
>   # The project called "pootle" is necessary for Pootle to be localised.  The 
>   # Pootle interface will be available in the languages that are defined 
> below 
>   # and present in the Pootle project.  If you don't want people to change 
> the 
>   # Pootle translations on your server, remove the translate right in the 
> admin
>   # interface.
>     pootle:
>       fullname = "Pootle"
>       description = "<div dir='ltr' lang='en'>Interface translations for 
> Pootle. <br /> See the <a href='http://pootle.locamotion.org'>official Pootle 
> server</a> for the translations of Pootle.</div>"
>       checkstyle = "standard"
>       localfiletype = "po"
> 
>   # The optional project called "terminology" will be used by Pootle to do 
>   # terminology matching for the languages that have files in this project. To
>   # use different terms in a certain project, simply include a file called 
>   # "pootle-terminology.po" in that project's directory, and Pootle will only 
>   # use that file for terminology matching for that project.
>       checkerstyle = u''
>       createmofiles = 0
>       terminology:

Here is your baby.

Terminology should be outdented by 2 spaces.  Not sure how the two lines
above that got added though.  That should solve this problem.

>       fullname = "Terminology"
>       description = "<div dir='ltr' lang='en'>Terminology project that Pootle 
> should use to suggest terms.<br />There might be useful terminology files on 
> the <a href='http://pootle.locamotion.org/projects/terminology/'>official 
> Pootle server</a>.</div>"
>       checkstyle = "standard"
>       localfiletype = "po"
> 
>   # pootle.languages
>   #
>   # The languages section defines the languages being translated into on this
>   # instance of Pootle.  This describes the fields listed in the following
>   # language. Preconfigured settings for many languages are included below. 
> The
>   # plural settings are based on the page on the wiki at
>   #   http://translate.sourceforge.net/wiki/l10n/pluralforms
>   # Please also update the page there if anything can be improved.
>   #
>   # af:
>   # Languages are defined by using their ISO639 language code, thus af is for
>   # Afrikaans
>   #
>   #   fullname = "Afrikaans"
>   # The fullname of the language, also from ISO639 but can be the name of the
>   # language in your language not necessarily in English. When the iso-codes
>   # package is installed, translated language names can be provided to 
>   # correspond to the interface language. The exact English names used in the 
>   # iso-codes package has to be used for translation to be successful. The 
>   # language name can also contain a country name in brackets at the back, in 
>   # which case a translation for the country name will similarly be attempted 
>   # using the iso-codes package. For example:
>   #   fullname = "Portuguese (Brazil)"
>   #
>   #   specialchars = "ÄËÏÖÜäëïöü ÂÊÎÔÛâêîôû"
>   # Special characters used by the language that you wish users to be able to
>   # see when they are editing translations. Useful for people who do not have
>   # a properly configured keyboard for the language.
>   # 
>   #   nplurals = 2
>   # This defines the number of plural forms for the language.  You need this 
> in
>   # order to edit plural form messages.  Don't know about plural forms? Read
>   # about them in the Gettext manual.  This value will also be used to set the
>   # value in the PO header if it is not already set.  Also note that the 
> header
>   # value should take precedence no matter what is set here.
>   #
>   #   pluralequation = "(n != 1)"
>   # As above in nplural this relates to plural forms.  This defines the
>   # equation that the application will use to determine which one of the N
>   # plurals it should use.  If you are unsure of what value to use have a look
>   # in other PO files for your language.
>       checkerstyle = u''
>       createmofiles = 0
>     ttft.description = u"<div dir='ltr' lang='en'>Files submitted by the 
> <b>Translation team for Thai</b>, <a 
> href='http://translationproject.org/team/th.html'>official webpage</a>.</div>"
>     ttft.createmofiles = 0
>     ttft.fullname = u'Translation Team for Thai'
>     ttft.checkerstyle = u''
>     ttft.localfiletype = u'po'in other PO files for your language.
>   # 
>   languages:
> 
> # Afrikaans
>     af.fullname = "Afrikaans"
>     af.specialchars = "ëïêôûáéíóúý"
>     af.nplurals = u'2'
>     af.pluralequation = "(n != 1)"
> 
> # Akan
> #    ak.fullname = u'Akan'
> #    ak.pluralequation = u'(n > 1)'
> #    ak.specialchars = "ɛɔƐƆ"
> #    ak.nplurals = u'2'
> 
 <# العربية
> # Arabic
>     ar.fullname = u'Arabic'
>     ar.nplurals = '6'
>     ar.pluralequation ='n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && 
> n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5'
> 
> # Azərbaycan
> # Azerbaijani
> #    az.fullname = u'Azerbaijani'
> #    az.nplurals = '2'
> #    az.pluralequation ='(n != 1)'
> 
> # Беларуская
> # Belarusian
> #    be.fullname = u'Belarusian'
> #    be.nplurals = '3'
> #    be.pluralequation ='(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && 
> (n%100<10 || n%100>=20) ? 1 : 2)'
> 
> # Български
> # Bulgarian
> #    bg.fullname = u'Bulgarian'
> #    bg.nplurals = '2'
> #    bg.pluralequation ='(n != 1)'
> 
> # বাংলা
> # Bengali
> #    bn.fullname = u'Bengali'
> #    bn.nplurals = '2'
> #    bn.pluralequation ='(n != 1)'
> 
> # Tibetan
> #    bo.fullname = u'Tibetan'
> #    bo.nplurals = '1'
> #    bo.pluralequation ='0'
> 
> # Bosanski
> # Bosnian
> #    bs.fullname = u'Bosnian'
> #    bs.nplurals = '3'
> #    bs.pluralequation ='(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && 
> (n%100<10 || n%100>=20) ? 1 : 2)'
> 
> # Català
> # Catalan
>     ca.fullname = u'Catalan; Valencian'
>     ca.nplurals = '2'
>     ca.pluralequation ='(n != 1)'
> 
> # Česky
> # Czech
>     cs.fullname = u'Czech'
>     cs.nplurals = '3'
>     cs.pluralequation ='(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2'
> 
> # Cymraeg
> # Welsh
> #    cy.fullname = u'Welsh'
> #    cy.nplurals = '2'
> #    cy.pluralequation ='(n==2) ? 1 : 0'
> 
> # Dansk
> # Danish
>     da.fullname = u'Danish'
>     da.nplurals = '2'
>     da.pluralequation ='(n != 1)'
> 
> # Deutsch
> # German
>     de.fullname = u'German'
>     de.nplurals = '2'
>     de.pluralequation ='(n != 1)'
> 
> # ང་ཁ
> # Dzongkha
> #    dz.fullname = u'Dzongkha'
> #    dz.nplurals = '1'
> #    dz.pluralequation ='0'
> 
> # Ελληνικά
> # Greek
>     el.fullname = u'Greek'
>     el.nplurals = '2'
>     el.pluralequation ='(n != 1)'
> 
> # English
>     en.fullname = u'English'
>     en.nplurals = '2'
>     en.pluralequation ='(n != 1)'
> 
> # English (United Kingdom)
> #    en_GB.fullname = u'English (United Kingdom)'
> #    en_GB.nplurals = '2'
> #    en_GB.pluralequation ='(n != 1)'
> 
> # English (South Africa)
>     en_ZA.fullname = u'English (South Africa)'
>     en_ZA.nplurals = '2'
>     en_ZA.pluralequation ='(n != 1)'
> 
> # Esperanto
> #    eo.fullname = u'Esperanto'
> #    eo.nplurals = '2'
> #    eo.pluralequation ='(n != 1)'
> 
> # Español
> # Spanish
>     es.fullname = u'Spanish; Castilian'
>     es.nplurals = '2'
>     es.pluralequation ='(n != 1)'
> 
> # Eesti
> # Estonian
>     et.fullname = u'Estonian'
>     et.nplurals = '2'
>     et.pluralequation ='(n != 1)'
> 
> # Euskara
> # Basque
>     eu.fullname = u'Basque'
>     eu.nplurals = '2'
>     eu.pluralequation ='(n != 1)'
> 
 <# فارسی
> # Persian
>     fa.fullname = u'Persian'
>     fa.nplurals = '1'
>     fa.pluralequation ='0'
> 
> # Suomi
> # Finnish
>     fi.fullname = u'Finnish'
>     fi.nplurals = '2'
>     fi.pluralequation ='(n != 1)'
> 
> # Føroyskt
> # Faroese
> #    fo.fullname = u'Faroese'
> #    fo.nplurals = '2'
> #    fo.pluralequation ='(n != 1)'
> 
> # Français
> # French
>     fr.fullname = u'French'
>     fr.nplurals = '2'
>     fr.pluralequation ='(n > 1)'
> 
> # Furlan
> # Friulian
>     fur.fullname = u'Friulian'
>     fur.nplurals = '2'
>     fur.pluralequation ='(n != 1)'
> 
> # Frysk
> # Frisian
> #    fy.fullname = u'Western Frisian'
> #    fy.nplurals = '2'
> #    fy.pluralequation ='(n != 1)'
> 
> # Gaeilge
> # Irish
>     ga.fullname = u'Irish'
>     ga.nplurals = '3'
>     ga.pluralequation ='n==1 ? 0 : n==2 ? 1 : 2'
> 
> # Galego
> # Galician
>     gl.fullname = u'Galician'
>     gl.nplurals = '2'
>     gl.pluralequation ='(n != 1)'
> 
> # ગુજરાતી
> # Gujarati
> #    gu.fullname = u'Gujarati'
> #    gu.nplurals = '2'
> #    gu.pluralequation ='(n != 1)'
> 
 <# עברית
> # Hebrew
> #    he.fullname = u'Hebrew'
> #    he.nplurals = '2'
> #    he.pluralequation ='(n != 1)'
> 
> # हिन्दी
> # Hindi
> #    hi.fullname = u'Hindi'
> #    hi.nplurals = '2'
> #    hi.pluralequation ='(n != 1)'
> 
> # Hrvatski
> # Croatian
> #    hr.fullname = u'Croatian'
> #    hr.nplurals = '3'
> #    hr.pluralequation ='(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && 
> (n%100<10 || n%100>=20) ? 1 : 2)'
> 
> # Magyar
> # Hungarian
>     hu.fullname = u'Hungarian'
>     hu.nplurals = '2'
>     hu.pluralequation ='(n !=1)'
> 
> # Bahasa Indonesia
> # Indonesian
>     id.fullname = u'Indonesian'
>     id.nplurals = '1'
>     id.pluralequation ='0'
> 
> # Icelandic
>     is.fullname = u'Icelandic'
>     is.nplurals = '2'
>     is.pluralequation = '(n != 1)'
> 
> # Italiano
> # Italian
>     it.fullname = u'Italian'
>     it.nplurals = '2'
>     it.pluralequation ='(n != 1)'
> 
> # 日本語 
> # Japanese
>     ja.fullname = u'Japanese'
>     ja.nplurals = '1'
>     ja.pluralequation ='0'
> 
> # ქართული
> # Georgian
>     ka.fullname = u'Georgian'
>     ka.nplurals = '1'
>     ka.pluralequation ='0'
> 
> # ភាសា
> # Khmer
> #    km.fullname = u'Khmer'
> #    km.nplurals = '1'
> #    km.pluralequation ='0'
> 
> # 한국어
> # Korean
>     ko.fullname = u'Korean'
>     ko.nplurals = '1'
>     ko.pluralequation ='0'
> 
> # Kurdî / كوردي
> # Kurdish
>     ku.fullname = u'Kurdish'
>     ku.nplurals = '2'
>     ku.pluralequation ='(n!= 1)'
> 
> # Kyrgyz
>     ky.fullname = u'Kirghiz; Kyrgyz'
>     ky.nplurals = '1'
>     ky.pluralequation = '0'
> 
> # Lëtzebuergesch
> # Letzeburgesch
> #    lb.fullname = u'Letzeburgesch'
> #    lb.nplurals = '2'
> #    lb.pluralequation ='(n != 1)'
> 
> # Luganda
> # Ganda
> #    lg.fullname = u'Luganda'
> #    lg.nplurals = '2'
> #    lg.pluralequation = '(n != 1)'
> #    lg.specialchars = "ŋŊÿŸ…"
> 
> # Lingála
> # Lingala
>     ln.fullname = u'Lingala'
>     ln.nplurals = '2'
>     ln.pluralequation = '(n != 1)'
>     ln.specialchars = u'ɛɔƐƆáâǎéêěɛ́ɛ̂ɛ̌íîǐóôǒɔ́ɔ̂ɔ̌ú'
> 
> # Lietuvių
> # Lithuanian
>     lt.fullname = u'Lithuanian'
>     lt.nplurals = '3'
>     lt.pluralequation ='(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || 
> n%100>=20) ? 1 : 2)'
> 
> # Latviešu
> # Latvian
>     lv.fullname = u'Latvian'
>     lv.nplurals = '3'
>     lv.pluralequation ='(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2)'
> 
> # Malayalam
>     ml.fullname = u'Malayalam'
>     ml.nplurals = '2'
>     ml.pluralequation = '(n != 1)'
> 
> # Malagasy
> #    mg.fullname = u'Malagasy'
> #    mg.nplurals = '2'
> #    mg.pluralequation ='(n > 1)'
> 
> # Монгол
> # Mongolian
> #    mn.fullname = u'Mongolian'
> #    mn.nplurals = '2'
> #    mn.pluralequation ='(n != 1)'
> 
> # Marathi
> #    mr.fullname = u'Marathi'
> #    mr.nplurals = u'2'
> #    mr.pluralequation = u'(n != 1)'
> 
> # Malay
> #    ms.fullname = u'Malay'
> #    ms.nplurals = u'1'
> #    ms.pluralequation = u'0'
> 
> # Malti
> # Maltese
>     mt.fullname = u'Maltese'
>     mt.nplurals = '4'
>     mt.pluralequation ='(n==1 ? 0 : n==0 || ( n%100>1 && n%100<11) ? 1 : 
> (n%100>10 && n%100<20 ) ? 2 : 3)'
> 
> # Nahuatl
> #    nah.fullname = u'Nahuatl'
> #    nah.nplurals = '2'
> #    nah.pluralequation ='(n != 1)'
> 
> # Neapolitan
>     nap.fullname = u'Neapolitan'
>     nap.nplurals = '2'
>     nap.pluralequation ='(n != 1)'
> 
> # Bokmål
> # Norwegian Bokmal
>     nb.fullname = u'Norwegian Bokmal'
>     nb.nplurals = '2'
>     nb.pluralequation ='(n != 1)'
> 
> # Nepali
> #    ne.fullname = u'Nepali'
> #    ne.nplurals = u'2'
> #    ne.pluralequation = u'(n != 1)'
> 
> # Nederlands
> # Dutch
>     nl.fullname = u'Dutch; Flemish'
>     nl.nplurals = '2'
>     nl.pluralequation ='(n != 1)'
> 
> # Nynorsk
> # Norwegian Nynorsk
>     nn.fullname = u'Norwegian Nynorsk'
>     nn.nplurals = '2'
>     nn.pluralequation ='(n != 1)'
> 
> # Sesotho sa Leboa
> # Northern Sotho
> #    nso.fullname = u'Northern Sotho'
> #    nso.nplurals = '2'
> #    nso.pluralequation ='(n > 1)'
> #    nso.specialchars = "šŠ"
> 
> # Oriya
> #    or.fullname = u'Oriya'
> #    or.nplurals = '2'
> #    or.pluralequation ='(n != 1)'
> 
> # Punjabi
> #    pa.fullname = u'Panjabi; Punjabi'
> #    pa.nplurals = '2'
> #    pa.pluralequation ='(n != 1)'
> 
> # Papiamento
>     pap.fullname = u'Papiamento'
>     pap.nplurals = '2'
>     pap.pluralequation ='(n != 1)'
> 
> # Polski
> # Polish
>     pl.fullname = u'Polish'
>     pl.nplurals = '3'
>     pl.pluralequation ='(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || 
> n%100>=20) ? 1 : 2)'
> 
> # Português
> # Portuguese
>     pt.fullname = u'Portuguese'
>     pt.nplurals = '2'
>     pt.pluralequation ='(n != 1)'
> 
> # Português do Brasil
> # Brazilian Portuguese
>     pt_BR.fullname = u'Portuguese (Brazil)'
>     pt_BR.nplurals = '2'
>     pt_BR.pluralequation ='(n > 1)'
> 
> # Română
> # Romanian
>     ro.fullname = u'Romanian'
>     ro.nplurals = '3'
>     ro.pluralequation ='(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 
> 2);'
> 
> # Русский
> # Russian
>     ru.fullname = u'Russian'
>     ru.nplurals = '3'
>     ru.pluralequation ='(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && 
> (n%100<10 || n%100>=20) ? 1 : 2)'
> 
> # Slovenčina
> # Slovak
>     sk.fullname = u'Slovak'
>     sk.nplurals = '3'
>     sk.pluralequation ='(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2'
> 
> # Slovenščina
> # Slovenian
>     sl.fullname = u'Slovenian'
>     sl.nplurals = '4'
>     sl.pluralequation ='(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 
> 2 : 3)'
> 
> # Shqip
> # Albanian
>     sq.fullname = u'Albanian'
>     sq.nplurals = '2'
>     sq.pluralequation ='(n != 1)'
> 
> # Српски / Srpski
> # Serbian
>     sr.fullname = u'Serbian'
>     sr.nplurals = '3'
>     sr.pluralequation ='(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && 
> (n%100<10 || n%100>=20) ? 1 : 2)'
> 
> # Sesotho
> # Sotho
>     st.fullname = u'Sotho, Southern'
>     st.nplurals = '2'
>     st.pluralequation ='(n != 1)'
> 
> # Svenska
> # Swedish
>     sv.fullname = u'Swedish'
>     sv.nplurals = '2'
>     sv.pluralequation ='(n != 1)'
> 
> # தமிழ்
> # Tamil
> #    ta.fullname = u'Tamil'
> #    ta.nplurals = '2'
> #    ta.pluralequation ='(n != 1)'
> 
> # తెలుగు
> # Telugu
>     te.fullname = u'Telugu'
>     te.nplurals = u'2'
>     te.pluralequation = u'(n != 1)'
> 
> # Туркмен / تركمن
> # Turkmen
> #    tk.fullname = u'Turkmen'
> #    tk.nplurals = '2'
> #    tk.pluralequation ='(n != 1)'
> 
> # Tagalog
>     tl.fullname = u'Tagalog'
>     tl.nplurals = '2'
>     tl.pluralequation = '(n > 1)'
> 
> # ภาษาไทย
> # Thai
>     th.fullname = u'Thai'
>     th.nplurals = '1'
>     th.pluralequation = u'0'
> 
> # Türkçe
> # Turkish
>     tr.fullname = u'Turkish'
>     tr.nplurals = '1'
>     tr.pluralequation ='0'
> 
> # Українська
> # Ukrainian
>     uk.fullname = u'Ukrainian'
>     uk.nplurals = '3'
>     uk.pluralequation ='(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && 
> (n%100<10 || n%100>=20) ? 1 : 2)'
>  
> # Tshivenḓa
> # Venda
> #    ve.fullname = u'Venda'
> #    ve.nplurals = '2'
> #    ve.pluralequation ='(n != 1)'
> #    ve.specialchars = "ḓṋḽṱ ḒṊḼṰ ṅṄ"
> 
> # Urdu
> #    ur.fullname = u'Urdu'
> #    ur.nplurals = '2'
> #    ur.pluralequation ='(n != 1)'
> 
> # Vietnamese
>     vi.fullname = u'Vietnamese'
>     vi.nplurals = '1'
>     vi.pluralequation ='0'
> 
> # Wolof
>     wo.fullname = u'Wolof'
>     wo.nplurals = '2'
>     wo.pluralequation ='(n != 1)'
> 
> # Walon
> # Walloon
> #    wa.fullname = u'Waloon'
> #    wa.nplurals = '2'
> #    wa.pluralequation ='(n > 1)'
> 
> # 简体中文
> # Simplified Chinese (China mainland used below, but also used in Singapore 
> and Malaysia)
>     zh_CN.fullname = u'Chinese (China)'
>     zh_CN.nplurals = '1'
>     zh_CN.pluralequation ='0'
>     zh_CN.specialchars = "←→↔×÷©…—‘’“”【】《》"
> 
> # 繁體中文
> # Traditional Chinese (Hong Kong used below, but also used in Taiwan and 
> Macau)
> #    zh_HK.fullname = u'Chinese (Hong Kong)'
> #    zh_HK.nplurals = '1'
> #    zh_HK.pluralequation ='0'
> #    zh_HK.specialchars = "←→↔×÷©…—‘’“”「」『』【】《》"
> 
> # 繁體中文
> # Traditional Chinese (Taiwan used below, but also used in Hong Kong and 
> Macau)
>     zh_TW.fullname = u'Chinese (Taiwan)'
>     zh_TW.nplurals = '1'
>     zh_TW.pluralequation ='0'
>     zh_TW.specialchars = "←→↔×÷©…—‘’“”「」『』【】《》"
> 
> # This is a "language" that gives people access to the (untranslated) 
> template files
>     templates.fullname = u'Templates'
>     enablealtsrc = False
>   enablealtsrc = False
> plain text document attachment (users.prefs)
> # This is the users file which stores information for each of the Pootle 
> users.
> # The following is an example, each of the options available is explained 
> after
> # the complete user specification.
> #
> # example:
> #   email = '[email protected]'
> #   name = 'John Doe'
> #   activationcode = '427efdf9ad7906bc41016ddf969b26a5'
> #   activated = 1
> #   passwdhash = '1a79a4d60de6718e8e5b326e338ae533'
> #   rights.siteadmin = True
> #   translaterows = '7'
> #   viewrows = '10'
> #   inputwidth = '60'
> #   inputheight = '8'
> #   languages = 'af'
> #   projects = 'pootle'
> # anotheruser:
> #   email = ...
> #
> # Explanation of options:
> #   email - the email address of the user
> #   name - the fullname of the user which is used to update the PO header
> #     entry.
> #   activationcode - the code sent to the user when they registered and which
> #     they need to supply to enable their Pootle account. An admin user can
> #     enable user manually on the user admin page.
> #   activated - has this user been activated 1 = yes, 0 = no.  Users must be
> #     activated to be able to login to Pootle.
> #   passwdhash - an MD5 sum hash of the users password
> #   rights.siteadmin - you need at least one of these, they have full rights
> #     for all languages and all projects. You need at least one to start 
> adding
> #     users.
> #   translaterows - the number of rows displayed in translated mode
> #   viewrows - the number of rows displayed in view mode
> #   inputwidth - the width of the translation input widget in characters
> #   inputheight - the height of the translation input widget in rows
> #   languages - the languages listed on the users home page
> #   projects - the projects listed on the users home page
> #   altsrclanguage - the alternative source language to use. This setting has 
> effect
> #     only if the feature is enabled on the server (enablealtsrc on 
> pootle.prefs)
> #
> # Startup User:
> #  When first starting Pootle it is helpful to have a default user.  Below we
> #  have provided such a user called startup with a password of startup.  You 
> #  may use this user by uncommenting the the lines below.  
> #  
> #  Once your site is configured, please remove this user by deleting the 
> startup
> #  user using the admin interface or by manually deleting the lines from this 
> #  file.  Please also ensure that you have a user with siteadmin rights.
> # 
> #  NOTE: leaving this user enabled will compromise your Pootle setup.
> #
> #startup:
> #  activated = 1
> #  passwdhash = 'dd82c1882969461de74b46427961ea2c'
> #  rights.siteadmin = True
> #  name = ''
> #  email = ''
> jfl:
>   activated = 1
>   activationcode = '324d9ca72ba01f5e4dff127425ed0f2b'
>   passwdhash = 'c1f4ebc34d6749df60fdea9d6f0c0436'
>   rights.siteadmin = True
>   email = u'[email protected]'
>   name = u'John Francis Lee'
>   projects = ''
>   uilanguage = u'en'
>   altsrclanguage = ''
>   languages = u'th'
> m2:
>   activated = 1
>   email = u'[email protected]'
>   name = u'M2 Students'
>   passwdhash = '560b4dd9c9b80c327b34a9026d1daf14'
> m4:
>   activated = 1
>   email = u'[email protected]'
>   name = u'M4 Students'
>   passwdhash = 'fb2a758b414c657e97754d30499b8872'
> ------------------------------------------------------------------------------
> Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
> software. With Adobe AIR, Ajax developers can use existing skills and code to
> build responsive, highly engaging applications that combine the power of local
> resources and data with the reach of the web. Download the Adobe AIR SDK and
> Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
> _______________________________________________ Translate-pootle mailing list 
> [email protected] 
> https://lists.sourceforge.net/lists/listinfo/translate-pootle
-- 
Dwayne Bailey
Associate                                      +27 12 460 1095 (w)
Translate.org.za                               +27 83 443 7114 (c)

Recent blog posts:
* Fixes for Skype Video, Webcam on Fedora
http://www.translate.org.za/blogs/dwayne/en/content/fixes-skype-video-webcam-fedora
* libtranslate, TM plugins and Virtaal
* Localisation Information Language - preventing mistakes and increasing the 
richness of localisation

Stop Digital Apartheid! - http://www.digitalapartheid.com
Firefox web browser in Afrikaans - http://af.www.mozilla.com/af/
African Network for Localisation (ANLoc) - http://africanlocalisation.net/



------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-http://p.sf.net/sfu/adobe-com
_______________________________________________
Translate-pootle mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/translate-pootle

Reply via email to