Merge lp:~mitya57/ubuntu-packaging-guide/translator-credits into lp:ubuntu-packaging-guide

Proposed by Dmitry Shachnev
Status: Merged
Merged at revision: 294
Proposed branch: lp:~mitya57/ubuntu-packaging-guide/translator-credits
Merge into: lp:ubuntu-packaging-guide
Diff against target: 390 lines (+238/-12)
10 files modified
.bzrignore (+1/-0)
Makefile (+13/-8)
conf.py (+1/-1)
debian/changelog (+5/-0)
debian/control (+2/-1)
debian/scripts/build-list-of-translators (+109/-0)
debian/scripts/data/template.html (+27/-0)
po/ubuntu-packaging-guide.pot (+5/-2)
themes/ubuntu/layout.html (+3/-0)
themes/ubuntu/static/translators.css (+72/-0)
To merge this branch: bzr merge lp:~mitya57/ubuntu-packaging-guide/translator-credits
Reviewer Review Type Date Requested Status
Daniel Holbach (community) Approve
Review via email: mp+148710@code.launchpad.net

Description of the change

This branch adds:

- a script that generates a list of translators in .txt or .html formats;
- "Help translate" and "View the list of translators" links to the page bottom.

This should (hopefully) motivate new translators to take part in our project.

Using the script (it's written in Python 3.x, I'll port add-languages to Python 3 also later):

- ./debian/scripts/build-list-of-translators — will create output for supported languages (es and ru) in translators.txt;
- ./debian/scripts/build-list-of-translators -a — will create output for all languages;
- ./debian/scripts/build-list-of-translators -l lv -l ca — will create output for Latvian and Catalan languages.
- ./debian/scripts/build-list-of-translators -o translators.html — will create an HTML file on output. One should also copy style.css from debian/scripts/data to the directory containing that HTML file.

Running the script will print something like this to stdout:

Processing languages: vi ru sv nl sl te(s) ja mk de id it tr en_AU(s) zh_TW lv ca fr es kn(s) zh_HK pt_BR hr hu(s)

(s) means that the language is skipped because the translators list is not available;
(e) means that the given .po file doesn't exist.

This will actually work after first translations update, but I've put an example of generated page to http://people.ubuntu.com/~mitya57/ubuntu-packaging-guide-translators.html.

To post a comment you must log in.
288. By Launchpad Translations on behalf of ubuntu-packaging-guide-team

Launchpad automatic translations update.

289. By Dmitry Shachnev

udd-merging.rst: remove reference, it was moved to udd-intro.rst

290. By Launchpad Translations on behalf of ubuntu-packaging-guide-team

Launchpad automatic translations update.

291. By Launchpad Translations on behalf of ubuntu-packaging-guide-team

Launchpad automatic translations update.

292. By Dmitry Shachnev

Fix header in po/de.po

293. By Dmitry Shachnev

* Add a script to build the list of translators, run it during build.
* Add "Help translate" and "View the list of translators" links to
  layout.html.
* Add a build-dependency on python3-polib, and also prefer python3-sphinx
  to not use two python stacks at the build time.

294. By Dmitry Shachnev

Update .pot file

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

Pushed a cleaner patchset, it now installs translators.html along with .css to Sphinx's static directories.

Revision history for this message
Daniel Holbach (dholbach) wrote :

If you build this in current 'raring' do you also get something like this?

dh build --builddirectory=_build
   dh_testdir -O--builddirectory=_build
   dh_auto_configure -O--builddirectory=_build
   debian/rules override_dh_auto_build
make[1]: Entering directory `/tmp/buildd/ubuntu-packaging-guide-0.3.1'
make latexpdf
make[2]: Entering directory `/tmp/buildd/ubuntu-packaging-guide-0.3.1'
Compiling .mo files in po/es/LC_MESSAGES
sphinx-build -Dlanguage=es -b latex -d _build/doctrees . _build/latex/es
Running Sphinx v1.1.3
Making output directory...

