--- pootle-2.0.1.orig/debian/pyversions +++ pootle-2.0.1/debian/pyversions @@ -0,0 +1 @@ +2.3- --- pootle-2.0.1.orig/debian/pootle.prerm +++ pootle-2.0.1/debian/pootle.prerm @@ -0,0 +1,9 @@ +#!/bin/sh +set -e + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 --- pootle-2.0.1.orig/debian/pootle.default +++ pootle-2.0.1/debian/pootle.default @@ -0,0 +1,8 @@ +# This file is sourced by /etc/init.d/pootle + +# Set this variable to Yes if you want to run pootle at startup +POOTLE_ENABLE=No + +# Additional options for the Pootle daemon +POOTLE_OPTIONS="" + --- pootle-2.0.1.orig/debian/control +++ pootle-2.0.1/debian/control @@ -0,0 +1,29 @@ +Source: pootle +Section: python +Priority: optional +Maintainer: Nicolas FRANCOIS (Nekral) +Build-Depends-Indep: python-all-dev (>= 2.3.5-11), python-central (>= 0.5.6) +Build-Depends: debhelper (>= 7.0.50~), quilt (>= 0.40) +XS-Python-Version: current, >= 2.3 +Standards-Version: 3.8.3 +Vcs-Svn: svn://svn.debian.org/svn/debian-l10n/pootle/trunk +Vcs-Browser: http://svn.debian.org/viewsvn/debian-l10n/pootle/trunk +Homepage: http://translate.sourceforge.net/wiki/pootle/index + +Package: pootle +Architecture: all +Pre-Depends: python-django +Depends: ${misc:Depends}, ${python:Depends}, translate-toolkit (>= 1.5.2), adduser, python-lxml, libjs-jquery, python-django-registration, python-django-djblets +Recommends: python-xapian, zip, python-levenshtein, iso-codes +XB-Python-Version: ${python:Versions} +Description: Web-based translation and translation management tool + Pootle provides a rich set of features for managing a translation + project. It integrates components of the Translate Toolkit to provide + error checkers for translation messages and the ability to download files + in a number of formats: PO, XLIFF, CSV. Pootle can also provide compiled + PO files for download. You can use it to assign work to translators in + your team, and you can define goals to help focus the efforts of your + translation. Pootle can run without a Web server or be proxied through + your existing Apache server. The Translate Toolkit is a set of software + and documentation designed to help make the lives of localizers both more + productive and less frustrating. --- pootle-2.0.1.orig/debian/pootle.install +++ pootle-2.0.1/debian/pootle.install @@ -0,0 +1 @@ +debian/pootle.prefs debian/users.prefs /etc/pootle/ --- pootle-2.0.1.orig/debian/README.Debian +++ pootle-2.0.1/debian/README.Debian @@ -0,0 +1,41 @@ +Setting up of a Pootle server: +============================== + +The Pootle server use the djago framework. You can configure it using + django-admin --settings pootle + +You should setup + * /etc/pootle/localsettings.py +This file must be readable by the 'pootle' user. +This file may contain passwords. In that case, you should restrict the +access to this file, but note however that it should be readable by the +'pootle' user. + + * You must configure the mail address used to send the registrations code + of the new users. This address can be configured in the pootle.prefs + file (fromaddress). + + * The Pootle server will be run at startup if you set the POOTLE_ENABLE + variable to "Yes" in /etc/default/pootle. + + +#Once started, you need to create a Pootle admin: +# 1 - register to your pootle server (it should be available at +# http://localhost:8080/) +# 2 - use the registration code that you should receive by mail +# 3 - edit the /etc/pootle/users.prefs file, and add +# "rights.siteadmin = True" to this user entry (you must respect the +# indentation). +# +#Only this Pootle admin will be able to add new projects and languages, or +#to configure the rights of the other users. + + +#Security +#======== +#Pootle implements an HTTP server. The users' passwords and translation are +#transfered without any protection. +#In order to secure the connexions to Pootle, you should use a SSL proxy. +# +#You can find an example of how to configure an apache proxy on: +#http://translate.sourceforge.net/wiki/pootle/apache --- pootle-2.0.1.orig/debian/pootle.examples +++ pootle-2.0.1/debian/pootle.examples @@ -0,0 +1 @@ +localsettings.py --- pootle-2.0.1.orig/debian/pootle.prefs +++ pootle-2.0.1/debian/pootle.prefs @@ -0,0 +1,755 @@ +# -*- 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 = "/" + + # 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
...
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 = "
This is a demo installation of Pootle.
You can also visit the official Pootle server. The server administrator has not provided contact information or a description of this server. If you are the administrator for this server, edit this description in your preference file or in the administration interface.
" + + # 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 = "pootle-registration@localhost" + smtpserver = "localhost" + # supportaddress = "pootle-admin@yourdomain.org" + + # 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
...
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 = "
Interface translations for Pootle.
See the official Pootle server for the translations of Pootle.
" + 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. + terminology: + fullname = "Terminology" + description = "
Terminology project that Pootle should use to suggest terms.
There might be useful terminology files on the official Pootle server.
" + 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. + # + languages: + +# Afrikaans + af.fullname = "Afrikaans" + af.specialchars = "ëïêôûáéíóúý" + af.nplurals = 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)' + +# 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' --- pootle-2.0.1.orig/debian/README.source +++ pootle-2.0.1/debian/README.source @@ -0,0 +1,11 @@ +This package uses quilt to patch the upstream source. + +You can find some info on how to generate the patched source, add a new +modification, and remove an existing modification on: + /usr/share/doc/quilt/README.source + +================================================================================ + +This package uses svn-buildpackage, on the following repository: + svn://svn.debian.org/svn/debian-l10n/pootle/ + --- pootle-2.0.1.orig/debian/pycompat +++ pootle-2.0.1/debian/pycompat @@ -0,0 +1 @@ +2 --- pootle-2.0.1.orig/debian/pootle.postinst +++ pootle-2.0.1/debian/pootle.postinst @@ -0,0 +1,92 @@ +#!/bin/sh +# +# Postinst script for pootle +# + +set -e + +POOTLE_USER=pootle +POOTLE_GROUP=pootle +POOTLE_HOME=/var/lib/pootle + +case "$1" in + configure) + if ! getent group $POOTLE_GROUP > /dev/null 2>&1; then + echo -n "Adding group $POOTLE_GROUP.." + addgroup --quiet --system $POOTLE_GROUP + echo "..done" + fi + if ! getent passwd $POOTLE_USER > /dev/null 2>&1; then + echo -n "Adding user $POOTLE_USER.." + adduser --quiet --system --gecos "Pootle daemon" \ + --ingroup $POOTLE_GROUP \ + --no-create-home --home $POOTLE_HOME \ + $POOTLE_USER + echo "..done" + fi + + mkdir -p /var/lib/pootle + chmod 755 /var/lib/pootle + chown $POOTLE_USER:$POOTLE_GROUP /var/lib/pootle + chmod -R 755 /var/lib/pootle/po + chown -R $POOTLE_USER:$POOTLE_GROUP /var/lib/pootle/po + chmod -R 755 /var/lib/pootle/dbs + chown -R $POOTLE_USER:$POOTLE_GROUP /var/lib/pootle/dbs + + # Ensure the configuration files will be only readable by 'pootle' + chmod 770 /etc/pootle +# chmod 660 /etc/pootle/pootle.prefs +# chmod 660 /etc/pootle/users.prefs + chown -R $POOTLE_USER:root /etc/pootle + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +rm -f /var/lib/pycentral/pootle.pkgremove +if which pycentral >/dev/null 2>&1; then + pycentral pkginstall pootle + if grep -qs '^pootle$' /var/lib/pycentral/delayed-pkgs; then + sed -i '/^pootle$/d' /var/lib/pycentral/delayed-pkgs + fi +fi + +case "$1" in + configure) + if [ -z "$2" ]; then + su pootle -p -c "django-admin syncdb --settings pootle.settings --noinput" + su pootle -p -c "django-admin initdb --settings pootle.settings" + su pootle -p -c "django-admin refresh_stats --settings pootle.settings" +# createsuperuser ? => use debconf for this + elif dpkg --compare-versions "$2" lt 1.3.0~beta3-1; then + cd /var/lib/pootle + for d in *; do + case "$d" in + dbs|po|pootle|terminology|tutorial) + ;; + *) + echo "Moving /var/lib/pootle/$d to /var/lib/pootle/po/$d" + mv "$d" po/ + ;; + esac + done + su pootle -p -c "django-admin syncdb --settings pootle.settings --noinput" + su pootle -p -c "django-admin initdb --settings pootle.settings" + su pootle -p -c "python /usr/share/pyshared/pootle/tools/import_old_prefs.py /etc/pootle/pootle.prefs /etc/pootle/users.prefs" + su pootle -p -c "django-admin refresh_stats --settings pootle.settings" + fi + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 --- pootle-2.0.1.orig/debian/copyright +++ pootle-2.0.1/debian/copyright @@ -0,0 +1,23 @@ +This package was debianized by Nicolas FRANCOIS (Nekral) + on Mon, 16 Oct 2005. + +It was downloaded from http://translate.sourceforge.net + +Copyright (C) 2004-2008 Zuza Software Foundation + +Upstream Authors: David Fraser, translate.org.za + +License: + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +On Debian GNU/Linux systems, the complete text of the GNU General Public +License can be found in ‘/usr/share/common-licenses/GPL-2’. --- pootle-2.0.1.orig/debian/PootleServer.8 +++ pootle-2.0.1/debian/PootleServer.8 @@ -0,0 +1,47 @@ +.\" This manpage is copyright (C) 2005 Nicolas Francois +.\" . +.\" This is free software, published under version 2 or (at your option) +.\" any later version of the GNU General Public License. You should +.\" have received a copy of the GNU General Public License with your +.\" Debian GNU/Linux system as /usr/share/common-licenses/GPL. +.\" +.TH POOTLESERVER 8 "September 15, 2005" + +.SH NAME +PootleServer \- Web-based translation and translation management tool + +.SH SYNOPSIS +\fBPootleServer\fP [options] + +.SH DESCRIPTION +Pootle provides a rich set of features for managing a translation +project. It integrates components of the Translate Toolkit to provide +error checkers for translation messages and the ability to download files +in a number of formats: PO, XLIFF, CSV. Pootle can also provide compiled +PO files for download. You can use it to assign work to translators in +your team, and you can define goals to help focus the efforts of your +translation. Pootle can run without a Web server or be proxied through +your existing Apache server. The Translate Toolkit is a set of software +and documentation designed to help make the lives of localizers both more +productive and less frustrating. + +.SH OPTIONS +.TP +.BR --version +show program's version number and exit +.TP +.BR -h ", " --help +show an help message and exit +.TP +\fB--port\fP=\fIPORT\fP +set port to listen on. +The default port is 8080. +.TP +.B --refreshstats +refresh the stats files instead of running the webserver. + +.SH AUTHOR +\fBPootle\fP was written by Dwayne Bailey and others. +.P +This man page was written by Nicolas Fran\[,c]ois for the Debian project +(but may be used by others). --- pootle-2.0.1.orig/debian/users.prefs +++ pootle-2.0.1/debian/users.prefs @@ -0,0 +1,59 @@ +# 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 = 'johndoe@example.com' +# 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 = '' --- pootle-2.0.1.orig/debian/watch +++ pootle-2.0.1/debian/watch @@ -0,0 +1,6 @@ +# Example watch control file for uscan +# Rename this file to "watch" and then you can run the "uscan" command +# to check for upstream updates and more. +# Site Directory Pattern Version Script +version=2 +http://sf.net/translate/Pootle-(.*).tar.(?:gz|bz2) --- pootle-2.0.1.orig/debian/pootle.manpages +++ pootle-2.0.1/debian/pootle.manpages @@ -0,0 +1,2 @@ +debian/PootleServer.8 +debian/updatetm.1 --- pootle-2.0.1.orig/debian/rules +++ pootle-2.0.1/debian/rules @@ -0,0 +1,19 @@ +#!/usr/bin/make -f + +d=$(CURDIR)/debian/pootle + +%: + dh --with quilt --with python-central $@ + +override_dh_install: + dh_install + # Pootle is a WEB server, I prefer to install it in sbin + mv $(d)/usr/bin/PootleServer $(d)/usr/sbin + # Remove extra files + rm $(d)/usr/share/doc/pootle/INSTALL + rm $(d)/usr/share/doc/pootle/COPYING + # Pootle includes a copy of some javascript libraries + rm $(d)/usr/share/pootle/html/js/jquery/jquery.min.js + dh_link /usr/share/javascript/jquery/jquery.min.js \ + /usr/share/pootle/html/js/jquery/jquery.min.js + --- pootle-2.0.1.orig/debian/pootle.init +++ pootle-2.0.1/debian/pootle.init @@ -0,0 +1,108 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: pootle +# Required-Start: $local_fs $remote_fs $network +# Required-Stop: $local_fs $remote_fs $network +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Pootle Server +# Description: Pootle is a web-based translation and a translation +# management tool +### END INIT INFO + +# Pootle init script +# + +set -e + +[ -r /etc/default/pootle ] && . /etc/default/pootle + +case "$POOTLE_ENABLE" in + [Yy][Ee][Ss]) + ;; + *) + echo "Pootle daemon not started (disabled by /etc/default/pootle)" + exit 0 + ;; +esac + +# Defaults +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/PootleServer +PIDFILE=/var/run/pootle/pootle.pid +POOTLE_USER=pootle +POOTLE_GROUP=pootle +DESC="Pootle daemon: PootleServer" + +OPTIONS="$POOTLE_OPTIONS" + +case "$1" in + start) + if [ ! -d /var/run/pootle ]; then + mkdir /var/run/pootle + chown $POOTLE_USER:root /var/run/pootle + chmod 755 /var/run/pootle + fi + echo -n "Starting $DESC..." + if LC_ALL=C start-stop-daemon --start --quiet \ + --oknodo \ + --background \ + --make-pidfile \ + --pidfile $PIDFILE \ + --exec /usr/bin/python \ + --user $POOTLE_USER \ + --chuid $POOTLE_USER:$POOTLE_GROUP \ + --umask 002 \ + --startas $DAEMON -- $OPTIONS >> /var/log/pootle 2>&1 + then + echo "." + else + echo " (failed)." + exit 1 + fi + ;; + stop) + echo -n "Stopping $DESC..." + if start-stop-daemon --stop --quiet \ + --oknodo \ + --pidfile $PIDFILE \ + --user $POOTLE_USER + then + rm -f $PIDFILE + echo "." + else + echo " (failed)." + exit 1 + fi + ;; + restart|force-reload) + sh $0 stop + sleep 1 + sh $0 start + ;; + status) + echo -n "$DESC " + if start-stop-daemon --stop --signal 0 --quiet \ + --pidfile $PIDFILE \ + --user $POOTLE_USER + then + echo "running" + exit 0 + else + if [ -e "$PIDFILE" ] + then + echo "failed" + exit 1 + else + echo "not running" + exit 0 + fi + fi + ;; + *) + echo "Usage: $0 {start|stop|restart|force-reload|status}" + exit 1 + ;; +esac + +exit 0 --- pootle-2.0.1.orig/debian/pootle.dirs +++ pootle-2.0.1/debian/pootle.dirs @@ -0,0 +1,5 @@ +etc/pootle +usr/sbin +usr/share/doc/pootle +usr/share/pootle +var/lib/pootle --- pootle-2.0.1.orig/debian/updatetm.1 +++ pootle-2.0.1/debian/updatetm.1 @@ -0,0 +1,61 @@ +.TH UPDATETM 1 +.SH NAME +updatetm \- write a tm file for Pootle +.SH SYNOPSIS +.B updatetm +.RB [ --version ] +.RB [ -h | --help ] +.RB [ --manpage ] +.RB [ --progress +.IR PROGRESS ] +.RB [ --errorlevel +.IR ERRORLEVEL ] +.RB [ -i | --input +.IR INPUT ] +.RB [ -x | --exclude +.IR EXCLUDE ] +.RB [ -o | --output +.IR OUTPUT ] +.RB [ --psyco +.IR MODE ] +. +.SH OPTIONS +.TP +.B --version +show program's version number and exit. +.TP +.BR -h ", " --help +Show this help message and exit. +.TP +.B --manpage +Output a manpage based on the help. +.TP +\fB--progress\fR=\fIPROGRESS\fP +Show progress as: dots, none, bar, names, verbose. +.TP +\fB--errorlevel\fR=\fIERRORLEVEL\fP +Show errorlevel as: none, message, exception, traceback. +.TP +\fB-i\fIINPUT\fR, \fB--input\fR=\fIINPUT\fP +Read from INPUT in po, pot formats. +.TP +\fB-x\fIEXCLUDE\fR, \fB--exclude\fR=\fIEXCLUDE\fP +Exclude names matching EXCLUDE from input paths. +.TP +\fB-o\fIOUTPUT\fR, \fB--output\fR=\fIOUTPUT\fP +Write to OUTPUT in po.tm format. +.TP +\fB--psyco\fR=\fIMODE\fP +Use psyco to speed up the operation, modes: none, full, profile. +.TP +\fB-t\fITM\fR, \fB--tm\fR=\fITM\fP +The file to use as translation memory. +.TP +\fB-c\fIMAX_CANDIDATES\fR, \fB--candidates\fR=\fIMAX_CANDIDATES\fP +The maximum number of TM candidates to store per message. +.TP +\fB-s\fIMIN_SIMILARITY\fR, \fB--similarity\fR=\fIMIN_SIMILARITY\fP +The minimum similarity for inclusion. +.TP +\fB--length\fR=\fIMAX_LENGTH\fP +The maximum string length to consider. --- pootle-2.0.1.orig/debian/NEWS +++ pootle-2.0.1/debian/NEWS @@ -0,0 +1,8 @@ +pootle (2.0.0-1) unstable; urgency=low + + * Starting from version 2.0.0, the projects' translation files are stored in + /var/lib/pootle/po instead of /var/lib/pootle. The project directories + should be moved automatically when you update the pootle package, but you + may have to update manually any link to these directories. + + -- Nicolas FRANCOIS (Nekral) Sun, 06 Dec 2009 16:30:22 +0100 --- pootle-2.0.1.orig/debian/changelog +++ pootle-2.0.1/debian/changelog @@ -0,0 +1,412 @@ +pootle (2.0.1-2) unstable; urgency=low + + * debian/control: Added dependencies on python-django-registration, + python-django-djblets. Do not distribute /usr/share/pyshared/djblets/ and + /usr/share/pyshared/registration/. Closes: #567376 + * debian/patches/debian_remove_external, debian/patches/series: Do not + distribute the registration and djblets external apps. + + -- Nicolas FRANCOIS (Nekral) Fri, 29 Jan 2010 21:56:48 +0100 + +pootle (2.0.1-1) unstable; urgency=low + + * New upstream release + * debian/control: Updated dependency on translate-toolkit to version 1.5.2. + * debian/rules: Restore the ca@valencia PO files. This is no longer needed + with the updated translate-toolkit dependency. Closes: #561048 + * debian/pootle.init: Pass options from /etc/default/pootle when the server + is started. Closes: #563638 + * debian/PootleServer.8: Updated manpage (old options removed). + * debian/pootle.postinst: Create the pootle user with the --no-create-home + option to avoid a warning. Closes: #484663 + * debian/pootle.postinst: Use su instead of sudo. Closes: #561364 + + -- Nicolas FRANCOIS (Nekral) Wed, 13 Jan 2010 22:51:37 +0100 + +pootle (2.0.0-2) unstable; urgency=low + + * debian/rules: Removed language ca@valencia. It currently blocks upgrades. + + -- Nicolas FRANCOIS (Nekral) Sun, 13 Dec 2009 22:26:07 +0100 + +pootle (2.0.0-1) unstable; urgency=low + + [ Nicolas François ] + * New upstream release + * debian/rules: Cleanup. Removed commented code. + * debian/contrib/cPootle: Removed. It does not apply anymore to the new + version of Pootle. + * debian/pootle.example: Removed debian/pootle.conf. The apache + configuration should be updated. + + [ Rail Aliev ] + Changes introduced in 1.3.0~beta4-1~ppa1: + * debian/compat: Bumped to 7 + * debian/control: + - Drop python-kid dependency. + - Depend on libjs-jquery instead of internal one. + - Updated debhelper build dependency + - Depend on ${misc:Depends} + * debian/rules: + - Use debhelper 7 features to simplify the rules. + - Remove upstream INSTALL file. + - Remove duplicated COPYING file. + - Use symlinked jquery.min.js from libjs-jquery instead of internal. + - Remove unused debian/pootle.lintian-overrides and not needed + debian/pootle.docs files. + * debian/copyright: Do not mention where the license is located in the + source package. + * debian/pootle.dirs: Removed usr/share/lintian/overrides + + -- Nicolas FRANCOIS (Nekral) Sun, 13 Dec 2009 14:12:44 +0100 + +pootle (2.0.0~rc2-1) UNRELEASED; urgency=low + + * New upstream release + * debian/control: Updated version dependency of translate-toolkit to 1.5.0 + * debian/patches/packaging_install_outside_rootdir.patch: Disabled. The + patched code was commented out upstream. + + -- Nicolas FRANCOIS (Nekral) Sun, 06 Dec 2009 17:01:12 +0100 + +pootle (2.0.0~rc1-1) UNRELEASED; urgency=low + + * New upstream release + * debian/patches/import_old_config.patch: Disabled. Bug fixed upstream and + import of activation keys is not necessary. + * debian/pootle.postinst: Fix import of project. The project directories + need to be moved from /var/lib/pootle to /var/lib/pootle/po + * debian/NEWS: Warn about this move of data files. + + -- Nicolas FRANCOIS (Nekral) Sun, 06 Dec 2009 16:33:13 +0100 + +pootle (1.3.0~beta3-1) UNRELEASED; urgency=low + + * New beta upstream release + * debian/control: Depend on python-django instead of python-jtoolkit + * debian/control: python-django is a Pre-Depends since it is needed to + configure the database. + * debian/pootle.examples: The new configuration is localsettings.py. Removed + Pootle/pootle.prefs and Pootle/users.prefs. + * debian/patches/series: + + debian/patches/debian_system_installation.patch: Removed. Another Debian + customization might be needed, but it will be very different. + + packaging_install_outside_rootdir.patch: When installing in a temporary + root directory to prepare a package, the paths in localsettings.py are + invalid. (--prefix should be checked. + + debian/patches/import_old_config.patch: activationcode is now + activation_key and is in the profile table, not user. + + removed all patches. They should be re-checked. + * debian/pootle.docs: There is no Pootle directory anymore. + * debian/pootle.init: With the new version, start-stop-daemon needs to do + the daemonization and creation of the pidfile. + * debian/rules + + new setup file + + Cleanup should be updated + + The new setup rules install files in the expected locations. + + There is no Pootle directory anymore. + + Run dh_pycentral with --noscripts because some code is needed between + the dh_pycentral and dh_installinit blocks in the postinst script. + * debian/pootle.postinst: Updated to the new /var/lib layout + * debian/pootle.postinst: Configure the pootle database on installation and + try to import users during updates. + * debian/README.Debian: Update some Debian specific documentation. + + -- Nicolas FRANCOIS (Nekral) Sat, 12 Sep 2009 01:12:43 +0200 + +pootle (1.2.1-4) unstable; urgency=low + + * debian/patches/translate_toolkit_1_4.patch: Fix failures with the new + translate toolkit version (1.4). + * debian/control: Standards-Version bumped to 3.8.3. + * debian/pootle.dirs: do not distribute var/run/pootle. This is created by + the init script. + + -- Nicolas FRANCOIS (Nekral) Wed, 02 Sep 2009 21:07:46 +0200 + +pootle (1.2.1-3) unstable; urgency=low + + * debian/patches/pootle_continue_after_po_failure.patch: Updated patch. + classifyunits does not exist anymore. + + -- Nicolas FRANCOIS (Nekral) Fri, 29 May 2009 20:58:00 +0200 + +pootle (1.2.1-2) unstable; urgency=low + + * debian/control: Recommend python-levenshtein. + * debian/pootle.init: Display a message when pootle is started, but disabled + in /etc/default/pootle. Closes: #525130 + * debian/rules, debian/pootle.lintian-overrides: Use dh_lintian to install + the lintian overrides. + * debian/control, debian/compat: Build depend on debhelper >= 6.0.7 for + dh_lintian. + * debian/pootle.postinst, debian/pootle.prerm, debian/rules: dh_installinit + --no-start and the manually added code in postinst and prerm are no more + needed. + * debian/control: Standards-Version bumped to 3.8.1. No changes. + + -- Nicolas FRANCOIS (Nekral) Fri, 22 May 2009 21:37:14 +0200 + +pootle (1.2.1-1) experimental; urgency=low + + * New upstream release + * debian/control: Updated version dependency on translate-toolkit + (>= 1.2.1). + + -- Nicolas FRANCOIS (Nekral) Mon, 29 Dec 2008 15:56:00 +0100 + +pootle (1.2.0-1) experimental; urgency=low + + * New upstream release + + debian/patches/debian_system_installation-templates.patch: Applied + upstream. + * debian/control: Added dependency on python-kid (>= 0.9.4). There were + failures reported with 0.9.3. + * debian/control: Recommend zip and python-xapian. + * debian/rules, debian/patches/debian_system_installation.patch: Keep the + templates directory in the Pootle directory, not in /usr/share. The + directory contains executable code, and __init__.py and __init__.pyc might + be generated. + + -- Nicolas FRANCOIS (Nekral) Sat, 11 Oct 2008 17:20:25 +0200 + +pootle (1.2.0~rc1-1) experimental; urgency=low + + * New upstream release + + debian/patches/pootle_ll_CC_languages.patch: Updated for 1.2.0~rc1. + + debian/patches/pootle_continue_after_po_failure.patch: Updated for + 1.2.0~rc1. + + debian/patches/pootle_get_pofiles_with_find.patch: Updated for + 1.2.0~rc1. + + debian/patches/debian_system_installation-templates.patch: New patch, + applied upstream. + + debian/patches/pootle_fix_support_for_xlf_files.patch: Removed (applied + upstream). + + debian/patches/pootle_no_autoload.patch: Commented patch. It might be + reintroduced later. + * debian/control: Homepage field moved to the source package and set to the + wiki index. + * debian/control: Added fields Vcs-Svn and Vcs-Browser. + * debian/README.source: Added description of the source package. + * debian/control: Depend on translate-toolkit (>= 1.2.0~rc1) + * debian/pootle.prefs: Updated config file. + * debian/users.prefs: Updated config file. + + -- Nicolas FRANCOIS (Nekral) Wed, 01 Oct 2008 23:41:59 +0200 + +pootle (1.1.0-2) unstable; urgency=low + + * debian/patches/pootle_fix_support_for_xlf_files.patch: Fix the support for + the XLIFF format. This patch was recommended by upstream. Without it, no + strings will be loaded from the XLIFF files. Closes: #495324 + * debian/patches/debian_dont_send_password_by_mail.patch: Do not send clear + text password in the subscription confirmation emails. Thanks to Helge + Kreutzmann (http://lists.debian.org/debian-i18n/2008/08/msg00013.html) + Closes: #495323 + * debian/README.Debian: Document the lack of SSL support and links to + documentation for the setup of proxies. Closes: #495323 + * debian/control: Standards-Version bumped to 3.8.0 (no changes). + + -- Nicolas FRANCOIS (Nekral) Sat, 16 Aug 2008 05:21:53 -0300 + +pootle (1.1.0-1) unstable; urgency=low + + * New upstream release + - Remove patches applied upstream: + + pootle_quickstats_written_once.patch + + transtate-toolkit_1.1.0 + * debian/control: python-lxml added to Depends, because Pootle requires the + support for XLIFF from the translate-toolkit. + * debian/control: Update the translate-toolkit dependency to 1.1.1 + * debian/pootle.prefs: Updated according to Upstream + update the link to + the official pootle server. + + -- Nicolas FRANCOIS (Nekral) Wed, 26 Mar 2008 20:56:06 +0100 + +pootle (1.0.2-3) unstable; urgency=low + + * debian/patches/series, debian/patches/transtate-toolkit_1.1.0: + Added support for the transtale-toolkit v1.1.0 (backported from + upstream Pootle 1.1.0rc1) + * debian/control: + + Added dependency on translate-toolkit 1.1.0 + + Standards-Version bump to 3.7.3. No changes required. + + Move the homepage from the description to an Homepage field. + * debian/copyright: + + The licence is GPL version 2 or later. Change the link from GPL to + GPL-2. + + Add a proper copyright notice. + * debian/pootle.init: Set the umask to 002 so that group pootle can change + the files created by the pootle server. Closes: #442068 + * debian/rules: remove test_statistics.py from the installed files. + + -- Nicolas FRANCOIS (Nekral) Sat, 23 Feb 2008 16:54:25 +0100 + +pootle (1.0.2-2) unstable; urgency=low + + * Updated pootle.prefs config file according to the upstream config file. + Upstream should not contacted for administration tasks on a dedicated + server. Local administrators should specify their own contact data. + * New patch pootle_quickstats_written_once, contributed by upstream. It + should improve speed and should be available in the next version. + + -- Nicolas FRANCOIS (Nekral) Thu, 30 Aug 2007 13:01:26 +0200 + +pootle (1.0.2-1) unstable; urgency=low + + * New upstream release + + -- Nicolas FRANCOIS (Nekral) Sun, 26 Aug 2007 20:48:39 +0200 + +pootle (1.0.1-2) unstable; urgency=low + + * debian/patches/pootle_ll_CC_languages.patch: Fix a typo. fn was renamed + fname. This fixes a failure which made the server unusable. + * debian/patches/pootle_continue_after_po_failure.patch: Restore this patch + since it makes failures loading a PO more friendly. + + -- Nicolas FRANCOIS (Nekral) Sun, 01 Jul 2007 19:29:51 +0100 + +pootle (1.0.1-1) unstable; urgency=low + + * New upstream release + + -- Nicolas FRANCOIS (Nekral) Tue, 19 Jun 2007 15:47:58 +0200 + +pootle (1.0-1) unstable; urgency=low + + * New upstream release + * pootle_mail_header.patch, pootle_logos_prefs.patch, + pootle_gnuprojects_no_detect.patch, pootle_typos.patch: Patches applied + upstream. Removed. + * pootle_continue_after_po_failure.patch: commented. It should not be needed + anymore with translate toolkit 1.0. + * Update the dependency on translate-toolkit. + + -- Nicolas FRANCOIS (Nekral) Sat, 09 Jun 2007 21:48:21 +0200 + +pootle (0.11-1) unstable; urgency=low + + * New upstream release + * debian/pootle.prefs: Updated pootle.prefs according to upstream's. More + comments and added 'localfiletype' configuration. + * debian/watch: use qa.debian.org redirector for sourceforge. + + -- Nicolas FRANCOIS (Nekral) Sat, 14 Apr 2007 13:31:39 +0200 + +pootle (0.10.1-2) experimental; urgency=low + + * Use quilt to make patching easier + * Add the following patches: + + debian_system_installation.patch: Debian personalization. It was already + applied. + + pootle_mail_header.patch: Fix the encoding of registration mail. + Closes: #395496 + + pootle_continue_after_po_failure.patch: Do not fail if a PO files cannot + be loaded. This should isolate the failure to a project/language, but + won't kill the server. + + pootle_get_pofiles_with_find.patch: Speed up. + + pootle_gnuprojects_no_detect.patch: Speed up. + Administrators who wants to take advantage of this need to specify + 'myproject'.treestyle = "gnu or "nongnu" in pootle.prefs. + + pootle_logos_prefs.patch: Allow a personalization of the logos in + pootle.prefs. + + pootle_no_autoload.patch: Speed up the display of project's index pages; + also lower the memory footprint. + + pootle_ll_CC_languages.patch: Do not count pt_BR with the pt strings if + pt_BR exists in pootle.prefs (also works with other languages). + + pootle_no_autoload_language.patch: This patch intends to do the same as + pootle_no_autoload.patch, for the other index pages. The patch needs + more tests and is not applied. + * Really remove users.prefs from /usr/ + + -- Nicolas FRANCOIS (Nekral) Sun, 14 Jan 2007 02:16:43 +0100 + +pootle (0.10.1-1) unstable; urgency=low + + * New upstream release. + + * debian/pootle.postinst: Use mode 0755 for the /var/run directory. + + * debian/pootle.init: Create the /var/run/pootle directory in the init + script. This is necessary for tmpfs /var/run. + + * debian/rules, debian/pootle.postinst, debian/pootle.prerm: Do not start or + stop the init script with dh_installinit. Do it manually to make sure it + is started after the Python module installation and stopped before the + Python module removal. + + * debian/pootle.conf: Add an example for configuring Apache 1.3 to proxy the + requests to a Pootle server. + + * debian/pootle.prefs: Synchronized with the upstream configuration file. + + * debian/pootle.init: LSBize the init script: add an INIT INFO section and + a status command. + + * debian/rules: As per the new new Python policy: remove the call to + dh_python. + + * debian/control: As per the new new Python policy: depend on python-central + (>= 0.5.6) and debhelper (>= 5.0.38). Set XS-Python-Version to + "current, >= 2.3". + + -- Nicolas FRANCOIS (Nekral) Sat, 14 Oct 2006 13:58:57 +0200 + +pootle (0.10-1) unstable; urgency=low + + * New upstream release. + + * debian/pootle.prefs: Synchronize with upstream's pootle.prefs: New + 'supportaddress' option, new options for terminology, languages' names are + displayed in their languages. + + * debian/rule: ChangeLog was removed, use Pootle/ChangeLog instead. New + tool: updatetm. + + * debian/control: Stricter dependencies: translate-toolkit (>= 0.10), + python-jtoolkit (>= 0.7.8) [according to the upstream release notes]; + python-central (>= 0.5) [according to the python policy]. + + * Pootle/tools/updatetm: Do not depend on the Python profiler. + + * debian/updatetm.1, debian/pootle.manpages: Add the updatetm manpage, based + on updatetm --manpage. + + * debian/copyright: downloaded from http://translate.sourceforge.net (no + more snapshots/latest). + + * debian/watch: upstream now distributes bz2 tarballs. + + -- Nicolas FRANCOIS (Nekral) Mon, 4 Sep 2006 00:14:12 +0200 + +pootle (0.9.1-1) unstable; urgency=low + + * New upstream release. + + * Add --oknodo to s-t-d in the init.d script. + The --start (resp. --stop) command will be silent if pootle is already + started (resp. stopped). Closes: #379036 + + * Update pootle.prefs and users.prefs according to the upstream + configuration. + + -- Nicolas FRANCOIS (Nekral) Sun, 23 Jul 2006 11:34:18 +0200 + +pootle (0.9-1) unstable; urgency=low + + * Initial release. (Closes: #353051) + + * move the default location of pootle.prefs and users.prefs into + /etc/pootle/ + + * move the html and template directories from + /usr/lib/pythonX.X/site-package to /usr/share/pootle + + * move the po directory to /var/lib/pootle + + * add an init script to run Pootle at startup + + * add a man page for PootleServer + + -- Nicolas FRANCOIS (Nekral) Sat, 1 Jul 2006 22:38:57 +0200 --- pootle-2.0.1.orig/debian/compat +++ pootle-2.0.1/debian/compat @@ -0,0 +1 @@ +7 --- pootle-2.0.1.orig/debian/pootle.conf +++ pootle-2.0.1/debian/pootle.conf @@ -0,0 +1,32 @@ +# This is an Apache 1.3 configuration file to proxy the requests from a +# pootle.<...>/ host to the Pootle server + +# It requires the Rewrite module +RewriteEngine on +# The Proxy module must also be loaded (usually in modules.conf): +# LoadModule proxy_module /usr/lib/apache/1.3/libproxy.so + +# Do not proxy static content. +RewriteCond %{HTTP_HOST} ^pootle. +RewriteRule ^/pootle.css$ /pootle/pootle.css [PT,L] +RewriteCond %{HTTP_HOST} ^pootle. +RewriteRule ^/favicon.ico$ /pootle/favicon.ico [PT,L] +RewriteCond %{HTTP_HOST} ^pootle. +RewriteRule ^/js(.*)$ /pootle/js$1 [PT,L] +RewriteCond %{HTTP_HOST} ^pootle. +RewriteRule ^/images(.*)$ /pootle/images$1 [PT,L] +RewriteCond %{HTTP_HOST} ^pootle. +RewriteRule ^/doc(.*)$ /pootle/doc$1 [PT,L] + +# Proxy the dynamic content +RewriteCond %{HTTP_HOST} ^pootle. +RewriteRule ^(.*)$ http://localhost:8080$1 [P] + + +# This contains the static content +Alias /pootle /usr/share/pootle/html + + Order allow,deny + Allow from all + + --- pootle-2.0.1.orig/debian/patches/translate_toolkit_1_4.patch +++ pootle-2.0.1/debian/patches/translate_toolkit_1_4.patch @@ -0,0 +1,51 @@ +Goal: use findunit instead of directly accessing sourceindex + needed to work with Translate Toolkit 1.4 + +Status wrt upstream: this patch comes from upstream (r12249). + +--- a/Pootle/projects.py ++++ b/Pootle/projects.py +@@ -1363,7 +1363,7 @@ + pofile.makeindex() + elif not hasattr(pofile, "sourceindex"): + pofile.makeindex() +- unit = pofile.sourceindex.get(message, None) ++ unit = pofile.findunit(message) + if not unit or not unit.istranslated(): + continue + tmsg = unit.target +@@ -1377,7 +1377,7 @@ + try: + if pofile.pofreshen() or not hasattr(pofile, "sourceindex"): + pofile.makeindex() +- unit = pofile.sourceindex.get(message, None) ++ unit = pofile.findunit(message) + if not unit or not unit.istranslated(): + continue + tmsg = unit.target +@@ -1402,7 +1402,7 @@ + nplural, pluralequation = pofile.getheaderplural() + if pluralequation: + pluralfn = gettext.c2py(pluralequation) +- unit = pofile.sourceindex.get(singular, None) ++ unit = pofile.findunit(singular) + if not unit or not unit.istranslated(): + continue + tmsg = unit.target.strings[pluralfn(n)] +--- a/Pootle/pootlefile.py ++++ b/Pootle/pootlefile.py +@@ -629,11 +629,9 @@ + # We can't use the multistring, because it might contain more than two + # entries in a PO xliff file. Rather use the singular. + source = unicode(newpo.source) +- if source in self.sourceindex: +- oldpo = self.sourceindex[source] +- matches.append((oldpo, newpo)) +- else: +- matches.append((None, newpo)) ++ oldpo = self.findunit(source) ++ matches.append((oldpo, newpo)) ++ + # find items that have been removed + matcheditems = set(oldpo for oldpo, newpo in matches if oldpo) + for oldpo in self.units: --- pootle-2.0.1.orig/debian/patches/pootle_continue_after_po_failure.patch +++ pootle-2.0.1/debian/patches/pootle_continue_after_po_failure.patch @@ -0,0 +1,23 @@ +Goal: If an exception occurs while loading a PO, do not fail, and continue + loading other POs + +--- a/Pootle/pootlefile.py ++++ b/Pootle/pootlefile.py +@@ -465,6 +465,17 @@ + self.encoding = None + self.units = [] + self._total = util.undefined ++ try: ++ self._readpofile() ++ except: ++ import sys ++ import traceback ++ sys.stderr.write("Problem while reading %s.\n"%self.filename) ++ traceback.print_exc() ++ sys.stderr.write("\n") ++ self.reset_statistics() ++ ++ def _readpofile(self): + pomtime, filecontents = self.lockedfile.getcontents() + # note: we rely on this not resetting the filename, which we set earlier, when given a string + self.parse(filecontents) --- pootle-2.0.1.orig/debian/patches/import_old_config.patch +++ pootle-2.0.1/debian/patches/import_old_config.patch @@ -0,0 +1,11 @@ +--- a/pootle/tools/import_old_prefs.py ++++ b/pootle/tools/import_old_prefs.py +@@ -216,6 +214,8 @@ + unicode_me=False, default=10)) + profile.translate_rows = try_type(int, _get_user_attribute(data, user_name, 'translaterows', + unicode_me=False, default=10)) ++ profile.activation_key = _get_user_attribute(data, user_name, 'activationcode', ++ unicode_me = False, default=0), + # uilanguage + raw_uilanguage = _get_user_attribute(data, user_name, 'uilanguages') + assert ',' not in raw_uilanguage # just one value here --- pootle-2.0.1.orig/debian/patches/pootle_ll_CC_languages.patch +++ pootle-2.0.1/debian/patches/pootle_ll_CC_languages.patch @@ -0,0 +1,34 @@ +--- a/Pootle/potree.py ++++ b/Pootle/potree.py +@@ -479,6 +479,10 @@ + prefix = os.curdir + os.sep + + ext = os.extsep + poext ++ # Do not add ll_CC to the list of files for the ll language if ll_CC is ++ # in the list of languages. ++ excludepofiles = [l+ext for l in self.getlanguagecodes(projectcode) ++ if l.startswith(languagecode+"_")] + def addfiles(podir, dirname, fnames): + """adds the files to the set of files for this project""" + if dirname == os.curdir: +@@ -488,6 +492,8 @@ + for fname in fnames: + # check that it actually exists (to avoid problems with broken symbolic + # links, for example) ++ if fname in excludepofiles: ++ continue + fpath = os.path.join(basedirname, fname) + if fname.endswith(ext): + pofilenames.append(fpath) +@@ -503,7 +509,10 @@ + podir = self.getpodir(languagecode, projectcode) + if self.hasgnufiles(podir, languagecode) == "gnu": + # if we can use find, it is much much faster: +- cmd = 'find %s/ \\( -name "%s%s" -o -name "%s_[A-Z][A-Z]%s" -o -name "%s_[A-Z][A-Z][A-Z]%s" \\) -printf "%%P\\n"'%(podir, languagecode, ext, languagecode, ext, languagecode, ext) ++ excludestr = "" ++ for l in excludepofiles: ++ excludestr += "-name %s -o "%l ++ cmd = 'find %s/ %s\\( -name "%s%s" -o -name "%s_[A-Z][A-Z]%s" -o -name "%s_[A-Z][A-Z][A-Z]%s" \\) -printf "%%P\\n"'%(podir, excludestr, languagecode, ext, languagecode, ext, languagecode, ext) + fd = os.popen(cmd) + pofilenames = [n[:-1] for n in fd.readlines()] + if fd.close(): --- pootle-2.0.1.orig/debian/patches/series +++ pootle-2.0.1/debian/patches/series @@ -0,0 +1,8 @@ +#pootle_get_pofiles_with_find.patch +#pootle_ll_CC_languages.patch +#pootle_continue_after_po_failure.patch +#debian_dont_send_password_by_mail.patch +#translate_toolkit_1_4.patch +#packaging_install_outside_rootdir.patch +#import_old_config.patch +debian_remove_external --- pootle-2.0.1.orig/debian/patches/debian_remove_external +++ pootle-2.0.1/debian/patches/debian_remove_external @@ -0,0 +1,26 @@ +--- a/setup.py ++++ b/setup.py +@@ -72,12 +72,11 @@ + list_tree(INSTALL_WORKING_DIR, 'po') + list_tree(INSTALL_DATA_DIR, 'mo') + + packages = ['pootle'] + ['pootle.' + pkg for pkg in find_packages('pootle')] + \ +- find_packages('local_apps') + find_packages('external_apps') ++ find_packages('local_apps') + find_packages('external_apps',('djblets*','registration*')) + package_data = { + '': ['*.html', '*.txt', '*.xml', '*.css', '*.js'], + 'pootle_app': expand_tree_globs('local_apps/pootle_app', ['templates'], ['*.html']), + 'pootle_notifications': expand_tree_globs('local_apps/pootle_notifications', ['templates'], ['*.html']), +- 'djblets': expand_tree_globs('external_apps/djblets', ['siteconfig', 'util'], ['*.html']), + } + package_dir = { + 'pootle_app': 'local_apps/pootle_app', +@@ -85,9 +84,7 @@ + 'pootle_misc': 'local_apps/pootle_misc', + 'pootle_notifications': 'local_apps/pootle_notifications', + 'pootle_autonotices': 'local_apps/pootle_autonotices', +- 'registration': 'external_apps/registration', + 'profiles': 'external_apps/profiles', +- 'djblets': 'external_apps/djblets', + } + scripts = ['import_pootle_prefs', 'updatetm', 'PootleServer'] + options = { --- pootle-2.0.1.orig/debian/patches/debian_dont_send_password_by_mail.patch +++ pootle-2.0.1/debian/patches/debian_dont_send_password_by_mail.patch @@ -0,0 +1,11 @@ +--- a/Pootle/users.py ++++ b/Pootle/users.py +@@ -468,7 +468,7 @@ + session.saveprefs() + message += session.localize("Your user name is: %s\n", username) + if password.strip(): +- message += session.localize("Your password is: %s\n", password) ++ message += session.localize("Your password is: %s\n", "XXXXXX") + message += session.localize("Your registered email address is: %s\n", email) + smtpserver = self.instance.registration.smtpserver + fromaddress = self.instance.registration.fromaddress --- pootle-2.0.1.orig/debian/patches/pootle_get_pofiles_with_find.patch +++ pootle-2.0.1/debian/patches/pootle_get_pofiles_with_find.patch @@ -0,0 +1,45 @@ +Goal: speed up loading a project. + +This patch speeds up finding the list of PO files of a GNU style project. + +--- a/Pootle/potree.py ++++ b/Pootle/potree.py +@@ -478,6 +478,7 @@ + pofilenames = [] + prefix = os.curdir + os.sep + ++ ext = os.extsep + poext + def addfiles(podir, dirname, fnames): + """adds the files to the set of files for this project""" + if dirname == os.curdir: +@@ -488,7 +489,7 @@ + # check that it actually exists (to avoid problems with broken symbolic + # links, for example) + fpath = os.path.join(basedirname, fname) +- if fname.endswith(os.extsep+poext): ++ if fname.endswith(ext): + pofilenames.append(fpath) + + def addgnufiles(podir, dirname, fnames): +@@ -496,13 +497,19 @@ + basedirname = dirname.replace(podir, "", 1) + while basedirname.startswith(os.sep): + basedirname = basedirname.replace(os.sep, "", 1) +- ext = os.extsep + poext + ponames = [fn for fn in fnames if fn.endswith(ext) and self.languagematch(languagecode, fn[:-len(ext)])] + pofilenames.extend([os.path.join(basedirname, poname) for poname in ponames]) + + podir = self.getpodir(languagecode, projectcode) + if self.hasgnufiles(podir, languagecode) == "gnu": +- os.path.walk(podir, addgnufiles, podir) ++ # if we can use find, it is much much faster: ++ cmd = 'find %s/ \\( -name "%s%s" -o -name "%s_[A-Z][A-Z]%s" -o -name "%s_[A-Z][A-Z][A-Z]%s" \\) -printf "%%P\\n"'%(podir, languagecode, ext, languagecode, ext, languagecode, ext) ++ fd = os.popen(cmd) ++ pofilenames = [n[:-1] for n in fd.readlines()] ++ if fd.close(): ++ # Cannot execute find ++ pofilenames = [] ++ os.path.walk(podir, addgnufiles, podir) + else: + pwd = os.path.abspath(os.curdir) + os.chdir(podir) --- pootle-2.0.1.orig/debian/patches/packaging_install_outside_rootdir.patch +++ pootle-2.0.1/debian/patches/packaging_install_outside_rootdir.patch @@ -0,0 +1,14 @@ +--- a/setup.py ++++ b/setup.py +@@ -218,8 +218,9 @@ + # used with os.path.join() as above. This also means that data_dir + # should be changed here if the value # of INSTALL_DATA_DIR becomes + # an absolute path. +- conf_dir = util.change_root(self.root, INSTALL_CONFIG_DIR) +- work_dir = util.change_root(self.root, INSTALL_WORKING_DIR) ++ conf_dir = util.change_root("/", INSTALL_CONFIG_DIR) ++ data_dir = util.change_root("/usr", INSTALL_DATA_DIR) ++ work_dir = util.change_root("/", INSTALL_WORKING_DIR) + + # Replace directory variables in settings.py to reflect the current installation + lines = open(install_dirs_py_path).readlines()