Exception occurred:
  File "/usr/lib/python3/dist-packages/sphinx/cmdline.py", line 188, in main
    warningiserror, tags)
  File "/usr/lib/python3/dist-packages/sphinx/application.py", line 102, in __init__
    confoverrides or {}, self.tags)
  File "/usr/lib/python3/dist-packages/sphinx/config.py", line 216, in __init__
    exec(code, config)
  File "/tmp/buildd/ubuntu-packaging-guide-0.3.1/conf.py", line 50, in <module>
    head=open(changelog).readline()
  File "/usr/lib/python3.3/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 1262: ordinal not in range(128)

review: Needs Information
Revision history for this message
Daniel Holbach (dholbach) wrote :

That's with sphinx 1.1.3+dfsg-5ubuntu1.

Revision history for this message
Daniel Holbach (dholbach) wrote :

Apart from that the change looks great as it is.

Revision history for this message
Daniel Holbach (dholbach) wrote :

Building r291 seems to work fine.

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

Looks like a side-effect of python-sphinx -> python3-sphinx change.
I'll investigate that tomorrow (writing from phone now), feel free to
revert that part for now.

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

I can't reproduce the crash in the up-to-date raring pbuilder chroot. William Grant suggested me to try chroot from https://launchpad.net/api/devel/ubuntu/raring/i386, will do that later.

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

Sorry, commented on wrong MP :(

Revision history for this message
Daniel Holbach (dholbach) wrote :

Ok, found the bug... it was easily fixed by:

=== modified file 'conf.py'
--- conf.py 2013-02-11 09:22:39 +0000
+++ conf.py 2013-02-19 10:42:03 +0000
@@ -11,7 +11,7 @@
 # All configuration values have a default; values that are commented out
 # serve to show the default.

-import sys, os, re, glob
+import sys, os, re, glob, codecs

 # If extensions (or modules to document with autodoc) are in another directory,
 # add these directories to sys.path here. If the directory is relative to the
@@ -47,7 +47,7 @@

 changelog = "debian/changelog"
 if os.path.exists(changelog):
- head=open(changelog).readline()
+ head=codecs.open(changelog, mode='r', encoding='utf-8').readline()
     match = re.compile(".*\((.*)\).*").match(head)
     if match:
         version = match.group(1)

This was necessary because of "Dražen Lučanin" in debian/changelog. :-)

Pushed the fixed along with yours.

review: Approve
Revision history for this message
Daniel Holbach (dholbach) wrote :

A question: will translators.html be shipped in the packages?

Revision history for this message
Dmitry Shachnev (mitya57) wrote :

> A question: will translators.html be shipped in the packages?

Of course, it already is.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file '.bzrignore'
--- .bzrignore 2012-03-01 03:21:49 +0000
+++ .bzrignore 2013-02-18 12:37:22 +0000
@@ -2,3 +2,4 @@
2po/*2po/*
3!po/*.pot3!po/*.pot
4!po/*.po4!po/*.po
5translators.html
56
=== modified file 'Makefile'
--- Makefile 2013-02-11 12:36:03 +0000
+++ Makefile 2013-02-18 12:37:22 +0000
@@ -44,8 +44,9 @@
44clean:44clean:
45 -rm -rf $(BUILDDIR)/* $(PODIR)/.doctrees \45 -rm -rf $(BUILDDIR)/* $(PODIR)/.doctrees \
46 $(foreach lang,$(LANGS),$(PODIR)/$(lang)/)46 $(foreach lang,$(LANGS),$(PODIR)/$(lang)/)
47 rm -f translators.html
4748
48html: $(foreach lang,$(LANGS),html-$(lang))49html: $(foreach lang,$(LANGS),html-$(lang)) translators.html
49 # Always build an English version, even if there are no .po files.50 # Always build an English version, even if there are no .po files.
50 $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html51 $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
51 mv $(BUILDDIR)/html/ubuntu-packaging-guide/*html $(BUILDDIR)/html/52 mv $(BUILDDIR)/html/ubuntu-packaging-guide/*html $(BUILDDIR)/html/
@@ -61,7 +62,7 @@
61 sed -i 's/ubuntu-packaging-guide\///g' $(BUILDDIR)/html/searchindex.js62 sed -i 's/ubuntu-packaging-guide\///g' $(BUILDDIR)/html/searchindex.js
62 @echo63 @echo
63 @echo "Build finished. The HTML pages are in $(BUILDDIR)/html"64 @echo "Build finished. The HTML pages are in $(BUILDDIR)/html"
64html-%: locale-%65html-%: locale-% translators.html
65 $(SPHINXBUILD) -Dlanguage=$* -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html/$*66 $(SPHINXBUILD) -Dlanguage=$* -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html/$*
66 mv $(BUILDDIR)/html/$*/ubuntu-packaging-guide/*html $(BUILDDIR)/html/$*67 mv $(BUILDDIR)/html/$*/ubuntu-packaging-guide/*html $(BUILDDIR)/html/$*
67 mv $(BUILDDIR)/html/$*/_sources/ubuntu-packaging-guide/*.txt $(BUILDDIR)/html/$*/_sources/68 mv $(BUILDDIR)/html/$*/_sources/ubuntu-packaging-guide/*.txt $(BUILDDIR)/html/$*/_sources/
@@ -77,16 +78,16 @@
77 @echo78 @echo
78 @echo "Build finished. The HTML pages are in $(BUILDDIR)/html/$*."79 @echo "Build finished. The HTML pages are in $(BUILDDIR)/html/$*."
7980
80dirhtml: $(foreach lang,$(LANGS),dirhtml-$(lang))81dirhtml: $(foreach lang,$(LANGS),dirhtml-$(lang)) translators.html
81 $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml/en82 $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml/en
82 @echo83 @echo
83 @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml/en"84 @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml/en"
84dirhtml-%: locale-%85dirhtml-%: locale-% translators.html
85 $(SPHINXBUILD) -Dlanguage=$* -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml/$*86 $(SPHINXBUILD) -Dlanguage=$* -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml/$*
86 @echo87 @echo
87 @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml/$*."88 @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml/$*."
8889
89singlehtml: $(foreach lang,$(LANGS),singlehtml-$(lang))90singlehtml: $(foreach lang,$(LANGS),singlehtml-$(lang)) translators.html
90 $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml91 $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
91 mv $(BUILDDIR)/singlehtml/ubuntu-packaging-guide/*html $(BUILDDIR)/singlehtml92 mv $(BUILDDIR)/singlehtml/ubuntu-packaging-guide/*html $(BUILDDIR)/singlehtml
92 sed -i 's/href="..\//href=".\//g' $(BUILDDIR)/singlehtml/index.html93 sed -i 's/href="..\//href=".\//g' $(BUILDDIR)/singlehtml/index.html
@@ -95,7 +96,7 @@
95 sed -i 's/src="..\/_static/src=".\/_static/g' $(BUILDDIR)/singlehtml/index.html96 sed -i 's/src="..\/_static/src=".\/_static/g' $(BUILDDIR)/singlehtml/index.html
96 @echo97 @echo
97 @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml"98 @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml"
98singlehtml-%: locale-%99singlehtml-%: locale-% translators.html
99 $(SPHINXBUILD) -Dlanguage=$* -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml/$*100 $(SPHINXBUILD) -Dlanguage=$* -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml/$*
100 mv $(BUILDDIR)/singlehtml/$*/ubuntu-packaging-guide/*html $(BUILDDIR)/singlehtml/$*101 mv $(BUILDDIR)/singlehtml/$*/ubuntu-packaging-guide/*html $(BUILDDIR)/singlehtml/$*
101 sed -i 's/href="..\//href=".\//g' $(BUILDDIR)/singlehtml/$*/index.html102 sed -i 's/href="..\//href=".\//g' $(BUILDDIR)/singlehtml/$*/index.html
@@ -226,8 +227,10 @@
226227
227gettext:228gettext:
228 $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(PODIR)/229 $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(PODIR)/
229 sed -i '/^# [0-9a-f]\{32\}/d' $(PODIR)/ubuntu-packaging-guide.pot230 @sed -i '/^# [0-9a-f]\{32\}/d' $(PODIR)/ubuntu-packaging-guide.pot
230 @echo231 @echo "# Will be replaced with a list of translators" >> $(PODIR)/ubuntu-packaging-guide.pot
232 @echo "msgid \"translator-credits\"" >> $(PODIR)/ubuntu-packaging-guide.pot
233 @echo "msgstr \"\"" >> $(PODIR)/ubuntu-packaging-guide.pot
231 @echo "Build finished. The message catalogs are in $(PODIR)/."234 @echo "Build finished. The message catalogs are in $(PODIR)/."
232235
233changes:236changes:
@@ -255,3 +258,5 @@
255 else echo "$*.po not available, skipping .mo building"; \258 else echo "$*.po not available, skipping .mo building"; \
256 fi259 fi
257260
261translators.html:
262 debian/scripts/build-list-of-translators -a -o translators.html
258263
=== modified file 'conf.py'
--- conf.py 2013-02-11 09:22:39 +0000
+++ conf.py 2013-02-18 12:37:22 +0000
@@ -132,7 +132,7 @@
132# Add any paths that contain custom static files (such as style sheets) here,132# Add any paths that contain custom static files (such as style sheets) here,
133# relative to this directory. They are copied after the builtin static files,133# relative to this directory. They are copied after the builtin static files,
134# so a file named "default.css" will overwrite the builtin "default.css".134# so a file named "default.css" will overwrite the builtin "default.css".
135html_static_path = ['_static']135html_static_path = ['_static', 'translators.html']
136136
137# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,137# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
138# using the given strftime format.138# using the given strftime format.
139139
=== modified file 'debian/changelog'
--- debian/changelog 2013-02-12 07:08:12 +0000
+++ debian/changelog 2013-02-18 12:37:22 +0000
@@ -11,6 +11,11 @@
11 - Add a build-dependency on cm-super-minimal.11 - Add a build-dependency on cm-super-minimal.
12 - Disable times package when language is russian.12 - Disable times package when language is russian.
13 * Update README and add some information for translators.13 * Update README and add some information for translators.
14 * Add a script to build the list of translators, run it during build.
15 * Add "Help translate" and "View the list of translators" links to
16 layout.html.
17 * Add a build-dependency on python3-polib, and also prefer python3-sphinx
18 to not use two python stacks at the build time.
1419
15 [ Daniel Holbach ]20 [ Daniel Holbach ]
16 * Document where to find a list of required autopkgtests and where 21 * Document where to find a list of required autopkgtests and where
1722
=== modified file 'debian/control'
--- debian/control 2013-02-11 07:46:42 +0000
+++ debian/control 2013-02-18 12:37:22 +0000
@@ -7,7 +7,8 @@
7Vcs-Browser: https://code.launchpad.net/~ubuntu-packaging-guide-team/ubuntu-packaging-guide/trunk7Vcs-Browser: https://code.launchpad.net/~ubuntu-packaging-guide-team/ubuntu-packaging-guide/trunk
8Build-Depends: debhelper (>= 7.0.50~),8Build-Depends: debhelper (>= 7.0.50~),
9 doc-base,9 doc-base,
10 python-sphinx (>= 1.1~),10 python3-sphinx | python-sphinx (>= 1.1~),
11 python3-polib,
11 texlive-fonts-recommended,12 texlive-fonts-recommended,
12 texlive-latex-recommended,13 texlive-latex-recommended,
13 texlive-latex-extra,14 texlive-latex-extra,
1415
=== added file 'debian/scripts/build-list-of-translators'
--- debian/scripts/build-list-of-translators 1970-01-01 00:00:00 +0000
+++ debian/scripts/build-list-of-translators 2013-02-18 12:37:22 +0000
@@ -0,0 +1,109 @@
1#!/usr/bin/python3
2
3# Builds a list in translators for the given languages
4# Run with "--help" to get more info
5# Author: Dmitry Shachnev <mitya57@ubuntu.com>, 2013
6
7import argparse
8import sys
9import fnmatch
10
11from os import listdir
12from os.path import exists, isfile, join, dirname
13
14try:
15 import polib
16except ImportError:
17 sys.exit("Error: you should have 'python3-polib' package installed.")
18
19def parse_translator_string(translator_string):
20 """Parses translator string and returns (name, url) tuple."""
21 name, url = translator_string.rsplit(' ', 1)
22 return name[2:], url
23
24def write_txt(translators, fname):
25 outputfile = open(fname, 'w')
26 outputfile.write('Ubuntu Packaging Guide translators\n')
27 outputfile.write('==================================\n')
28 for langname in sorted(translators):
29 outputfile.write('\n' + langname + ' language:\n')
30 for name, url in translators[langname]:
31 outputfile.write(' - ' + name + ' <' + url + '>\n')
32 outputfile.close()
33
34def write_html(translators, fname):
35 templatefile = open(join(dirname(__file__) , 'data', 'template.html'))
36 template = templatefile.read()
37 templatefile.close()
38 content = '<h1>Ubuntu Packaging Guide translators</h1>'
39 for langname in sorted(translators):
40 langid = langname.lower().replace('(', '').replace(')', '').replace(' ', '-')
41 content += '\n<h2 id="' + langid + '">' + langname + ' language</h2>\n<ul>\n'
42 for name, url in translators[langname]:
43 content += '<li>' + name + ' &lt;<a href="' + url + '">'
44 content += url + '</a>&gt;\n'
45 content += '</ul>'
46 outputfile = open(fname, 'w')
47 outputfile.write(template.replace('%CONTENT%', content))
48 outputfile.close()
49
50def main():
51 parser = argparse.ArgumentParser()
52 parser.add_argument('-o', '--output-file', default='translators.txt',
53 help='file to save the output to (default: translators.txt)')
54 parser.add_argument('-a', '--all-languages', action='store_true',
55 help='output for all languages (not just accepted ones)')
56 parser.add_argument('-l', '--language', action='append',
57 help='output for the given language (can be set multiple times)')
58 args = parser.parse_args()
59
60 languages = None
61 working_dir = '.'
62 if not exists('po'):
63 working_dir = join('..', '..')
64 if not exists(join(working_dir, 'po')):
65 sys.exit('Error: "po" directory not found!')
66
67 if args.all_languages:
68 pofiles = fnmatch.filter(listdir(join(working_dir, 'po')), '*.po')
69 languages = [fname[:-3] for fname in pofiles]
70 elif args.language:
71 languages = args.language
72 else:
73 if isfile(join(working_dir, 'Makefile')):
74 makefile = open(join(working_dir, 'Makefile'))
75 else:
76 sys.exit('Error: Makefile not found!')
77 for line in makefile:
78 if line.startswith('LANGS = '):
79 languages = line.split()[2:]
80 makefile.close()
81 if not languages:
82 sys.exit('Error: no LANGS set in Makefile!')
83
84 translators = {}
85 sys.stdout.write('Processing languages:')
86 sys.stdout.flush()
87 for language in languages:
88 sys.stdout.write(' ' + language)
89 sys.stdout.flush()
90 if not isfile(join(working_dir, 'po', language+'.po')):
91 sys.stdout.write('(e)')
92 continue
93 pofile = polib.pofile(join(working_dir, 'po', language+'.po'))
94 langname = pofile.header[:pofile.header.find('translation')-1]
95 for entry in pofile:
96 if entry.msgid == 'translator-credits' and entry.msgstr:
97 translators[langname] = map(parse_translator_string,
98 entry.msgstr.split('\n')[1:])
99 if langname not in translators:
100 sys.stdout.write('(s)')
101
102 if args.output_file.endswith('.html'):
103 write_html(translators, args.output_file)
104 else:
105 write_txt(translators, args.output_file)
106 print('\nOutput written as', args.output_file)
107
108if __name__ == '__main__':
109 main()
0110
=== added directory 'debian/scripts/data'
=== added file 'debian/scripts/data/template.html'
--- debian/scripts/data/template.html 1970-01-01 00:00:00 +0000
+++ debian/scripts/data/template.html 2013-02-18 12:37:22 +0000
@@ -0,0 +1,27 @@
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
2<html>
3<head>
4<meta http-equiv="content-type" content="text/html; charset=utf-8">
5<link rel="stylesheet" type="text/css" href="translators.css">
6<title>Ubuntu Packaging Guide translators</title>
7</head>
8<body>
9<table class="page-areas">
10<tr class="area-toppanel">
11<td>
12<div class="toppanel">
13<a href="http://developer.ubuntu.com/" class="dev-link">
14<img src="images/logo-ubuntu.png" alt="Ubuntu logo">
15developer
16</a>
17</div>
18</td>
19</tr>
20<tr class="area-content"><td>
21<div class="content">
22%CONTENT%
23</div>
24</td></tr>
25</table>
26</body>
27</html>
028
=== modified file 'po/ubuntu-packaging-guide.pot'
--- po/ubuntu-packaging-guide.pot 2013-02-12 07:08:12 +0000
+++ po/ubuntu-packaging-guide.pot 2013-02-18 12:37:22 +0000
@@ -8,7 +8,7 @@
8msgstr ""8msgstr ""
9"Project-Id-Version: ubuntu-packaging-guide 0.3.1\n"9"Project-Id-Version: ubuntu-packaging-guide 0.3.1\n"
10"Report-Msgid-Bugs-To: \n"10"Report-Msgid-Bugs-To: \n"
11"POT-Creation-Date: 2013-02-12 11:02\n"11"POT-Creation-Date: 2013-02-18 16:29\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"14"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -2706,7 +2706,7 @@
2706msgid "If you are merging an upstream release into an existing Bazaar branch that has not previously used the UDD layout, ``bzr merge-upstream`` will fail with an error that the tag for the previous upstream version is not available; the merge can't be completed without knowing what base version to merge against. To work around this, create a tag in your existing repository for the last upstream version present there; e.g., if the last Ubuntu release was *1.1-0ubuntu3*, create the tag *upstream-1.1* pointing to the bzr revision you want to use as the tip of the upstream branch."2706msgid "If you are merging an upstream release into an existing Bazaar branch that has not previously used the UDD layout, ``bzr merge-upstream`` will fail with an error that the tag for the previous upstream version is not available; the merge can't be completed without knowing what base version to merge against. To work around this, create a tag in your existing repository for the last upstream version present there; e.g., if the last Ubuntu release was *1.1-0ubuntu3*, create the tag *upstream-1.1* pointing to the bzr revision you want to use as the tip of the upstream branch."
2707msgstr ""2707msgstr ""
27082708
2709#: ../ubuntu-packaging-guide/udd-merging.rst:1222709#: ../ubuntu-packaging-guide/udd-merging.rst:121
2710msgid "You will need newer versions of ``bzr`` and the ``bzr-builddeb`` for the ``merge`` command to work. Use the versions from Ubuntu 12.04 (Precise) or the development versions from the ``bzr`` PPA. Specifically, you need ``bzr`` version 2.5 beta 5 or newer, and ``bzr-builddeb`` version 2.8.1 or newer. For older versions, use the ``bzr merge-package`` command instead."2710msgid "You will need newer versions of ``bzr`` and the ``bzr-builddeb`` for the ``merge`` command to work. Use the versions from Ubuntu 12.04 (Precise) or the development versions from the ``bzr`` PPA. Specifically, you need ``bzr`` version 2.5 beta 5 or newer, and ``bzr-builddeb`` version 2.8.1 or newer. For older versions, use the ``bzr merge-package`` command instead."
2711msgstr ""2711msgstr ""
27122712
@@ -3006,3 +3006,6 @@
3006msgid "Once you've got the source package, you can build it as normal with ``pbuilder-dist`` (or ``pbuilder`` or `sbuild`_)."3006msgid "Once you've got the source package, you can build it as normal with ``pbuilder-dist`` (or ``pbuilder`` or `sbuild`_)."
3007msgstr ""3007msgstr ""
30083008
3009# Will be replaced with a list of translators
3010msgid "translator-credits"
3011msgstr ""
30093012
=== modified file 'themes/ubuntu/layout.html'
--- themes/ubuntu/layout.html 2012-12-24 14:32:47 +0000
+++ themes/ubuntu/layout.html 2013-02-18 12:37:22 +0000
@@ -206,6 +206,9 @@
206 src="{{ pathto('_static/images/cc-by-sa.png', 1) }}" /></a>206 src="{{ pathto('_static/images/cc-by-sa.png', 1) }}" /></a>
207 {%- endif %}207 {%- endif %}
208 {%- endif %}208 {%- endif %}
209 <br />
210 <a href="http://people.ubuntu.com/~mitya57/ubuntu-packaging-guide-readme.html#translating">Help translate</a> or
211 <a href="{{ pathto('_static/translators.html', 1) }}">view the list of translators</a>.
209212
210 </div>213 </div>
211</footer>214</footer>
212215
=== added file 'themes/ubuntu/static/translators.css'
--- themes/ubuntu/static/translators.css 1970-01-01 00:00:00 +0000
+++ themes/ubuntu/static/translators.css 2013-02-18 12:37:22 +0000
@@ -0,0 +1,72 @@
1/* Main stylesheet, adopted from WpGen default theme. */
2/* Author: Dmitry Shachnev <mitya57@ubuntu.com>, 2013 */
3
4body {
5 color: #222;
6 background: url("images/background-footer.png")
7 repeat scroll 0 0 #f7f6f5;
8 margin: 0px;
9 font-family: "Ubuntu";
10}
11
12a {
13 color: #dd4814;
14 text-decoration: none;
15}
16
17a:hover {
18 text-decoration: underline;
19}
20
21a.dev-link:hover {
22 text-decoration: none;
23}
24
25.page-areas {
26 width: 100%;
27 height: 100%;
28 top: 0px;
29 bottom: 0px;
30}
31
32.page-areas td {
33 padding-left: 5px;
34 padding-right: 5px;
35}
36
37.area-toppanel {
38 height: 50px;
39 background-color: white;
40 font-size: 130%;
41}
42
43.area-toppanel td {
44 border-bottom: 2px solid #dd4814;
45}
46
47.area-content {
48 height: 100%;
49}
50
51.content {
52 background-color: white;
53 border: 1px solid #f96;
54 border-radius: 0.5em;
55 padding: 0.5em;
56 padding-top: 0em;
57 height: 100%;
58}
59
60.content, .toppanel {
61 margin: 0px auto;
62 max-width: 800px;
63}
64
65/* Fonts */
66
67@font-face {
68 font-family: 'Ubuntu';
69 font-style: normal;
70 font-weight: 400;
71 src: local('Ubuntu'), url(https://themes.googleusercontent.com/static/fonts/ubuntu/v4/_xyN3apAT_yRRDeqB3sPRg.woff) format('woff');
72}

Subscribers

People subscribed via source and target branches