Status: | Superseded | ||||
---|---|---|---|---|---|
Proposed branch: | lp:~dpm/bzr-gtk/i18n | ||||
Merge into: | lp:bzr-gtk/gtk2 | ||||
Diff against target: |
2379 lines (+794/-1472) 14 files modified
__init__.py (+16/-2) bazaar-properties.desktop (+9/-0) bazaar-properties.desktop.in (+2/-2) bzr-handle-patch.desktop (+10/-0) bzr-handle-patch.desktop.in (+2/-2) bzr-notify.desktop (+10/-0) bzr-notify.desktop.in (+3/-3) po/Makevars (+2/-0) po/POTFILES.in (+20/-0) po/POTFILES.skip (+2/-0) po/bzr-gtk.pot (+696/-0) po/olive-gtk.pot (+0/-1463) setup.cfg (+7/-0) setup.py (+15/-0) |
||||
To merge this branch: | bzr merge lp:~dpm/bzr-gtk/i18n | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jelmer Vernooij (community) | code | Needs Fixing | |
Review via email: mp+33289@code.launchpad.net |
This proposal has been superseded by a proposal from 2011-03-06.
Commit message
Description of the change
Add internationaliz
What this branch does is to basically adapt the build system for internationaliz
* It imports python-
* It adds all the other extra bits such as setup.cfg defining the translation domain, POTFILES.in defining the translatable files, and Makevars to cater for the customized _i18n function during the string extraction process when creating the .pot template
* It marks the .desktop files for translation.
The patch as it stands now includes all the bits to create a .pot template to be exposed to translators, and build translations.
What's left to do:
* Enable gettext in the code. Right now the already existing _i18n() function is a stub. It needs to use gettext to actually translate the strings. This is trivial to implement, and I'll be happy to work further on it if this initial merge proposal is accepted.
* Set up Launchpad to expose the translations and to do automatic translation imports and exports. This is fairly trivial, and it should not take more than a few minutes to set up, and I'd be happy to help with that.
So, before I continue doing more work on enabling i18n, I'd like to hear what you think of this merge proposal. Once you are happy with it, I can go on with completing it.
Thanks!
David Planella (dpm) wrote : | # |
El dt 05 de 10 de 2010 a les 12:39 +0000, en/na Jelmer Vernooij va
escriure:
> Review: Needs Fixing code
> Hi David!
>
> Sorry for not responding earlier, I hadn't seen this MP until now. Nice work!
>
Ah, thanks for coming back to me, glad to see that this work can be
used :)
> Is there any chance you could make the dependency on python-
I'll do whatever it takes to make the application usable by anyone in
their own language.
However, I do not understand the rationale for not wanting to have
python-
enter main, it would also help building the pot template seamlessly and
make it translatable in Launchpad without the need of any manual
debian/rules hacking. So that's another plus point.
My main concern is that removing it also means that you'll have to write
a command to build translations as a substitute for build_i18n. That
will mean either reinventing the wheel or ignoring translations (in case
no one writes that new command for python-distutils).
> Preferably by just providing a dummy command that tells the user to install it when they run 'build_i18n'. Otherwise I'm happy to merge this.
>
I'm not familiar with Python packaging and distribution outside of
a .deb package, but is there not a more elegant way to check for
dependencies in python-distutils if someone is building from source?
Cheers,
David.
--
David Planella
Ubuntu Translations Coordinator
www.ubuntu.com / www.davidplanel
www.identi.
Jelmer Vernooij (jelmer) wrote : | # |
Hi David,
On Fri, 2010-10-08 at 08:19 +0000, David Planella wrote:
> El dt 05 de 10 de 2010 a les 12:39 +0000, en/na Jelmer Vernooij va
> escriure:
> > Is there any chance you could make the dependency on python-
> I'll do whatever it takes to make the application usable by anyone in
> their own language.
>
> However, I do not understand the rationale for not wanting to have
> python-
> enter main, it would also help building the pot template seamlessly and
> make it translatable in Launchpad without the need of any manual
> debian/rules hacking. So that's another plus point.
> My main concern is that removing it also means that you'll have to write
> a command to build translations as a substitute for build_i18n. That
> will mean either reinventing the wheel or ignoring translations (in case
> no one writes that new command for python-distutils).
I think it's a good idea to automatically make bzr-gtk build i18n
support when python-
don't want to require users to install it - they might not care about
i18n and should not have to install DistUtilsExtra unless they want i18n
support.
Installing extra dependencies is significantly harder on some platforms
than on Ubuntu, and for that reason I'm trying to keep as much of our
dependencies optional.
Just adding python-
debian/control should still be sufficient to get i18n support on
Debian/Ubuntu.
> > Preferably by just providing a dummy command that tells the user to
> install it when they run 'build_i18n'. Otherwise I'm happy to merge
> this. >
> I'm not familiar with Python packaging and distribution outside of
> a .deb package, but is there not a more elegant way to check for
> dependencies in python-distutils if someone is building from source?
I'm thinking of something along these lines to cope with DistUtilsExtra
being missing (not actually tested, my memory of the distutils API is
rusty):
try:
from DistUtilsExtra.
except ImportError:
# DistUtilsExtra not available.
class cmd_build_
def run(self):
print "Please install distutilsextra for i18n support."
else:
# Use build_i18n from DistUtilsExtra
cmd_build_i18n = build_i18n.
...
cmdclass={
...
Cheers,
Jelmer
David Planella (dpm) wrote : | # |
El dv 08 de 10 de 2010 a les 09:13 +0000, en/na Jelmer Vernooij va
escriure:
> Hi David,
>
Hey Jelmer,
Thanks for the quick reply.
> On Fri, 2010-10-08 at 08:19 +0000, David Planella wrote:
> > El dt 05 de 10 de 2010 a les 12:39 +0000, en/na Jelmer Vernooij va
> > escriure:
> > > Is there any chance you could make the dependency on python-
> > I'll do whatever it takes to make the application usable by anyone in
> > their own language.
> >
> > However, I do not understand the rationale for not wanting to have
> > python-
> > enter main, it would also help building the pot template seamlessly and
> > make it translatable in Launchpad without the need of any manual
> > debian/rules hacking. So that's another plus point.
>
> > My main concern is that removing it also means that you'll have to write
> > a command to build translations as a substitute for build_i18n. That
> > will mean either reinventing the wheel or ignoring translations (in case
> > no one writes that new command for python-distutils).
>
> I think it's a good idea to automatically make bzr-gtk build i18n
> support when python-
> don't want to require users to install it - they might not care about
> i18n and should not have to install DistUtilsExtra unless they want i18n
> support.
>
I'm not sure I can follow, since if I understand it correctly, that
would be a build dependency, that only developers should care about, not
users. Note that I'm not trying to be picky, it might well be me missing
something, I'm just asking to understand.
In any case, I'm just as happy with making it optional.
> Installing extra dependencies is significantly harder on some platforms
> than on Ubuntu, and for that reason I'm trying to keep as much of our
> dependencies optional.
>
> Just adding python-
> debian/control should still be sufficient to get i18n support on
> Debian/Ubuntu.
>
> > > Preferably by just providing a dummy command that tells the user to
> > install it when they run 'build_i18n'. Otherwise I'm happy to merge
> > this. >
> > I'm not familiar with Python packaging and distribution outside of
> > a .deb package, but is there not a more elegant way to check for
> > dependencies in python-distutils if someone is building from source?
> I'm thinking of something along these lines to cope with DistUtilsExtra
> being missing (not actually tested, my memory of the distutils API is
> rusty):
>
> try:
> from DistUtilsExtra.
> except ImportError:
> # DistUtilsExtra not available.
>
> class cmd_build_
>
> def run(self):
> print "Please install distutilsextra for i18n support."
> else:
> # Use build_i18n from DistUtilsExtra
> cmd_build_i18n = build_i18n.
>
>
> ...
> cmdclass={
> 'build_i18n': cmd_build_i18n,
> ...
>
Ok, I'll go for that, then. I'll be busy or away until Wednesday, but
I'll try to get to it by the end of next week.
Looking forward to see bzr-gtk in many languages!
Regard...
Jelmer Vernooij (jelmer) wrote : | # |
Hi David,
On Fri, 2010-10-08 at 09:43 +0000, David Planella wrote:
> El dv 08 de 10 de 2010 a les 09:13 +0000, en/na Jelmer Vernooij va
> escriure:
> I'm not sure I can follow, since if I understand it correctly, that
> would be a build dependency, that only developers should care about, not
> users. Note that I'm not trying to be picky, it might well be me missing
> something, I'm just asking to understand.
We have a fair number of users that are not Ubuntu users. bzr-gtk is not
packaged for all their platforms so there are quite a few that install
from source.
> > > > Preferably by just providing a dummy command that tells the user to
> > > install it when they run 'build_i18n'. Otherwise I'm happy to merge
> > > this. >
> > > I'm not familiar with Python packaging and distribution outside of
> > > a .deb package, but is there not a more elegant way to check for
> > > dependencies in python-distutils if someone is building from source?
> > I'm thinking of something along these lines to cope with DistUtilsExtra
> > being missing (not actually tested, my memory of the distutils API is
> > rusty):
> >
> > try:
> > from DistUtilsExtra.
> > except ImportError:
> > # DistUtilsExtra not available.
> >
> > class cmd_build_
> >
> > def run(self):
> > print "Please install distutilsextra for i18n support."
> > else:
> > # Use build_i18n from DistUtilsExtra
> > cmd_build_i18n = build_i18n.
> >
> >
> > ...
> > cmdclass={
> > 'build_i18n': cmd_build_i18n,
> > ...
> >
>
> Ok, I'll go for that, then. I'll be busy or away until Wednesday, but
> I'll try to get to it by the end of next week.
>
> Looking forward to see bzr-gtk in many languages!
Same here, thanks again for providing the patches for this. If there's
anything I can help with just ping me here on IRC or Mumble.
Cheers,
Jelmer
- 700. By David Planella
-
Added preliminary internationaliz
ation support. Merged from trunk. - 701. By David Planella
-
Added proper i18n support with gettext
- 702. By David Planella
-
Added missing gettext modules to import
- 703. By David Planella
-
Removed python-
distutils- extra import left by mistake
Unmerged revisions
Preview Diff
1 | === modified file '__init__.py' |
2 | --- __init__.py 2011-01-31 10:19:52 +0000 |
3 | +++ __init__.py 2011-03-06 10:26:30 +0000 |
4 | @@ -62,6 +62,21 @@ |
5 | bzr_plugin_version as version_info, |
6 | bzr_compatible_versions, |
7 | ) |
8 | +from gettext import ( |
9 | + gettext, |
10 | + textdomain, |
11 | + bindtextdomain, |
12 | + bind_textdomain_codeset, |
13 | + ) |
14 | + |
15 | +# FIXME: We should find out LOCALEDIR at compile or run time. The current |
16 | +# hardcoded path will work for most distributions, but not for e.g. Solaris and |
17 | +# Windows |
18 | +GETTEXT_PACKAGE = 'bzr-gtk' |
19 | +LOCALEDIR = '/usr/share/locale' |
20 | +bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR) |
21 | +bind_textdomain_codeset(GETTEXT_PACKAGE, 'UTF-8') |
22 | +textdomain(GETTEXT_PACKAGE) |
23 | |
24 | if version_info[3] == 'final': |
25 | version_string = '%d.%d.%d' % version_info[:3] |
26 | @@ -181,5 +196,4 @@ |
27 | |
28 | |
29 | def _i18n(text): |
30 | - # Stub until we support proper i18n |
31 | - return text |
32 | + return gettext(text) |
33 | |
34 | === added file 'bazaar-properties.desktop' |
35 | --- bazaar-properties.desktop 1970-01-01 00:00:00 +0000 |
36 | +++ bazaar-properties.desktop 2011-03-06 10:26:30 +0000 |
37 | @@ -0,0 +1,9 @@ |
38 | +[Desktop Entry] |
39 | +Name=Bazaar Preferences |
40 | +Comment=Configure Bazaar settings |
41 | +Icon=bzr-icon-64 |
42 | +Exec=bzr gpreferences |
43 | +Terminal=false |
44 | +Type=Application |
45 | +Categories=Settings; |
46 | +OnlyShowIn=GNOME; |
47 | |
48 | === renamed file 'bazaar-properties.desktop' => 'bazaar-properties.desktop.in' |
49 | --- bazaar-properties.desktop 2009-10-06 13:57:12 +0000 |
50 | +++ bazaar-properties.desktop.in 2011-03-06 10:26:30 +0000 |
51 | @@ -1,6 +1,6 @@ |
52 | [Desktop Entry] |
53 | -Name=Bazaar Preferences |
54 | -Comment=Configure Bazaar settings |
55 | +_Name=Bazaar Preferences |
56 | +_Comment=Configure Bazaar settings |
57 | Icon=bzr-icon-64 |
58 | Exec=bzr gpreferences |
59 | Terminal=false |
60 | |
61 | === added file 'bzr-handle-patch.desktop' |
62 | --- bzr-handle-patch.desktop 1970-01-01 00:00:00 +0000 |
63 | +++ bzr-handle-patch.desktop 2011-03-06 10:26:30 +0000 |
64 | @@ -0,0 +1,10 @@ |
65 | +[Desktop Entry] |
66 | +Name=Bazaar |
67 | +Comment=Apply Bazaar Bundle |
68 | +Icon=bzr-icon-64 |
69 | +Exec=bzr-handle-patch %f |
70 | +NoDisplay=true |
71 | +Terminal=false |
72 | +Type=Application |
73 | +Categories=Application;Development;RevisionControl; |
74 | +MimeType=text/x-diff;text/x-patch;application/x-bazaar-merge-directive; |
75 | |
76 | === renamed file 'bzr-handle-patch.desktop' => 'bzr-handle-patch.desktop.in' |
77 | --- bzr-handle-patch.desktop 2008-10-14 19:49:27 +0000 |
78 | +++ bzr-handle-patch.desktop.in 2011-03-06 10:26:30 +0000 |
79 | @@ -1,6 +1,6 @@ |
80 | [Desktop Entry] |
81 | -Name=Bazaar |
82 | -Comment=Apply Bazaar Bundle |
83 | +_Name=Bazaar |
84 | +_Comment=Apply Bazaar Bundle |
85 | Icon=bzr-icon-64 |
86 | Exec=bzr-handle-patch %f |
87 | NoDisplay=true |
88 | |
89 | === added file 'bzr-notify.desktop' |
90 | --- bzr-notify.desktop 1970-01-01 00:00:00 +0000 |
91 | +++ bzr-notify.desktop 2011-03-06 10:26:30 +0000 |
92 | @@ -0,0 +1,10 @@ |
93 | +[Desktop Entry] |
94 | +Type=Application |
95 | +Version=0.1 |
96 | +Name=Bazaar Notification |
97 | +GenericName=Bazaar Notification |
98 | +Comment=Notification Area Icon for Bazaar |
99 | +Icon=bzr-icon-64 |
100 | +Exec=bzr-notify |
101 | +Categories=Application;Development;RevisionControl; |
102 | +Terminal=false |
103 | |
104 | === renamed file 'bzr-notify.desktop' => 'bzr-notify.desktop.in' |
105 | --- bzr-notify.desktop 2009-10-06 13:57:12 +0000 |
106 | +++ bzr-notify.desktop.in 2011-03-06 10:26:30 +0000 |
107 | @@ -1,9 +1,9 @@ |
108 | [Desktop Entry] |
109 | Type=Application |
110 | Version=0.1 |
111 | -Name=Bazaar Notification |
112 | -GenericName= |
113 | -Comment=Notification Area Icon for Bazaar |
114 | +_Name=Bazaar Notification |
115 | +_GenericName=Bazaar Notification |
116 | +_Comment=Notification Area Icon for Bazaar |
117 | Icon=bzr-icon-64 |
118 | Exec=bzr-notify |
119 | Categories=Application;Development;RevisionControl; |
120 | |
121 | === added file 'po/Makevars' |
122 | --- po/Makevars 1970-01-01 00:00:00 +0000 |
123 | +++ po/Makevars 2011-03-06 10:26:30 +0000 |
124 | @@ -0,0 +1,2 @@ |
125 | +top_builddir=../ |
126 | +XGETTEXT_OPTIONS = --keyword=_i18n --keyword=_ --keyword=N_ --keyword=U_ |
127 | |
128 | === added file 'po/POTFILES.in' |
129 | --- po/POTFILES.in 1970-01-01 00:00:00 +0000 |
130 | +++ po/POTFILES.in 2011-03-06 10:26:30 +0000 |
131 | @@ -0,0 +1,20 @@ |
132 | +bazaar-properties.desktop.in |
133 | +bzr-handle-patch.desktop.in |
134 | +bzr-notify.desktop.in |
135 | +branch.py |
136 | +branchview/treeview.py |
137 | +checkout.py |
138 | +commands.py |
139 | +commit.py |
140 | +conflicts.py |
141 | +diff.py |
142 | +errors.py |
143 | +initialize.py |
144 | +loom.py |
145 | +merge.py |
146 | +nautilus-bzr.py |
147 | +push.py |
148 | +revbrowser.py |
149 | +search.py |
150 | +status.py |
151 | +tags.py |
152 | |
153 | === added file 'po/POTFILES.skip' |
154 | --- po/POTFILES.skip 1970-01-01 00:00:00 +0000 |
155 | +++ po/POTFILES.skip 2011-03-06 10:26:30 +0000 |
156 | @@ -0,0 +1,2 @@ |
157 | +setup.cfg |
158 | +setup.py |
159 | |
160 | === added file 'po/bzr-gtk.pot' |
161 | --- po/bzr-gtk.pot 1970-01-01 00:00:00 +0000 |
162 | +++ po/bzr-gtk.pot 2011-03-06 10:26:30 +0000 |
163 | @@ -0,0 +1,696 @@ |
164 | +# SOME DESCRIPTIVE TITLE. |
165 | +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
166 | +# This file is distributed under the same license as the PACKAGE package. |
167 | +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
168 | +# |
169 | +#, fuzzy |
170 | +msgid "" |
171 | +msgstr "" |
172 | +"Project-Id-Version: PACKAGE VERSION\n" |
173 | +"Report-Msgid-Bugs-To: \n" |
174 | +"POT-Creation-Date: 2011-03-06 02:19+0100\n" |
175 | +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
176 | +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
177 | +"Language-Team: LANGUAGE <LL@li.org>\n" |
178 | +"Language: \n" |
179 | +"MIME-Version: 1.0\n" |
180 | +"Content-Type: text/plain; charset=CHARSET\n" |
181 | +"Content-Transfer-Encoding: 8bit\n" |
182 | + |
183 | +#: ../bazaar-properties.desktop.in.h:1 |
184 | +msgid "Bazaar Preferences" |
185 | +msgstr "" |
186 | + |
187 | +#: ../bazaar-properties.desktop.in.h:2 |
188 | +msgid "Configure Bazaar settings" |
189 | +msgstr "" |
190 | + |
191 | +#: ../bzr-handle-patch.desktop.in.h:1 |
192 | +msgid "Apply Bazaar Bundle" |
193 | +msgstr "" |
194 | + |
195 | +#: ../bzr-handle-patch.desktop.in.h:2 |
196 | +msgid "Bazaar" |
197 | +msgstr "" |
198 | + |
199 | +#: ../bzr-notify.desktop.in.h:1 |
200 | +msgid "Bazaar Notification" |
201 | +msgstr "" |
202 | + |
203 | +#: ../bzr-notify.desktop.in.h:2 |
204 | +msgid "Notification Area Icon for Bazaar" |
205 | +msgstr "" |
206 | + |
207 | +#. Create the widgets |
208 | +#: ../branch.py:52 |
209 | +msgid "_Branch" |
210 | +msgstr "" |
211 | + |
212 | +#: ../branch.py:55 ../checkout.py:55 |
213 | +msgid "Branch location:" |
214 | +msgstr "" |
215 | + |
216 | +#: ../branch.py:57 ../checkout.py:56 |
217 | +msgid "Destination:" |
218 | +msgstr "" |
219 | + |
220 | +#: ../branch.py:58 |
221 | +msgid "Branck nick:" |
222 | +msgstr "" |
223 | + |
224 | +#: ../branch.py:59 ../checkout.py:58 |
225 | +msgid "Revision:" |
226 | +msgstr "" |
227 | + |
228 | +#: ../branch.py:60 ../checkout.py:53 |
229 | +msgid "Please select a folder" |
230 | +msgstr "" |
231 | + |
232 | +#: ../branch.py:140 ../checkout.py:159 |
233 | +msgid "Missing branch location" |
234 | +msgstr "" |
235 | + |
236 | +#: ../branch.py:141 ../checkout.py:160 |
237 | +msgid "You must specify a branch location." |
238 | +msgstr "" |
239 | + |
240 | +#: ../branch.py:182 |
241 | +msgid "Branching successful" |
242 | +msgstr "" |
243 | + |
244 | +#: ../branch.py:183 |
245 | +#, python-format |
246 | +msgid "%d revision(s) branched." |
247 | +msgstr "" |
248 | + |
249 | +#: ../branch.py:191 ../checkout.py:191 |
250 | +msgid "N/A" |
251 | +msgstr "" |
252 | + |
253 | +#. Create the widgets |
254 | +#: ../checkout.py:50 |
255 | +msgid "Check_out" |
256 | +msgstr "" |
257 | + |
258 | +#: ../checkout.py:57 |
259 | +msgid "Branch nick:" |
260 | +msgstr "" |
261 | + |
262 | +#: ../checkout.py:62 |
263 | +msgid "_Lightweight checkout" |
264 | +msgstr "" |
265 | + |
266 | +#: ../commands.py:307 |
267 | +msgid "Directory does not have a working tree" |
268 | +msgstr "" |
269 | + |
270 | +#: ../commands.py:308 |
271 | +msgid "Operation aborted." |
272 | +msgstr "" |
273 | + |
274 | +#: ../commands.py:412 |
275 | +msgid "There are local changes in the branch" |
276 | +msgstr "" |
277 | + |
278 | +#: ../commands.py:413 |
279 | +msgid "Please commit or revert the changes before merging." |
280 | +msgstr "" |
281 | + |
282 | +#: ../commit.py:182 |
283 | +msgid "added" |
284 | +msgstr "" |
285 | + |
286 | +#: ../commit.py:183 |
287 | +msgid "removed" |
288 | +msgstr "" |
289 | + |
290 | +#: ../commit.py:184 |
291 | +msgid "renamed" |
292 | +msgstr "" |
293 | + |
294 | +#: ../commit.py:185 |
295 | +msgid "renamed and modified" |
296 | +msgstr "" |
297 | + |
298 | +#: ../commit.py:186 |
299 | +msgid "modified" |
300 | +msgstr "" |
301 | + |
302 | +#: ../commit.py:187 |
303 | +msgid "kind changed" |
304 | +msgstr "" |
305 | + |
306 | +#: ../commit.py:280 |
307 | +msgid "<b>Commit Message</b>" |
308 | +msgstr "" |
309 | + |
310 | +#: ../commit.py:333 |
311 | +msgid "_Only commit locally" |
312 | +msgstr "" |
313 | + |
314 | +#: ../commit.py:364 |
315 | +msgid "Comm_it" |
316 | +msgstr "" |
317 | + |
318 | +#: ../commit.py:390 |
319 | +msgid "Files" |
320 | +msgstr "" |
321 | + |
322 | +#: ../commit.py:395 |
323 | +msgid "Commit all changes" |
324 | +msgstr "" |
325 | + |
326 | +#: ../commit.py:401 |
327 | +msgid "Only commit selected changes" |
328 | +msgstr "" |
329 | + |
330 | +#: ../commit.py:407 |
331 | +msgid "Commit all changes*" |
332 | +msgstr "" |
333 | + |
334 | +#: ../commit.py:440 |
335 | +msgid "Commit*" |
336 | +msgstr "" |
337 | + |
338 | +#: ../commit.py:442 |
339 | +msgid "Commit" |
340 | +msgstr "" |
341 | + |
342 | +#: ../commit.py:446 ../conflicts.py:111 |
343 | +msgid "Path" |
344 | +msgstr "" |
345 | + |
346 | +#: ../commit.py:448 ../conflicts.py:113 |
347 | +msgid "Type" |
348 | +msgstr "" |
349 | + |
350 | +#: ../commit.py:481 |
351 | +msgid "<i>* Cannot select specific files when merging</i>" |
352 | +msgstr "" |
353 | + |
354 | +#: ../commit.py:485 |
355 | +msgid "Pending Revisions" |
356 | +msgstr "" |
357 | + |
358 | +#: ../commit.py:507 |
359 | +msgid "Date" |
360 | +msgstr "" |
361 | + |
362 | +#: ../commit.py:509 |
363 | +msgid "Committer" |
364 | +msgstr "" |
365 | + |
366 | +#: ../commit.py:511 ../search.py:59 |
367 | +msgid "Summary" |
368 | +msgstr "" |
369 | + |
370 | +#. TODO: jam 2007-10-30 The diff label is currently disabled. If we |
371 | +#. decide that we really don't ever want to display it, we should |
372 | +#. actually remove it, and other references to it, along with the |
373 | +#. tests that it is set properly. |
374 | +#: ../commit.py:521 |
375 | +msgid "Diff for whole tree" |
376 | +msgstr "" |
377 | + |
378 | +#. Whole tree |
379 | +#: ../commit.py:545 ../commit.py:628 |
380 | +msgid "File commit message" |
381 | +msgstr "" |
382 | + |
383 | +#: ../commit.py:552 |
384 | +msgid "Global Commit Message" |
385 | +msgstr "" |
386 | + |
387 | +#: ../commit.py:554 |
388 | +msgid "<b>Global Commit Message</b>" |
389 | +msgstr "" |
390 | + |
391 | +#: ../commit.py:581 |
392 | +msgid "Diff for " |
393 | +msgstr "" |
394 | + |
395 | +#: ../commit.py:634 |
396 | +msgid "Commit message for " |
397 | +msgstr "" |
398 | + |
399 | +#: ../commit.py:689 |
400 | +msgid "Commit cancelled" |
401 | +msgstr "" |
402 | + |
403 | +#: ../commit.py:690 |
404 | +msgid "Do you want to save your commit messages ?" |
405 | +msgstr "" |
406 | + |
407 | +#: ../commit.py:708 |
408 | +msgid "Commit with an empty message?" |
409 | +msgstr "" |
410 | + |
411 | +#: ../commit.py:709 |
412 | +msgid "You can describe your commit intent in the message." |
413 | +msgstr "" |
414 | + |
415 | +#: ../commit.py:729 |
416 | +msgid "Commit with unknowns?" |
417 | +msgstr "" |
418 | + |
419 | +#: ../commit.py:730 |
420 | +msgid "Unknown files exist in the working tree. Commit anyway?" |
421 | +msgstr "" |
422 | + |
423 | +#: ../commit.py:750 |
424 | +msgid "Commit with no changes?" |
425 | +msgstr "" |
426 | + |
427 | +#: ../commit.py:751 |
428 | +msgid "There are no changes in the working tree. Do you want to commit anyway?" |
429 | +msgstr "" |
430 | + |
431 | +#: ../conflicts.py:50 |
432 | +msgid "External utility:" |
433 | +msgstr "" |
434 | + |
435 | +#: ../conflicts.py:101 |
436 | +msgid "Conflicts" |
437 | +msgstr "" |
438 | + |
439 | +#: ../conflicts.py:104 |
440 | +msgid "No conflicts in working tree." |
441 | +msgstr "" |
442 | + |
443 | +#: ../conflicts.py:118 |
444 | +msgid "path conflict" |
445 | +msgstr "" |
446 | + |
447 | +#: ../conflicts.py:120 |
448 | +msgid "contents conflict" |
449 | +msgstr "" |
450 | + |
451 | +#: ../conflicts.py:122 |
452 | +msgid "text conflict" |
453 | +msgstr "" |
454 | + |
455 | +#: ../conflicts.py:124 |
456 | +msgid "duplicate id" |
457 | +msgstr "" |
458 | + |
459 | +#: ../conflicts.py:126 |
460 | +msgid "duplicate" |
461 | +msgstr "" |
462 | + |
463 | +#: ../conflicts.py:128 |
464 | +msgid "parent loop" |
465 | +msgstr "" |
466 | + |
467 | +#: ../conflicts.py:130 |
468 | +msgid "unversioned parent" |
469 | +msgstr "" |
470 | + |
471 | +#: ../conflicts.py:132 |
472 | +msgid "missing parent" |
473 | +msgstr "" |
474 | + |
475 | +#: ../conflicts.py:134 |
476 | +msgid "deleting parent" |
477 | +msgstr "" |
478 | + |
479 | +#: ../conflicts.py:136 |
480 | +msgid "unknown type of conflict" |
481 | +msgstr "" |
482 | + |
483 | +#: ../conflicts.py:165 |
484 | +msgid "No file was selected" |
485 | +msgstr "" |
486 | + |
487 | +#: ../conflicts.py:166 |
488 | +msgid "Please select a file from the list." |
489 | +msgstr "" |
490 | + |
491 | +#: ../conflicts.py:176 |
492 | +msgid "Call to external utility failed" |
493 | +msgstr "" |
494 | + |
495 | +#: ../conflicts.py:178 |
496 | +msgid "Cannot resolve conflict" |
497 | +msgstr "" |
498 | + |
499 | +#: ../conflicts.py:179 |
500 | +msgid "" |
501 | +"Only conflicts on the text of files can be resolved with Olive at the " |
502 | +"moment. Content conflicts, on the structure of the tree, need to be resolved " |
503 | +"using the command line." |
504 | +msgstr "" |
505 | + |
506 | +#. View menu |
507 | +#: ../diff.py:445 |
508 | +msgid "_View" |
509 | +msgstr "" |
510 | + |
511 | +#: ../diff.py:447 |
512 | +msgid "Wrap _Long Lines" |
513 | +msgstr "" |
514 | + |
515 | +#. No conflicts found. |
516 | +#: ../diff.py:492 ../merge.py:146 |
517 | +msgid "Merge successful" |
518 | +msgstr "" |
519 | + |
520 | +#: ../diff.py:493 ../merge.py:147 |
521 | +msgid "All changes applied successfully." |
522 | +msgstr "" |
523 | + |
524 | +#. There are conflicts to be resolved. |
525 | +#: ../diff.py:496 ../merge.py:150 |
526 | +msgid "Conflicts encountered" |
527 | +msgstr "" |
528 | + |
529 | +#: ../diff.py:497 ../merge.py:151 |
530 | +msgid "Please resolve the conflicts manually before committing." |
531 | +msgstr "" |
532 | + |
533 | +#: ../errors.py:28 |
534 | +msgid "Directory is not a branch" |
535 | +msgstr "" |
536 | + |
537 | +#: ../errors.py:29 |
538 | +msgid "You can perform this action only in a branch." |
539 | +msgstr "" |
540 | + |
541 | +#: ../errors.py:31 |
542 | +msgid "Directory is not a checkout" |
543 | +msgstr "" |
544 | + |
545 | +#: ../errors.py:32 |
546 | +msgid "You can perform local commit only on checkouts." |
547 | +msgstr "" |
548 | + |
549 | +#: ../errors.py:34 |
550 | +msgid "No changes to commit" |
551 | +msgstr "" |
552 | + |
553 | +#: ../errors.py:35 |
554 | +msgid "Try force commit if you want to commit anyway." |
555 | +msgstr "" |
556 | + |
557 | +#: ../errors.py:37 |
558 | +msgid "No changes to merge" |
559 | +msgstr "" |
560 | + |
561 | +#: ../errors.py:38 |
562 | +msgid "Merge location is already fully merged in working tree." |
563 | +msgstr "" |
564 | + |
565 | +#: ../errors.py:40 |
566 | +msgid "Conflicts in tree" |
567 | +msgstr "" |
568 | + |
569 | +#: ../errors.py:41 |
570 | +msgid "You need to resolve the conflicts before committing." |
571 | +msgstr "" |
572 | + |
573 | +#: ../errors.py:43 |
574 | +msgid "Strict commit failed" |
575 | +msgstr "" |
576 | + |
577 | +#: ../errors.py:44 |
578 | +msgid "" |
579 | +"There are unknown files in the working tree.\n" |
580 | +"Please add or delete them." |
581 | +msgstr "" |
582 | + |
583 | +#: ../errors.py:46 |
584 | +msgid "Bound branch is out of date" |
585 | +msgstr "" |
586 | + |
587 | +#. FIXME: Really ? Internationalizing %s ?? --vila080505 |
588 | +#: ../errors.py:48 |
589 | +#, python-format |
590 | +msgid "%s" |
591 | +msgstr "" |
592 | + |
593 | +#: ../errors.py:50 |
594 | +msgid "File not versioned" |
595 | +msgstr "" |
596 | + |
597 | +#: ../errors.py:51 |
598 | +msgid "The selected file is not versioned." |
599 | +msgstr "" |
600 | + |
601 | +#: ../errors.py:53 ../push.py:99 |
602 | +msgid "Branches have been diverged" |
603 | +msgstr "" |
604 | + |
605 | +#: ../errors.py:54 |
606 | +msgid "" |
607 | +"You cannot push if branches have diverged. Use the\n" |
608 | +"overwrite option if you want to push anyway." |
609 | +msgstr "" |
610 | + |
611 | +#: ../errors.py:56 |
612 | +msgid "No diff output" |
613 | +msgstr "" |
614 | + |
615 | +#: ../errors.py:57 |
616 | +msgid "The selected file hasn't changed." |
617 | +msgstr "" |
618 | + |
619 | +#: ../errors.py:59 |
620 | +msgid "No such revision" |
621 | +msgstr "" |
622 | + |
623 | +#: ../errors.py:60 |
624 | +msgid "The revision you specified doesn't exist." |
625 | +msgstr "" |
626 | + |
627 | +#: ../errors.py:62 |
628 | +msgid "Target already exists" |
629 | +msgstr "" |
630 | + |
631 | +#: ../errors.py:63 |
632 | +msgid "Target directory already exists. Please select another target." |
633 | +msgstr "" |
634 | + |
635 | +#: ../errors.py:65 |
636 | +msgid "Directory is already a branch" |
637 | +msgstr "" |
638 | + |
639 | +#: ../errors.py:66 |
640 | +#, python-format |
641 | +msgid "" |
642 | +"The current directory (%s) is already a branch.\n" |
643 | +"You can start using it, or initialize another directory." |
644 | +msgstr "" |
645 | + |
646 | +#: ../errors.py:68 |
647 | +msgid "Branch without a working tree" |
648 | +msgstr "" |
649 | + |
650 | +#: ../errors.py:69 |
651 | +#, python-format |
652 | +msgid "" |
653 | +"The current directory (%s)\n" |
654 | +"is a branch without a working tree." |
655 | +msgstr "" |
656 | + |
657 | +#: ../errors.py:71 |
658 | +msgid "Unknown bzr error" |
659 | +msgstr "" |
660 | + |
661 | +#: ../errors.py:73 |
662 | +msgid "Permission denied" |
663 | +msgstr "" |
664 | + |
665 | +#: ../errors.py:73 |
666 | +msgid "permission denied." |
667 | +msgstr "" |
668 | + |
669 | +#: ../errors.py:75 |
670 | +msgid "Unknown error" |
671 | +msgstr "" |
672 | + |
673 | +#. Create the widgets |
674 | +#: ../initialize.py:48 |
675 | +msgid "_Initialize" |
676 | +msgstr "" |
677 | + |
678 | +#: ../initialize.py:49 |
679 | +msgid "Which directory do you want to initialize?" |
680 | +msgstr "" |
681 | + |
682 | +#: ../initialize.py:50 |
683 | +msgid "Current directory" |
684 | +msgstr "" |
685 | + |
686 | +#: ../initialize.py:51 |
687 | +msgid "Create a new directory with the name:" |
688 | +msgstr "" |
689 | + |
690 | +#: ../initialize.py:86 |
691 | +msgid "Directory name not specified" |
692 | +msgstr "" |
693 | + |
694 | +#: ../initialize.py:87 |
695 | +msgid "You should specify a new directory name." |
696 | +msgstr "" |
697 | + |
698 | +#: ../loom.py:53 |
699 | +msgid "Upgrade to Loom branch?" |
700 | +msgstr "" |
701 | + |
702 | +#: ../loom.py:54 |
703 | +msgid "Branch is not a loom branch. Upgrade to Loom format?" |
704 | +msgstr "" |
705 | + |
706 | +#: ../merge.py:54 |
707 | +msgid "Merge from" |
708 | +msgstr "" |
709 | + |
710 | +#: ../merge.py:56 |
711 | +msgid "Folder" |
712 | +msgstr "" |
713 | + |
714 | +#: ../merge.py:56 |
715 | +msgid "Custom Location" |
716 | +msgstr "" |
717 | + |
718 | +#: ../merge.py:59 |
719 | +msgid "_Merge" |
720 | +msgstr "" |
721 | + |
722 | +#: ../merge.py:132 |
723 | +msgid "Branch not given" |
724 | +msgstr "" |
725 | + |
726 | +#: ../merge.py:133 |
727 | +msgid "Please specify a branch to merge from." |
728 | +msgstr "" |
729 | + |
730 | +#: ../merge.py:141 |
731 | +msgid "Bazaar command error" |
732 | +msgstr "" |
733 | + |
734 | +#. Create the widgets |
735 | +#: ../push.py:51 |
736 | +msgid "Location:" |
737 | +msgstr "" |
738 | + |
739 | +#: ../push.py:53 |
740 | +msgid "_Push" |
741 | +msgstr "" |
742 | + |
743 | +#: ../push.py:100 |
744 | +msgid "" |
745 | +"You cannot push if branches have diverged.\n" |
746 | +"Overwrite?" |
747 | +msgstr "" |
748 | + |
749 | +#: ../push.py:108 |
750 | +msgid "Push successful" |
751 | +msgstr "" |
752 | + |
753 | +#: ../push.py:109 |
754 | +#, python-format |
755 | +msgid "%d revision(s) pushed." |
756 | +msgstr "" |
757 | + |
758 | +#: ../push.py:142 |
759 | +msgid "Non existing parent directory" |
760 | +msgstr "" |
761 | + |
762 | +#: ../push.py:143 |
763 | +#, python-format |
764 | +msgid "" |
765 | +"The parent directory (%s)\n" |
766 | +"doesn't exist. Create?" |
767 | +msgstr "" |
768 | + |
769 | +#. Create the widgets |
770 | +#: ../revbrowser.py:45 |
771 | +msgid "_Select" |
772 | +msgstr "" |
773 | + |
774 | +#: ../search.py:44 |
775 | +msgid "Search for:" |
776 | +msgstr "" |
777 | + |
778 | +#: ../search.py:56 |
779 | +msgid "Document" |
780 | +msgstr "" |
781 | + |
782 | +#: ../status.py:94 |
783 | +msgid "Added" |
784 | +msgstr "" |
785 | + |
786 | +#: ../status.py:100 |
787 | +msgid "Removed" |
788 | +msgstr "" |
789 | + |
790 | +#: ../status.py:106 |
791 | +msgid "Renamed" |
792 | +msgstr "" |
793 | + |
794 | +#: ../status.py:113 |
795 | +msgid "Modified" |
796 | +msgstr "" |
797 | + |
798 | +#: ../status.py:121 |
799 | +msgid "Unknown" |
800 | +msgstr "" |
801 | + |
802 | +#: ../status.py:126 |
803 | +msgid "No changes." |
804 | +msgstr "" |
805 | + |
806 | +#. Set properties |
807 | +#: ../tags.py:66 |
808 | +msgid "Tags" |
809 | +msgstr "" |
810 | + |
811 | +#: ../tags.py:110 |
812 | +msgid "Tag Name" |
813 | +msgstr "" |
814 | + |
815 | +#: ../tags.py:115 |
816 | +msgid "Revision ID" |
817 | +msgstr "" |
818 | + |
819 | +#: ../tags.py:150 |
820 | +msgid "Tags are not supported by this branch format. Please upgrade." |
821 | +msgstr "" |
822 | + |
823 | +#: ../tags.py:156 |
824 | +msgid "No tagged revisions in the branch." |
825 | +msgstr "" |
826 | + |
827 | +#: ../tags.py:231 |
828 | +msgid "_Remove tag" |
829 | +msgstr "" |
830 | + |
831 | +#: ../tags.py:241 |
832 | +msgid "<b><big>Remove tag?</big></b>" |
833 | +msgstr "" |
834 | + |
835 | +#: ../tags.py:243 |
836 | +#, python-format |
837 | +msgid "Are you sure you want to remove the tag: <b>%s</b>?" |
838 | +msgstr "" |
839 | + |
840 | +#. Create the widgets |
841 | +#: ../tags.py:288 |
842 | +msgid "_Add tag" |
843 | +msgstr "" |
844 | + |
845 | +#: ../tags.py:290 |
846 | +msgid "Tag Name:" |
847 | +msgstr "" |
848 | + |
849 | +#: ../tags.py:291 |
850 | +msgid "Revision ID:" |
851 | +msgstr "" |
852 | + |
853 | +#: ../tags.py:322 |
854 | +msgid "No tag name specified" |
855 | +msgstr "" |
856 | + |
857 | +#: ../tags.py:323 |
858 | +msgid "You have to specify the tag's desired name." |
859 | +msgstr "" |
860 | |
861 | === removed file 'po/olive-gtk.pot' |
862 | --- po/olive-gtk.pot 2008-05-05 18:16:46 +0000 |
863 | +++ po/olive-gtk.pot 1970-01-01 00:00:00 +0000 |
864 | @@ -1,1463 +0,0 @@ |
865 | -# SOME DESCRIPTIVE TITLE. |
866 | -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER |
867 | -# This file is distributed under the same license as the PACKAGE package. |
868 | -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. |
869 | -# |
870 | -#, fuzzy |
871 | -msgid "" |
872 | -msgstr "" |
873 | -"Project-Id-Version: PACKAGE VERSION\n" |
874 | -"Report-Msgid-Bugs-To: \n" |
875 | -"POT-Creation-Date: 2008-05-05 20:10+0200\n" |
876 | -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
877 | -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
878 | -"Language-Team: LANGUAGE <LL@li.org>\n" |
879 | -"MIME-Version: 1.0\n" |
880 | -"Content-Type: text/plain; charset=CHARSET\n" |
881 | -"Content-Transfer-Encoding: 8bit\n" |
882 | - |
883 | -#: branch.py:52 olive.glade:151 olive.glade:167 |
884 | -msgid "_Branch" |
885 | -msgstr "" |
886 | - |
887 | -#: branch.py:55 checkout.py:53 branch.py:60 checkout.py:54 |
888 | -msgid "Please select a folder" |
889 | -msgstr "" |
890 | - |
891 | -#: branch.py:57 checkout.py:55 branch.py:55 checkout.py:56 |
892 | -msgid "Branch location:" |
893 | -msgstr "" |
894 | - |
895 | -#: branch.py:58 checkout.py:56 branch.py:57 checkout.py:57 |
896 | -msgid "Destination:" |
897 | -msgstr "" |
898 | - |
899 | -#: branch.py:59 checkout.py:57 branch.py:58 checkout.py:58 |
900 | -msgid "Branck nick:" |
901 | -msgstr "" |
902 | - |
903 | -#: branch.py:60 checkout.py:58 branch.py:59 checkout.py:59 |
904 | -msgid "Revision:" |
905 | -msgstr "" |
906 | - |
907 | -#: branch.py:162 checkout.py:163 branch.py:140 checkout.py:164 |
908 | -msgid "Missing branch location" |
909 | -msgstr "" |
910 | - |
911 | -#: branch.py:163 checkout.py:164 branch.py:141 checkout.py:165 |
912 | -msgid "You must specify a branch location." |
913 | -msgstr "" |
914 | - |
915 | -#: branch.py:205 branch.py:182 |
916 | -msgid "Branching successful" |
917 | -msgstr "" |
918 | - |
919 | -#: branch.py:206 branch.py:183 |
920 | -#, python-format |
921 | -msgid "%d revision(s) branched." |
922 | -msgstr "" |
923 | - |
924 | -#: branch.py:214 checkout.py:195 branch.py:191 checkout.py:196 |
925 | -msgid "N/A" |
926 | -msgstr "" |
927 | - |
928 | -#: checkout.py:50 checkout.py:51 |
929 | -msgid "Check_out" |
930 | -msgstr "" |
931 | - |
932 | -#: checkout.py:62 checkout.py:63 |
933 | -msgid "_Lightweight checkout" |
934 | -msgstr "" |
935 | - |
936 | -#: commit.py:68 __init__.py:362 |
937 | -msgid "Directory does not have a working tree" |
938 | -msgstr "" |
939 | - |
940 | -#: commit.py:69 __init__.py:363 |
941 | -msgid "Operation aborted." |
942 | -msgstr "" |
943 | - |
944 | -#: commit.py:74 errors.py:26 add.py:76 add.py:86 info.py:556 olive/add.py:76 |
945 | -#: olive/add.py:86 olive/info.py:556 errors.py:28 olive/add.py:77 |
946 | -#: olive/add.py:87 olive/info.py:557 |
947 | -msgid "Directory is not a branch" |
948 | -msgstr "" |
949 | - |
950 | -#: commit.py:75 errors.py:27 add.py:77 add.py:87 info.py:557 olive/add.py:77 |
951 | -#: olive/add.py:87 olive/info.py:557 errors.py:29 olive/add.py:78 |
952 | -#: olive/add.py:88 olive/info.py:558 |
953 | -msgid "You can perform this action only in a branch." |
954 | -msgstr "" |
955 | - |
956 | -#: commit.py:88 commit.py:337 commit.py:338 |
957 | -msgid "Comm_it" |
958 | -msgstr "" |
959 | - |
960 | -#: commit.py:89 |
961 | -msgid "File(s) to commit" |
962 | -msgstr "" |
963 | - |
964 | -#: commit.py:95 |
965 | -msgid "Commit message:" |
966 | -msgstr "" |
967 | - |
968 | -#: commit.py:99 |
969 | -msgid "Pending merges" |
970 | -msgstr "" |
971 | - |
972 | -#: commit.py:147 commit.py:310 commit.py:311 |
973 | -msgid "_Only commit locally" |
974 | -msgstr "" |
975 | - |
976 | -#: commit.py:215 commit.py:650 commit.py:652 |
977 | -msgid "Commit with an empty message?" |
978 | -msgstr "" |
979 | - |
980 | -#: commit.py:216 commit.py:651 commit.py:653 |
981 | -msgid "You can describe your commit intent in the message." |
982 | -msgstr "" |
983 | - |
984 | -#: commit.py:228 commit.py:670 commit.py:672 |
985 | -msgid "Commit with unknowns?" |
986 | -msgstr "" |
987 | - |
988 | -#: commit.py:229 commit.py:671 commit.py:673 |
989 | -msgid "Unknown files exist in the working tree. Commit anyway?" |
990 | -msgstr "" |
991 | - |
992 | -#: commit.py:240 commit.py:689 commit.py:691 |
993 | -msgid "Commit with no changes?" |
994 | -msgstr "" |
995 | - |
996 | -#: commit.py:241 |
997 | -msgid "There are no changes in the working tree." |
998 | -msgstr "" |
999 | - |
1000 | -#: commit.py:323 menu.py:87 commit.py:415 olive/menu.py:86 commit.py:416 |
1001 | -#: olive/menu.py:87 |
1002 | -msgid "Commit" |
1003 | -msgstr "" |
1004 | - |
1005 | -#: commit.py:325 conflicts.py:108 commit.py:419 conflicts.py:109 commit.py:420 |
1006 | -#: conflicts.py:110 |
1007 | -msgid "Path" |
1008 | -msgstr "" |
1009 | - |
1010 | -#: commit.py:327 conflicts.py:110 commit.py:421 conflicts.py:111 commit.py:422 |
1011 | -#: conflicts.py:112 |
1012 | -msgid "Type" |
1013 | -msgstr "" |
1014 | - |
1015 | -#: commit.py:334 commit.py:336 commit.py:338 __init__.py:940 __init__.py:1227 |
1016 | -#: commit.py:167 olive/__init__.py:1053 olive/__init__.py:1358 commit.py:168 |
1017 | -#: olive/__init__.py:1054 olive/__init__.py:1359 |
1018 | -msgid "added" |
1019 | -msgstr "" |
1020 | - |
1021 | -#: commit.py:344 commit.py:346 commit.py:348 __init__.py:938 __init__.py:1225 |
1022 | -#: commit.py:168 olive/__init__.py:1051 olive/__init__.py:1356 commit.py:169 |
1023 | -#: olive/__init__.py:1052 olive/__init__.py:1357 |
1024 | -msgid "removed" |
1025 | -msgstr "" |
1026 | - |
1027 | -#: commit.py:353 commit.py:170 commit.py:171 |
1028 | -msgid "renamed and modified" |
1029 | -msgstr "" |
1030 | - |
1031 | -#: commit.py:355 __init__.py:936 __init__.py:1223 commit.py:169 |
1032 | -#: olive/__init__.py:1049 olive/__init__.py:1354 commit.py:170 |
1033 | -#: olive/__init__.py:1050 olive/__init__.py:1355 |
1034 | -msgid "renamed" |
1035 | -msgstr "" |
1036 | - |
1037 | -#: commit.py:380 commit.py:382 commit.py:384 __init__.py:942 __init__.py:1229 |
1038 | -#: commit.py:171 olive/__init__.py:1055 olive/__init__.py:1360 commit.py:172 |
1039 | -#: olive/__init__.py:1056 olive/__init__.py:1361 |
1040 | -msgid "modified" |
1041 | -msgstr "" |
1042 | - |
1043 | -#: commit.py:395 commit.py:480 commit.py:481 |
1044 | -msgid "Date" |
1045 | -msgstr "" |
1046 | - |
1047 | -#: commit.py:397 revbrowser.py:68 commit.py:482 commit.py:483 |
1048 | -msgid "Committer" |
1049 | -msgstr "" |
1050 | - |
1051 | -#: commit.py:399 revbrowser.py:66 commit.py:484 commit.py:485 |
1052 | -msgid "Summary" |
1053 | -msgstr "" |
1054 | - |
1055 | -#: conflicts.py:48 conflicts.py:49 |
1056 | -msgid "External utility:" |
1057 | -msgstr "" |
1058 | - |
1059 | -#: conflicts.py:99 conflicts.py:100 |
1060 | -msgid "Conflicts" |
1061 | -msgstr "" |
1062 | - |
1063 | -#: conflicts.py:102 conflicts.py:103 |
1064 | -msgid "No conflicts in working tree." |
1065 | -msgstr "" |
1066 | - |
1067 | -#: conflicts.py:115 conflicts.py:116 conflicts.py:117 |
1068 | -msgid "path conflict" |
1069 | -msgstr "" |
1070 | - |
1071 | -#: conflicts.py:117 conflicts.py:118 conflicts.py:119 |
1072 | -msgid "contents conflict" |
1073 | -msgstr "" |
1074 | - |
1075 | -#: conflicts.py:119 conflicts.py:120 conflicts.py:121 |
1076 | -msgid "text conflict" |
1077 | -msgstr "" |
1078 | - |
1079 | -#: conflicts.py:121 conflicts.py:122 conflicts.py:123 |
1080 | -msgid "duplicate id" |
1081 | -msgstr "" |
1082 | - |
1083 | -#: conflicts.py:123 conflicts.py:124 conflicts.py:125 |
1084 | -msgid "duplicate" |
1085 | -msgstr "" |
1086 | - |
1087 | -#: conflicts.py:125 conflicts.py:126 conflicts.py:127 |
1088 | -msgid "parent loop" |
1089 | -msgstr "" |
1090 | - |
1091 | -#: conflicts.py:127 conflicts.py:128 conflicts.py:129 |
1092 | -msgid "unversioned parent" |
1093 | -msgstr "" |
1094 | - |
1095 | -#: conflicts.py:129 conflicts.py:130 conflicts.py:131 |
1096 | -msgid "missing parent" |
1097 | -msgstr "" |
1098 | - |
1099 | -#: conflicts.py:131 conflicts.py:132 conflicts.py:133 |
1100 | -msgid "deleting parent" |
1101 | -msgstr "" |
1102 | - |
1103 | -#: conflicts.py:133 conflicts.py:134 conflicts.py:135 |
1104 | -msgid "unknown type of conflict" |
1105 | -msgstr "" |
1106 | - |
1107 | -#: conflicts.py:162 __init__.py:614 add.py:67 menu.py:178 menu.py:191 |
1108 | -#: menu.py:218 menu.py:254 move.py:79 remove.py:67 remove.py:129 rename.py:70 |
1109 | -#: conflicts.py:163 olive/__init__.py:687 olive/add.py:67 olive/menu.py:177 |
1110 | -#: olive/menu.py:190 olive/menu.py:217 olive/menu.py:253 olive/move.py:79 |
1111 | -#: olive/remove.py:67 olive/remove.py:129 olive/rename.py:70 conflicts.py:164 |
1112 | -#: olive/__init__.py:688 olive/add.py:68 olive/menu.py:178 olive/menu.py:191 |
1113 | -#: olive/menu.py:218 olive/menu.py:254 olive/move.py:80 olive/remove.py:68 |
1114 | -#: olive/remove.py:130 olive/rename.py:71 |
1115 | -msgid "No file was selected" |
1116 | -msgstr "" |
1117 | - |
1118 | -#: conflicts.py:163 __init__.py:615 menu.py:192 conflicts.py:164 |
1119 | -#: olive/__init__.py:688 olive/menu.py:191 conflicts.py:165 |
1120 | -#: olive/__init__.py:689 olive/menu.py:192 |
1121 | -msgid "Please select a file from the list." |
1122 | -msgstr "" |
1123 | - |
1124 | -#: conflicts.py:173 conflicts.py:174 conflicts.py:175 |
1125 | -msgid "Call to external utility failed" |
1126 | -msgstr "" |
1127 | - |
1128 | -#: conflicts.py:175 conflicts.py:176 conflicts.py:177 |
1129 | -msgid "Cannot resolve conflict" |
1130 | -msgstr "" |
1131 | - |
1132 | -#: conflicts.py:176 conflicts.py:177 conflicts.py:178 |
1133 | -msgid "" |
1134 | -"Only conflicts on the text of files can be resolved with Olive at the " |
1135 | -"moment. Content conflicts, on the structure of the tree, need to be resolved " |
1136 | -"using the command line." |
1137 | -msgstr "" |
1138 | - |
1139 | -#: errors.py:29 errors.py:31 |
1140 | -msgid "Directory is not a checkout" |
1141 | -msgstr "" |
1142 | - |
1143 | -#: errors.py:30 errors.py:32 |
1144 | -msgid "You can perform local commit only on checkouts." |
1145 | -msgstr "" |
1146 | - |
1147 | -#: errors.py:32 errors.py:34 |
1148 | -msgid "No changes to commit" |
1149 | -msgstr "" |
1150 | - |
1151 | -#: errors.py:33 errors.py:35 |
1152 | -msgid "Try force commit if you want to commit anyway." |
1153 | -msgstr "" |
1154 | - |
1155 | -#: errors.py:35 errors.py:37 |
1156 | -msgid "Conflicts in tree" |
1157 | -msgstr "" |
1158 | - |
1159 | -#: errors.py:36 errors.py:38 |
1160 | -msgid "You need to resolve the conflicts before committing." |
1161 | -msgstr "" |
1162 | - |
1163 | -#: errors.py:38 errors.py:40 |
1164 | -msgid "Strict commit failed" |
1165 | -msgstr "" |
1166 | - |
1167 | -#: errors.py:39 errors.py:41 |
1168 | -msgid "" |
1169 | -"There are unknown files in the working tree.\n" |
1170 | -"Please add or delete them." |
1171 | -msgstr "" |
1172 | - |
1173 | -#: errors.py:41 errors.py:43 |
1174 | -msgid "Bound branch is out of date" |
1175 | -msgstr "" |
1176 | - |
1177 | -#: errors.py:42 errors.py:45 |
1178 | -#, python-format |
1179 | -msgid "%s" |
1180 | -msgstr "" |
1181 | - |
1182 | -#: errors.py:44 errors.py:47 |
1183 | -msgid "File not versioned" |
1184 | -msgstr "" |
1185 | - |
1186 | -#: errors.py:45 errors.py:48 |
1187 | -msgid "The selected file is not versioned." |
1188 | -msgstr "" |
1189 | - |
1190 | -#: errors.py:47 push.py:105 errors.py:50 push.py:106 |
1191 | -msgid "Branches have been diverged" |
1192 | -msgstr "" |
1193 | - |
1194 | -#: errors.py:48 errors.py:51 |
1195 | -msgid "" |
1196 | -"You cannot push if branches have diverged. Use the\n" |
1197 | -"overwrite option if you want to push anyway." |
1198 | -msgstr "" |
1199 | - |
1200 | -#: errors.py:50 errors.py:53 |
1201 | -msgid "No diff output" |
1202 | -msgstr "" |
1203 | - |
1204 | -#: errors.py:51 errors.py:54 |
1205 | -msgid "The selected file hasn't changed." |
1206 | -msgstr "" |
1207 | - |
1208 | -#: errors.py:53 errors.py:56 |
1209 | -msgid "No such revision" |
1210 | -msgstr "" |
1211 | - |
1212 | -#: errors.py:54 errors.py:57 |
1213 | -msgid "The revision you specified doesn't exist." |
1214 | -msgstr "" |
1215 | - |
1216 | -#: errors.py:56 errors.py:59 |
1217 | -msgid "Target already exists" |
1218 | -msgstr "" |
1219 | - |
1220 | -#: errors.py:57 errors.py:60 |
1221 | -msgid "Target directory already exists. Please select another target." |
1222 | -msgstr "" |
1223 | - |
1224 | -#: errors.py:59 errors.py:62 |
1225 | -msgid "Directory is already a branch" |
1226 | -msgstr "" |
1227 | - |
1228 | -#: errors.py:60 errors.py:63 |
1229 | -#, python-format |
1230 | -msgid "" |
1231 | -"The current directory (%s) is already a branch.\n" |
1232 | -"You can start using it, or initialize another directory." |
1233 | -msgstr "" |
1234 | - |
1235 | -#: errors.py:62 errors.py:65 |
1236 | -msgid "Branch without a working tree" |
1237 | -msgstr "" |
1238 | - |
1239 | -#: errors.py:63 errors.py:66 |
1240 | -#, python-format |
1241 | -msgid "" |
1242 | -"The current directory (%s)\n" |
1243 | -"is a branch without a working tree." |
1244 | -msgstr "" |
1245 | - |
1246 | -#: errors.py:65 errors.py:68 |
1247 | -msgid "Unknown bzr error" |
1248 | -msgstr "" |
1249 | - |
1250 | -#: errors.py:67 errors.py:70 |
1251 | -msgid "Permission denied" |
1252 | -msgstr "" |
1253 | - |
1254 | -#: errors.py:67 errors.py:70 |
1255 | -msgid "permission denied." |
1256 | -msgstr "" |
1257 | - |
1258 | -#: errors.py:69 errors.py:72 |
1259 | -msgid "Unknown error" |
1260 | -msgstr "" |
1261 | - |
1262 | -#: initialize.py:47 initialize.py:48 |
1263 | -msgid "_Initialize" |
1264 | -msgstr "" |
1265 | - |
1266 | -#: initialize.py:48 initialize.py:49 |
1267 | -msgid "Which directory do you want to initialize?" |
1268 | -msgstr "" |
1269 | - |
1270 | -#: initialize.py:49 initialize.py:50 |
1271 | -msgid "Current directory" |
1272 | -msgstr "" |
1273 | - |
1274 | -#: initialize.py:50 initialize.py:51 |
1275 | -msgid "Create a new directory with the name:" |
1276 | -msgstr "" |
1277 | - |
1278 | -#: initialize.py:85 initialize.py:86 |
1279 | -msgid "Directory name not specified" |
1280 | -msgstr "" |
1281 | - |
1282 | -#: initialize.py:86 initialize.py:87 |
1283 | -msgid "You should specify a new directory name." |
1284 | -msgstr "" |
1285 | - |
1286 | -#: merge.py:66 merge.py:68 merge.py:69 |
1287 | -msgid "Branch not given" |
1288 | -msgstr "" |
1289 | - |
1290 | -#: merge.py:67 merge.py:69 merge.py:70 |
1291 | -msgid "Please specify a branch to merge from." |
1292 | -msgstr "" |
1293 | - |
1294 | -#: merge.py:75 merge.py:77 merge.py:78 |
1295 | -msgid "Bazaar command error" |
1296 | -msgstr "" |
1297 | - |
1298 | -#: merge.py:81 diff.py:513 merge.py:83 diff.py:514 merge.py:84 |
1299 | -msgid "Merge successful" |
1300 | -msgstr "" |
1301 | - |
1302 | -#: merge.py:82 diff.py:514 merge.py:84 diff.py:515 merge.py:85 |
1303 | -msgid "All changes applied successfully." |
1304 | -msgstr "" |
1305 | - |
1306 | -#: merge.py:85 diff.py:517 merge.py:87 diff.py:518 merge.py:88 |
1307 | -msgid "Conflicts encountered" |
1308 | -msgstr "" |
1309 | - |
1310 | -#: merge.py:86 diff.py:518 merge.py:88 diff.py:519 merge.py:89 |
1311 | -msgid "Please resolve the conflicts manually before committing." |
1312 | -msgstr "" |
1313 | - |
1314 | -#: push.py:52 bookmark.py:45 olive/bookmark.py:45 push.py:53 |
1315 | -#: olive/bookmark.py:46 |
1316 | -msgid "Location:" |
1317 | -msgstr "" |
1318 | - |
1319 | -#: push.py:54 push.py:55 |
1320 | -msgid "_Push" |
1321 | -msgstr "" |
1322 | - |
1323 | -#: push.py:97 push.py:98 |
1324 | -msgid "Set default push location" |
1325 | -msgstr "" |
1326 | - |
1327 | -#: push.py:98 push.py:99 |
1328 | -#, python-format |
1329 | -msgid "" |
1330 | -"There is no default push location set.\n" |
1331 | -"Set %r as default now?" |
1332 | -msgstr "" |
1333 | - |
1334 | -#: push.py:106 push.py:107 |
1335 | -msgid "" |
1336 | -"You cannot push if branches have diverged.\n" |
1337 | -"Overwrite?" |
1338 | -msgstr "" |
1339 | - |
1340 | -#: push.py:112 push.py:111 |
1341 | -msgid "Push successful" |
1342 | -msgstr "" |
1343 | - |
1344 | -#: push.py:113 push.py:112 |
1345 | -#, python-format |
1346 | -msgid "%d revision(s) pushed." |
1347 | -msgstr "" |
1348 | - |
1349 | -#: push.py:146 push.py:145 |
1350 | -msgid "Non existing parent directory" |
1351 | -msgstr "" |
1352 | - |
1353 | -#: push.py:147 push.py:146 |
1354 | -#, python-format |
1355 | -msgid "" |
1356 | -"The parent directory (%s)\n" |
1357 | -"doesn't exist. Create?" |
1358 | -msgstr "" |
1359 | - |
1360 | -#: revbrowser.py:45 |
1361 | -msgid "Please wait, revisions are being loaded..." |
1362 | -msgstr "" |
1363 | - |
1364 | -#: revbrowser.py:48 revbrowser.py:44 revbrowser.py:45 |
1365 | -msgid "_Select" |
1366 | -msgstr "" |
1367 | - |
1368 | -#: revbrowser.py:64 |
1369 | -msgid "Revno" |
1370 | -msgstr "" |
1371 | - |
1372 | -#: revbrowser.py:70 |
1373 | -msgid "Time" |
1374 | -msgstr "" |
1375 | - |
1376 | -#: status.py:78 status.py:82 status.py:84 |
1377 | -msgid "Added" |
1378 | -msgstr "" |
1379 | - |
1380 | -#: status.py:84 status.py:88 status.py:90 |
1381 | -msgid "Removed" |
1382 | -msgstr "" |
1383 | - |
1384 | -#: status.py:90 status.py:94 status.py:96 |
1385 | -msgid "Renamed" |
1386 | -msgstr "" |
1387 | - |
1388 | -#: status.py:97 status.py:101 status.py:103 |
1389 | -msgid "Modified" |
1390 | -msgstr "" |
1391 | - |
1392 | -#: status.py:105 status.py:109 status.py:111 |
1393 | -msgid "Unknown" |
1394 | -msgstr "" |
1395 | - |
1396 | -#: status.py:110 status.py:114 status.py:116 |
1397 | -msgid "No changes." |
1398 | -msgstr "" |
1399 | - |
1400 | -#: tags.py:67 tags.py:65 tags.py:66 |
1401 | -msgid "Tags" |
1402 | -msgstr "" |
1403 | - |
1404 | -#: tags.py:111 tags.py:109 tags.py:110 |
1405 | -msgid "Tag Name" |
1406 | -msgstr "" |
1407 | - |
1408 | -#: tags.py:116 tags.py:114 tags.py:115 |
1409 | -msgid "Revision ID" |
1410 | -msgstr "" |
1411 | - |
1412 | -#: tags.py:151 tags.py:149 tags.py:150 |
1413 | -msgid "Tags are not supported by this branch format. Please upgrade." |
1414 | -msgstr "" |
1415 | - |
1416 | -#: tags.py:157 tags.py:155 tags.py:156 |
1417 | -msgid "No tagged revisions in the branch." |
1418 | -msgstr "" |
1419 | - |
1420 | -#: tags.py:232 tags.py:230 tags.py:231 |
1421 | -msgid "_Remove tag" |
1422 | -msgstr "" |
1423 | - |
1424 | -#: tags.py:242 tags.py:240 tags.py:241 |
1425 | -msgid "<b><big>Remove tag?</big></b>" |
1426 | -msgstr "" |
1427 | - |
1428 | -#: tags.py:244 tags.py:242 tags.py:243 |
1429 | -#, python-format |
1430 | -msgid "Are you sure you want to remove the tag: <b>%s</b>?" |
1431 | -msgstr "" |
1432 | - |
1433 | -#: tags.py:289 tags.py:287 tags.py:288 |
1434 | -msgid "_Add tag" |
1435 | -msgstr "" |
1436 | - |
1437 | -#: tags.py:291 tags.py:289 tags.py:290 |
1438 | -msgid "Tag Name:" |
1439 | -msgstr "" |
1440 | - |
1441 | -#: tags.py:292 tags.py:290 tags.py:291 |
1442 | -msgid "Revision ID:" |
1443 | -msgstr "" |
1444 | - |
1445 | -#: tags.py:323 tags.py:321 tags.py:322 |
1446 | -msgid "No tag name specified" |
1447 | -msgstr "" |
1448 | - |
1449 | -#: tags.py:324 tags.py:322 tags.py:323 |
1450 | -msgid "You have to specify the tag's desired name." |
1451 | -msgstr "" |
1452 | - |
1453 | -#: __init__.py:512 olive/__init__.py:539 olive/__init__.py:540 |
1454 | -msgid "There are local changes in the branch" |
1455 | -msgstr "" |
1456 | - |
1457 | -#: __init__.py:513 olive/__init__.py:540 olive/__init__.py:541 |
1458 | -msgid "Please commit or revert the changes before merging." |
1459 | -msgstr "" |
1460 | - |
1461 | -#: __init__.py:525 __init__.py:550 olive/__init__.py:555 olive/__init__.py:612 |
1462 | -#: olive/__init__.py:556 olive/__init__.py:613 |
1463 | -msgid "Parent location is unknown" |
1464 | -msgstr "" |
1465 | - |
1466 | -#: __init__.py:526 olive/__init__.py:556 olive/__init__.py:557 |
1467 | -msgid "Cannot determine missing revisions if no parent location is known." |
1468 | -msgstr "" |
1469 | - |
1470 | -#: __init__.py:537 olive/__init__.py:599 olive/__init__.py:600 |
1471 | -msgid "There are missing revisions" |
1472 | -msgstr "" |
1473 | - |
1474 | -#: __init__.py:538 |
1475 | -#, python-format |
1476 | -msgid "%d revision(s) missing." |
1477 | -msgstr "" |
1478 | - |
1479 | -#: __init__.py:540 olive/__init__.py:602 olive/__init__.py:603 |
1480 | -msgid "Local branch up to date" |
1481 | -msgstr "" |
1482 | - |
1483 | -#: __init__.py:541 olive/__init__.py:603 olive/__init__.py:604 |
1484 | -msgid "There are no missing revisions." |
1485 | -msgstr "" |
1486 | - |
1487 | -#: __init__.py:551 olive/__init__.py:613 olive/__init__.py:614 |
1488 | -msgid "Pulling is not possible until there is a parent location." |
1489 | -msgstr "" |
1490 | - |
1491 | -#: __init__.py:561 olive/__init__.py:623 olive/__init__.py:624 |
1492 | -msgid "Pull successful" |
1493 | -msgstr "" |
1494 | - |
1495 | -#: __init__.py:561 olive/__init__.py:623 olive/__init__.py:624 |
1496 | -#, python-format |
1497 | -msgid "%d revision(s) pulled." |
1498 | -msgstr "" |
1499 | - |
1500 | -#: __init__.py:575 menu.py:275 olive/__init__.py:648 olive/menu.py:274 |
1501 | -#: olive/__init__.py:649 olive/menu.py:275 |
1502 | -msgid "Conflicts detected" |
1503 | -msgstr "" |
1504 | - |
1505 | -#: __init__.py:576 menu.py:276 olive/__init__.py:649 olive/menu.py:275 |
1506 | -#: olive/__init__.py:650 olive/menu.py:276 |
1507 | -msgid "Please have a look at the working tree before continuing." |
1508 | -msgstr "" |
1509 | - |
1510 | -#: __init__.py:578 menu.py:278 olive/__init__.py:651 olive/menu.py:277 |
1511 | -#: olive/__init__.py:652 olive/menu.py:278 |
1512 | -msgid "Revert successful" |
1513 | -msgstr "" |
1514 | - |
1515 | -#: __init__.py:579 menu.py:279 olive/__init__.py:652 olive/menu.py:278 |
1516 | -#: olive/__init__.py:653 olive/menu.py:279 |
1517 | -msgid "All files reverted to last revision." |
1518 | -msgstr "" |
1519 | - |
1520 | -#: __init__.py:835 __init__.py:1117 olive/__init__.py:942 |
1521 | -#: olive/__init__.py:1240 olive/__init__.py:943 olive/__init__.py:1241 |
1522 | -msgid "Bookmarks" |
1523 | -msgstr "" |
1524 | - |
1525 | -#: __init__.py:842 menu.py:99 olive/__init__.py:949 olive/menu.py:98 |
1526 | -#: olive/__init__.py:950 olive/menu.py:99 |
1527 | -msgid "Bookmark" |
1528 | -msgstr "" |
1529 | - |
1530 | -#: __init__.py:944 __init__.py:1231 olive/__init__.py:1057 |
1531 | -#: olive/__init__.py:1362 olive/__init__.py:1058 olive/__init__.py:1363 |
1532 | -msgid "unchanged" |
1533 | -msgstr "" |
1534 | - |
1535 | -#: __init__.py:946 __init__.py:1233 olive/__init__.py:1059 |
1536 | -#: olive/__init__.py:1364 olive/__init__.py:1060 olive/__init__.py:1365 |
1537 | -msgid "ignored" |
1538 | -msgstr "" |
1539 | - |
1540 | -#: __init__.py:948 __init__.py:1235 olive/__init__.py:1061 |
1541 | -#: olive/__init__.py:1368 olive/__init__.py:1062 olive/__init__.py:1369 |
1542 | -msgid "unknown" |
1543 | -msgstr "" |
1544 | - |
1545 | -#: __init__.py:964 olive/__init__.py:1083 olive/__init__.py:1084 |
1546 | -msgid "Filename" |
1547 | -msgstr "" |
1548 | - |
1549 | -#: __init__.py:965 olive/__init__.py:1084 olive/__init__.py:1085 |
1550 | -msgid "Status" |
1551 | -msgstr "" |
1552 | - |
1553 | -#: __init__.py:966 olive/__init__.py:1085 olive/__init__.py:1086 |
1554 | -msgid "Size" |
1555 | -msgstr "" |
1556 | - |
1557 | -#: __init__.py:967 olive/__init__.py:1086 olive/__init__.py:1087 |
1558 | -msgid "Last modified" |
1559 | -msgstr "" |
1560 | - |
1561 | -#: add.py:68 menu.py:179 menu.py:219 menu.py:255 remove.py:68 remove.py:130 |
1562 | -#: olive/add.py:68 olive/menu.py:178 olive/menu.py:218 olive/menu.py:254 |
1563 | -#: olive/remove.py:68 olive/remove.py:130 olive/add.py:69 olive/menu.py:179 |
1564 | -#: olive/menu.py:219 olive/menu.py:255 olive/remove.py:69 olive/remove.py:131 |
1565 | -msgid "" |
1566 | -"Please select a file from the list,\n" |
1567 | -"or choose the other option." |
1568 | -msgstr "" |
1569 | - |
1570 | -#: bookmark.py:46 olive/bookmark.py:46 olive/bookmark.py:47 |
1571 | -msgid "Title:" |
1572 | -msgstr "" |
1573 | - |
1574 | -#: bookmark.py:81 olive/bookmark.py:81 olive/bookmark.py:82 |
1575 | -msgid "No title given" |
1576 | -msgstr "" |
1577 | - |
1578 | -#: bookmark.py:82 olive/bookmark.py:82 olive/bookmark.py:83 |
1579 | -msgid "Please specify a title to continue." |
1580 | -msgstr "" |
1581 | - |
1582 | -#: guifiles.py:45 olive/guifiles.py:47 olive/guifiles.py:48 |
1583 | -msgid "Glade file cannot be found." |
1584 | -msgstr "" |
1585 | - |
1586 | -#: guifiles.py:55 olive/guifiles.py:57 olive/guifiles.py:58 |
1587 | -msgid "UI description file cannot be found." |
1588 | -msgstr "" |
1589 | - |
1590 | -#: menu.py:63 olive/menu.py:62 olive/menu.py:63 |
1591 | -msgid "Add" |
1592 | -msgstr "" |
1593 | - |
1594 | -#: menu.py:64 olive/menu.py:63 olive/menu.py:64 |
1595 | -msgid "Add the selected file" |
1596 | -msgstr "" |
1597 | - |
1598 | -#: menu.py:67 menu.py:107 olive/menu.py:66 olive/menu.py:106 olive/menu.py:67 |
1599 | -#: olive/menu.py:107 |
1600 | -msgid "Remove" |
1601 | -msgstr "" |
1602 | - |
1603 | -#: menu.py:68 olive/menu.py:67 olive/menu.py:68 |
1604 | -msgid "Remove the selected file" |
1605 | -msgstr "" |
1606 | - |
1607 | -#: menu.py:71 olive/menu.py:70 olive/menu.py:71 |
1608 | -msgid "Remove and delete" |
1609 | -msgstr "" |
1610 | - |
1611 | -#: menu.py:72 olive/menu.py:71 olive/menu.py:72 |
1612 | -msgid "Remove the selected file/dir and delete from disk" |
1613 | -msgstr "" |
1614 | - |
1615 | -#: menu.py:75 olive/menu.py:74 olive/menu.py:75 |
1616 | -msgid "Rename" |
1617 | -msgstr "" |
1618 | - |
1619 | -#: menu.py:76 olive/menu.py:75 olive/menu.py:76 |
1620 | -msgid "Rename the selected file" |
1621 | -msgstr "" |
1622 | - |
1623 | -#: menu.py:79 olive/menu.py:78 olive/menu.py:79 |
1624 | -msgid "Open" |
1625 | -msgstr "" |
1626 | - |
1627 | -#: menu.py:80 olive/menu.py:79 olive/menu.py:80 |
1628 | -msgid "Open the selected file" |
1629 | -msgstr "" |
1630 | - |
1631 | -#: menu.py:83 olive/menu.py:82 olive/menu.py:83 |
1632 | -msgid "Revert" |
1633 | -msgstr "" |
1634 | - |
1635 | -#: menu.py:84 olive/menu.py:83 olive/menu.py:84 |
1636 | -msgid "Revert the changes" |
1637 | -msgstr "" |
1638 | - |
1639 | -#: menu.py:88 olive/menu.py:87 olive/menu.py:88 |
1640 | -msgid "Commit the changes" |
1641 | -msgstr "" |
1642 | - |
1643 | -#: menu.py:91 olive/menu.py:90 olive/menu.py:91 |
1644 | -msgid "Annotate" |
1645 | -msgstr "" |
1646 | - |
1647 | -#: menu.py:92 olive/menu.py:91 olive/menu.py:92 |
1648 | -msgid "Annotate the selected file" |
1649 | -msgstr "" |
1650 | - |
1651 | -#: menu.py:95 olive/menu.py:94 olive/menu.py:95 |
1652 | -msgid "Diff" |
1653 | -msgstr "" |
1654 | - |
1655 | -#: menu.py:96 olive/menu.py:95 olive/menu.py:96 |
1656 | -msgid "Show the diff of the file" |
1657 | -msgstr "" |
1658 | - |
1659 | -#: menu.py:100 olive/menu.py:99 olive/menu.py:100 |
1660 | -msgid "Bookmark current location" |
1661 | -msgstr "" |
1662 | - |
1663 | -#: menu.py:103 olive/menu.py:102 olive/menu.py:103 |
1664 | -msgid "Edit" |
1665 | -msgstr "" |
1666 | - |
1667 | -#: menu.py:104 olive/menu.py:103 olive/menu.py:104 |
1668 | -msgid "Edit the selected bookmark" |
1669 | -msgstr "" |
1670 | - |
1671 | -#: menu.py:108 olive/menu.py:107 olive/menu.py:108 |
1672 | -msgid "Remove the selected bookmark" |
1673 | -msgstr "" |
1674 | - |
1675 | -#: menu.py:111 olive/menu.py:110 olive/menu.py:111 |
1676 | -msgid "Open Folder" |
1677 | -msgstr "" |
1678 | - |
1679 | -#: menu.py:112 olive/menu.py:111 olive/menu.py:112 |
1680 | -msgid "Open bookmark folder in Nautilus" |
1681 | -msgstr "" |
1682 | - |
1683 | -#: menu.py:115 olive/menu.py:114 olive/menu.py:115 |
1684 | -msgid "Selected..." |
1685 | -msgstr "" |
1686 | - |
1687 | -#: menu.py:116 olive/menu.py:115 olive/menu.py:116 |
1688 | -msgid "Show the differences of the selected file" |
1689 | -msgstr "" |
1690 | - |
1691 | -#: menu.py:119 olive/menu.py:118 olive/menu.py:119 |
1692 | -msgid "All..." |
1693 | -msgstr "" |
1694 | - |
1695 | -#: menu.py:120 olive/menu.py:119 olive/menu.py:120 |
1696 | -msgid "Show the differences of all files" |
1697 | -msgstr "" |
1698 | - |
1699 | -#: menu.py:123 olive/menu.py:122 olive/menu.py:123 |
1700 | -msgid "View contents" |
1701 | -msgstr "" |
1702 | - |
1703 | -#: menu.py:124 olive/menu.py:123 olive/menu.py:124 |
1704 | -msgid "View the contents of the file in a builtin viewer" |
1705 | -msgstr "" |
1706 | - |
1707 | -#: menu.py:127 olive/menu.py:126 olive/menu.py:127 |
1708 | -msgid "Show differences" |
1709 | -msgstr "" |
1710 | - |
1711 | -#: menu.py:128 olive/menu.py:127 olive/menu.py:128 |
1712 | -msgid "Show the differences between two revisions of the file" |
1713 | -msgstr "" |
1714 | - |
1715 | -#: menu.py:131 olive/menu.py:130 olive/menu.py:131 |
1716 | -msgid "Revert to this revision" |
1717 | -msgstr "" |
1718 | - |
1719 | -#: menu.py:132 olive/menu.py:131 olive/menu.py:132 |
1720 | -msgid "Revert the selected file to the selected revision" |
1721 | -msgstr "" |
1722 | - |
1723 | -#: menu.py:228 olive/menu.py:227 olive/menu.py:228 |
1724 | -msgid "Delete directory with all directories below ?" |
1725 | -msgstr "" |
1726 | - |
1727 | -#: menu.py:315 olive/__init__.py:707 olive/menu.py:318 olive/__init__.py:708 |
1728 | -#: olive/menu.py:319 |
1729 | -msgid "Bookmark successfully added" |
1730 | -msgstr "" |
1731 | - |
1732 | -#: menu.py:316 olive/__init__.py:708 olive/menu.py:319 olive/__init__.py:709 |
1733 | -#: olive/menu.py:320 |
1734 | -msgid "" |
1735 | -"The current directory was bookmarked. You can reach\n" |
1736 | -"it by selecting it from the left panel." |
1737 | -msgstr "" |
1738 | - |
1739 | -#: menu.py:319 olive/__init__.py:711 olive/menu.py:322 olive/__init__.py:712 |
1740 | -#: olive/menu.py:323 |
1741 | -msgid "Location already bookmarked" |
1742 | -msgstr "" |
1743 | - |
1744 | -#: menu.py:320 olive/__init__.py:712 olive/menu.py:323 olive/__init__.py:713 |
1745 | -#: olive/menu.py:324 |
1746 | -msgid "" |
1747 | -"The current directory is already bookmarked.\n" |
1748 | -"See the left panel for reference." |
1749 | -msgstr "" |
1750 | - |
1751 | -#: mkdir.py:67 olive/mkdir.py:67 olive/mkdir.py:68 |
1752 | -msgid "No directory name given" |
1753 | -msgstr "" |
1754 | - |
1755 | -#: mkdir.py:68 olive/mkdir.py:68 olive/mkdir.py:69 |
1756 | -msgid "Please specify a desired name for the new directory." |
1757 | -msgstr "" |
1758 | - |
1759 | -#: mkdir.py:79 mkdir.py:89 olive/mkdir.py:79 olive/mkdir.py:89 |
1760 | -#: olive/mkdir.py:80 olive/mkdir.py:90 |
1761 | -msgid "Directory already exists" |
1762 | -msgstr "" |
1763 | - |
1764 | -#: mkdir.py:80 mkdir.py:90 olive/mkdir.py:80 olive/mkdir.py:90 |
1765 | -#: olive/mkdir.py:81 olive/mkdir.py:91 |
1766 | -msgid "Please specify another name to continue." |
1767 | -msgstr "" |
1768 | - |
1769 | -#: move.py:80 rename.py:71 olive/move.py:80 olive/rename.py:71 |
1770 | -#: olive/move.py:81 olive/rename.py:72 |
1771 | -msgid "Please select a file from the list to proceed." |
1772 | -msgstr "" |
1773 | - |
1774 | -#: move.py:89 rename.py:87 olive/move.py:89 olive/rename.py:87 |
1775 | -#: olive/move.py:90 olive/rename.py:88 |
1776 | -msgid "Not the same branch" |
1777 | -msgstr "" |
1778 | - |
1779 | -#: move.py:90 rename.py:88 olive/move.py:90 olive/rename.py:88 |
1780 | -#: olive/move.py:91 olive/rename.py:89 |
1781 | -msgid "The destination is not in the same branch." |
1782 | -msgstr "" |
1783 | - |
1784 | -#: remove.py:79 remove.py:139 olive/remove.py:79 olive/remove.py:139 |
1785 | -#: olive/remove.py:80 olive/remove.py:140 |
1786 | -msgid "No matching files" |
1787 | -msgstr "" |
1788 | - |
1789 | -#: remove.py:80 remove.py:140 olive/remove.py:80 olive/remove.py:140 |
1790 | -#: olive/remove.py:81 olive/remove.py:141 |
1791 | -msgid "No added files were found in the working tree." |
1792 | -msgstr "" |
1793 | - |
1794 | -#: remove.py:105 olive.glade:825 olive.glade:878 olive/remove.py:105 |
1795 | -#: olive/remove.py:106 |
1796 | -msgid "Which file(s) do you want to remove?" |
1797 | -msgstr "" |
1798 | - |
1799 | -#: remove.py:106 olive.glade:717 olive.glade:837 olive.glade:766 |
1800 | -#: olive.glade:890 olive/remove.py:106 olive/remove.py:107 |
1801 | -msgid "Selected only" |
1802 | -msgstr "" |
1803 | - |
1804 | -#: remove.py:107 olive.glade:851 olive.glade:905 olive/remove.py:107 |
1805 | -#: olive/remove.py:108 |
1806 | -msgid "All files with status 'added'" |
1807 | -msgstr "" |
1808 | - |
1809 | -#: remove.py:108 olive.glade:905 olive.glade:962 olive/remove.py:108 |
1810 | -#: olive/remove.py:109 |
1811 | -msgid "_Remove" |
1812 | -msgstr "" |
1813 | - |
1814 | -#: rename.py:75 olive/rename.py:75 olive/rename.py:76 |
1815 | -msgid "Filename not given" |
1816 | -msgstr "" |
1817 | - |
1818 | -#: rename.py:76 olive/rename.py:76 olive/rename.py:77 |
1819 | -msgid "Please specify a new name for the file." |
1820 | -msgstr "" |
1821 | - |
1822 | -#: olive.glade:8 |
1823 | -msgid "Olive - Bazaar GUI" |
1824 | -msgstr "" |
1825 | - |
1826 | -#: olive.glade:21 |
1827 | -msgid "_File" |
1828 | -msgstr "" |
1829 | - |
1830 | -#: olive.glade:28 |
1831 | -msgid "_Add file(s)..." |
1832 | -msgstr "" |
1833 | - |
1834 | -#: olive.glade:43 |
1835 | -msgid "Remove file(s)..." |
1836 | -msgstr "" |
1837 | - |
1838 | -#: olive.glade:63 olive.glade:71 |
1839 | -msgid "Make _directory..." |
1840 | -msgstr "" |
1841 | - |
1842 | -#: olive.glade:76 olive.glade:84 |
1843 | -msgid "_Rename..." |
1844 | -msgstr "" |
1845 | - |
1846 | -#: olive.glade:84 olive.glade:92 |
1847 | -msgid "_Move..." |
1848 | -msgstr "" |
1849 | - |
1850 | -#: olive.glade:92 olive.glade:100 |
1851 | -msgid "_Annotate..." |
1852 | -msgstr "" |
1853 | - |
1854 | -#: olive.glade:118 olive.glade:126 |
1855 | -msgid "_View" |
1856 | -msgstr "" |
1857 | - |
1858 | -#: olive.glade:126 olive.glade:134 |
1859 | -msgid "Show _hidden files" |
1860 | -msgstr "" |
1861 | - |
1862 | -#: olive.glade:139 olive.glade:155 |
1863 | -msgid "_Refresh" |
1864 | -msgstr "" |
1865 | - |
1866 | -#: olive.glade:158 olive.glade:174 |
1867 | -msgid "_Initialize..." |
1868 | -msgstr "" |
1869 | - |
1870 | -#: olive.glade:166 olive.glade:182 |
1871 | -msgid "_Get..." |
1872 | -msgstr "" |
1873 | - |
1874 | -#: olive.glade:174 olive.glade:190 |
1875 | -msgid "C_heckout..." |
1876 | -msgstr "" |
1877 | - |
1878 | -#: olive.glade:187 olive.glade:203 |
1879 | -msgid "Pu_ll" |
1880 | -msgstr "" |
1881 | - |
1882 | -#: olive.glade:201 olive.glade:217 |
1883 | -msgid "Pu_sh..." |
1884 | -msgstr "" |
1885 | - |
1886 | -#: olive.glade:220 olive.glade:245 |
1887 | -msgid "_Revert all changes" |
1888 | -msgstr "" |
1889 | - |
1890 | -#: olive.glade:228 olive.glade:253 |
1891 | -msgid "_Merge..." |
1892 | -msgstr "" |
1893 | - |
1894 | -#: olive.glade:236 olive.glade:261 |
1895 | -msgid "_Commit..." |
1896 | -msgstr "" |
1897 | - |
1898 | -#: olive.glade:255 olive.glade:280 |
1899 | -msgid "Ta_gs..." |
1900 | -msgstr "" |
1901 | - |
1902 | -#: olive.glade:263 olive.glade:288 |
1903 | -msgid "S_tatus..." |
1904 | -msgstr "" |
1905 | - |
1906 | -#: olive.glade:271 olive.glade:296 |
1907 | -msgid "Missing _revisions" |
1908 | -msgstr "" |
1909 | - |
1910 | -#: olive.glade:279 olive.glade:304 |
1911 | -msgid "Con_flicts..." |
1912 | -msgstr "" |
1913 | - |
1914 | -#: olive.glade:291 olive.glade:316 |
1915 | -msgid "_Statistics" |
1916 | -msgstr "" |
1917 | - |
1918 | -#: olive.glade:298 olive.glade:323 |
1919 | -msgid "_Differences..." |
1920 | -msgstr "" |
1921 | - |
1922 | -#: olive.glade:312 olive.glade:337 |
1923 | -msgid "_Log..." |
1924 | -msgstr "" |
1925 | - |
1926 | -#: olive.glade:326 olive.glade:351 |
1927 | -msgid "_Information..." |
1928 | -msgstr "" |
1929 | - |
1930 | -#: olive.glade:338 olive.glade:363 |
1931 | -msgid "_Help" |
1932 | -msgstr "" |
1933 | - |
1934 | -#: olive.glade:548 olive.glade:590 |
1935 | -msgid "gtk-jump-to" |
1936 | -msgstr "" |
1937 | - |
1938 | -#: olive.glade:575 olive.glade:618 |
1939 | -msgid "H_istory Mode" |
1940 | -msgstr "" |
1941 | - |
1942 | -#: olive.glade:673 olive.glade:722 |
1943 | -msgid "Copyright (C) 2006 Szilveszter Farkas (Phanatic)" |
1944 | -msgstr "" |
1945 | - |
1946 | -#: olive.glade:675 olive.glade:724 |
1947 | -msgid "https://launchpad.net/products/olive" |
1948 | -msgstr "" |
1949 | - |
1950 | -#: olive.glade:677 olive.glade:726 |
1951 | -msgid "translator-credits" |
1952 | -msgstr "" |
1953 | - |
1954 | -#: olive.glade:694 olive.glade:743 |
1955 | -msgid "Olive - Add file(s)" |
1956 | -msgstr "" |
1957 | - |
1958 | -#: olive.glade:705 olive.glade:754 |
1959 | -msgid "Which file(s) do you want to add?" |
1960 | -msgstr "" |
1961 | - |
1962 | -#: olive.glade:731 olive.glade:781 |
1963 | -msgid "All unknowns recursively" |
1964 | -msgstr "" |
1965 | - |
1966 | -#: olive.glade:785 olive.glade:838 |
1967 | -msgid "_Add" |
1968 | -msgstr "" |
1969 | - |
1970 | -#: olive.glade:814 olive.glade:867 |
1971 | -msgid "Olive - Remove file(s)" |
1972 | -msgstr "" |
1973 | - |
1974 | -#: olive.glade:934 olive.glade:991 |
1975 | -msgid "Olive - Make directory" |
1976 | -msgstr "" |
1977 | - |
1978 | -#: olive.glade:957 olive.glade:1014 |
1979 | -msgid "_Versioned directory" |
1980 | -msgstr "" |
1981 | - |
1982 | -#: olive.glade:1011 olive.glade:1071 |
1983 | -msgid "_Make directory" |
1984 | -msgstr "" |
1985 | - |
1986 | -#: olive.glade:1041 olive.glade:1101 |
1987 | -msgid "Olive - Move" |
1988 | -msgstr "" |
1989 | - |
1990 | -#: olive.glade:1055 olive.glade:1115 |
1991 | -msgid "Move to" |
1992 | -msgstr "" |
1993 | - |
1994 | -#: olive.glade:1066 olive.glade:1126 |
1995 | -msgid "Select a directory" |
1996 | -msgstr "" |
1997 | - |
1998 | -#: olive.glade:1120 olive.glade:1182 |
1999 | -msgid "_Move" |
2000 | -msgstr "" |
2001 | - |
2002 | -#: olive.glade:1148 olive.glade:1210 |
2003 | -msgid "Olive - Rename" |
2004 | -msgstr "" |
2005 | - |
2006 | -#: olive.glade:1162 olive.glade:1224 |
2007 | -msgid "Rename to" |
2008 | -msgstr "" |
2009 | - |
2010 | -#: olive.glade:1227 olive.glade:1291 |
2011 | -msgid "_Rename" |
2012 | -msgstr "" |
2013 | - |
2014 | -#: olive.glade:1255 olive.glade:1319 |
2015 | -msgid "Olive - Information" |
2016 | -msgstr "" |
2017 | - |
2018 | -#: olive.glade:1279 olive.glade:1292 olive.glade:1305 olive.glade:1318 |
2019 | -#: olive.glade:1331 olive.glade:1344 olive.glade:1357 olive.glade:1484 |
2020 | -#: olive.glade:1495 olive.glade:1564 olive.glade:1575 olive.glade:1588 |
2021 | -#: olive.glade:1601 olive.glade:1694 olive.glade:1705 olive.glade:1718 |
2022 | -#: olive.glade:1799 olive.glade:1810 olive.glade:1879 olive.glade:1890 |
2023 | -#: olive.glade:1903 olive.glade:1916 olive.glade:1929 olive.glade:1942 |
2024 | -#: olive.glade:1955 olive.glade:1968 olive.glade:2109 olive.glade:2120 |
2025 | -#: olive.glade:2133 olive.glade:2146 olive.glade:2159 olive.glade:2264 |
2026 | -#: olive.glade:2275 olive.glade:1343 olive.glade:1356 olive.glade:1369 |
2027 | -#: olive.glade:1382 olive.glade:1395 olive.glade:1408 olive.glade:1421 |
2028 | -#: olive.glade:1548 olive.glade:1559 olive.glade:1628 olive.glade:1639 |
2029 | -#: olive.glade:1652 olive.glade:1665 olive.glade:1758 olive.glade:1769 |
2030 | -#: olive.glade:1782 olive.glade:1863 olive.glade:1874 olive.glade:1943 |
2031 | -#: olive.glade:1954 olive.glade:1967 olive.glade:1980 olive.glade:1993 |
2032 | -#: olive.glade:2006 olive.glade:2019 olive.glade:2032 olive.glade:2173 |
2033 | -#: olive.glade:2184 olive.glade:2197 olive.glade:2210 olive.glade:2223 |
2034 | -#: olive.glade:2328 olive.glade:2339 |
2035 | -msgid "(none)" |
2036 | -msgstr "" |
2037 | - |
2038 | -#: olive.glade:1368 olive.glade:1432 |
2039 | -msgid "Checkout root: " |
2040 | -msgstr "" |
2041 | - |
2042 | -#: olive.glade:1380 olive.glade:1444 |
2043 | -msgid "Branch root: " |
2044 | -msgstr "" |
2045 | - |
2046 | -#: olive.glade:1392 olive.glade:1456 |
2047 | -msgid "Repository checkout: " |
2048 | -msgstr "" |
2049 | - |
2050 | -#: olive.glade:1404 olive.glade:1468 |
2051 | -msgid "Checkout of branch: " |
2052 | -msgstr "" |
2053 | - |
2054 | -#: olive.glade:1416 olive.glade:1480 |
2055 | -msgid "Repository branch: " |
2056 | -msgstr "" |
2057 | - |
2058 | -#: olive.glade:1428 olive.glade:1492 |
2059 | -msgid "Shared repository: " |
2060 | -msgstr "" |
2061 | - |
2062 | -#: olive.glade:1440 olive.glade:1504 |
2063 | -msgid "Light checkout root: " |
2064 | -msgstr "" |
2065 | - |
2066 | -#: olive.glade:1454 olive.glade:1518 |
2067 | -msgid "<b>Location:</b>" |
2068 | -msgstr "" |
2069 | - |
2070 | -#: olive.glade:1508 olive.glade:1572 |
2071 | -msgid "Publish to branch: " |
2072 | -msgstr "" |
2073 | - |
2074 | -#: olive.glade:1520 olive.glade:1584 |
2075 | -msgid "Parent branch: " |
2076 | -msgstr "" |
2077 | - |
2078 | -#: olive.glade:1534 olive.glade:1598 |
2079 | -msgid "<b>Related branches:</b>" |
2080 | -msgstr "" |
2081 | - |
2082 | -#: olive.glade:1614 olive.glade:1678 |
2083 | -msgid "Repository format: " |
2084 | -msgstr "" |
2085 | - |
2086 | -#: olive.glade:1626 olive.glade:1690 |
2087 | -msgid "Branch format: " |
2088 | -msgstr "" |
2089 | - |
2090 | -#: olive.glade:1638 olive.glade:1702 |
2091 | -msgid "Working tree format: " |
2092 | -msgstr "" |
2093 | - |
2094 | -#: olive.glade:1650 olive.glade:1714 |
2095 | -msgid "Control format: " |
2096 | -msgstr "" |
2097 | - |
2098 | -#: olive.glade:1664 olive.glade:1728 |
2099 | -msgid "<b>Format:</b>" |
2100 | -msgstr "" |
2101 | - |
2102 | -#: olive.glade:1731 olive.glade:1795 |
2103 | -msgid "Repository lock status: " |
2104 | -msgstr "" |
2105 | - |
2106 | -#: olive.glade:1743 olive.glade:1807 |
2107 | -msgid "Branch lock status: " |
2108 | -msgstr "" |
2109 | - |
2110 | -#: olive.glade:1755 olive.glade:1819 |
2111 | -msgid "Working tree lock status: " |
2112 | -msgstr "" |
2113 | - |
2114 | -#: olive.glade:1769 olive.glade:1833 |
2115 | -msgid "<b>Lock status:</b>" |
2116 | -msgstr "" |
2117 | - |
2118 | -#: olive.glade:1823 olive.glade:1887 |
2119 | -msgid "Missing revisions in branch: " |
2120 | -msgstr "" |
2121 | - |
2122 | -#: olive.glade:1835 olive.glade:1899 |
2123 | -msgid "Missing revisions in working tree: " |
2124 | -msgstr "" |
2125 | - |
2126 | -#: olive.glade:1849 olive.glade:1913 |
2127 | -msgid "<b>Missing revisions:</b>" |
2128 | -msgstr "" |
2129 | - |
2130 | -#: olive.glade:1981 olive.glade:2045 |
2131 | -msgid "Versioned subdirectories: " |
2132 | -msgstr "" |
2133 | - |
2134 | -#: olive.glade:1993 olive.glade:2057 |
2135 | -msgid "Ignored files: " |
2136 | -msgstr "" |
2137 | - |
2138 | -#: olive.glade:2005 olive.glade:2069 |
2139 | -msgid "Unknown files: " |
2140 | -msgstr "" |
2141 | - |
2142 | -#: olive.glade:2017 olive.glade:2081 |
2143 | -msgid "Renamed files: " |
2144 | -msgstr "" |
2145 | - |
2146 | -#: olive.glade:2029 olive.glade:2093 |
2147 | -msgid "Removed files: " |
2148 | -msgstr "" |
2149 | - |
2150 | -#: olive.glade:2041 olive.glade:2105 |
2151 | -msgid "Added files: " |
2152 | -msgstr "" |
2153 | - |
2154 | -#: olive.glade:2053 olive.glade:2117 |
2155 | -msgid "Modified files: " |
2156 | -msgstr "" |
2157 | - |
2158 | -#: olive.glade:2065 olive.glade:2129 |
2159 | -msgid "Unchanged files: " |
2160 | -msgstr "" |
2161 | - |
2162 | -#: olive.glade:2079 olive.glade:2143 |
2163 | -msgid "<b>In the working tree:</b>" |
2164 | -msgstr "" |
2165 | - |
2166 | -#: olive.glade:2172 olive.glade:2236 |
2167 | -msgid "Time of last revision: " |
2168 | -msgstr "" |
2169 | - |
2170 | -#: olive.glade:2184 olive.glade:2248 |
2171 | -msgid "Time of first revision: " |
2172 | -msgstr "" |
2173 | - |
2174 | -#: olive.glade:2196 olive.glade:2260 |
2175 | -msgid "Age of branch in days: " |
2176 | -msgstr "" |
2177 | - |
2178 | -#: olive.glade:2208 olive.glade:2272 |
2179 | -msgid "Number of commiters: " |
2180 | -msgstr "" |
2181 | - |
2182 | -#: olive.glade:2220 olive.glade:2284 |
2183 | -msgid "Revisions in branch: " |
2184 | -msgstr "" |
2185 | - |
2186 | -#: olive.glade:2234 olive.glade:2298 |
2187 | -msgid "<b>Branch history:</b>" |
2188 | -msgstr "" |
2189 | - |
2190 | -#: olive.glade:2288 olive.glade:2352 |
2191 | -msgid "Size of repository: " |
2192 | -msgstr "" |
2193 | - |
2194 | -#: olive.glade:2300 olive.glade:2364 |
2195 | -msgid "Revisions in repository: " |
2196 | -msgstr "" |
2197 | - |
2198 | -#: olive.glade:2314 olive.glade:2378 |
2199 | -msgid "<b>Revision store:</b>" |
2200 | -msgstr "" |
2201 | - |
2202 | -#: olive.glade:2356 olive.glade:2421 |
2203 | -msgid "Merge - Olive" |
2204 | -msgstr "" |
2205 | - |
2206 | -#: olive.glade:2370 olive.glade:2435 |
2207 | -msgid "Merge from:" |
2208 | -msgstr "" |
2209 | - |
2210 | -#: olive.glade:2454 olive.glade:2522 |
2211 | -msgid "_Merge" |
2212 | -msgstr "" |
2213 | - |
2214 | -#: olive.glade:63 |
2215 | -msgid "_Bookmark current directory" |
2216 | -msgstr "" |
2217 | - |
2218 | -#: olive.glade:142 |
2219 | -msgid "Show _ignored files" |
2220 | -msgstr "" |
2221 | - |
2222 | -#: olive.glade:232 olive.glade:486 |
2223 | -msgid "Update" |
2224 | -msgstr "" |
2225 | - |
2226 | -#: commit.py:172 commit.py:173 |
2227 | -msgid "kind changed" |
2228 | -msgstr "" |
2229 | - |
2230 | -#: commit.py:260 commit.py:261 |
2231 | -msgid "<b>Commit Message</b>" |
2232 | -msgstr "" |
2233 | - |
2234 | -#: commit.py:363 commit.py:364 |
2235 | -msgid "Files" |
2236 | -msgstr "" |
2237 | - |
2238 | -#: commit.py:368 commit.py:369 |
2239 | -msgid "Commit all changes" |
2240 | -msgstr "" |
2241 | - |
2242 | -#: commit.py:374 commit.py:375 |
2243 | -msgid "Only commit selected changes" |
2244 | -msgstr "" |
2245 | - |
2246 | -#: commit.py:380 commit.py:381 |
2247 | -msgid "Commit all changes*" |
2248 | -msgstr "" |
2249 | - |
2250 | -#: commit.py:413 commit.py:414 |
2251 | -msgid "Commit*" |
2252 | -msgstr "" |
2253 | - |
2254 | -#: commit.py:454 commit.py:455 |
2255 | -msgid "<i>* Cannot select specific files when merging</i>" |
2256 | -msgstr "" |
2257 | - |
2258 | -#: commit.py:458 commit.py:459 |
2259 | -msgid "Pending Revisions" |
2260 | -msgstr "" |
2261 | - |
2262 | -#: commit.py:494 commit.py:495 |
2263 | -msgid "Diff for whole tree" |
2264 | -msgstr "" |
2265 | - |
2266 | -#: commit.py:518 commit.py:599 commit.py:519 commit.py:601 |
2267 | -msgid "File commit message" |
2268 | -msgstr "" |
2269 | - |
2270 | -#: commit.py:525 commit.py:526 |
2271 | -msgid "Global Commit Message" |
2272 | -msgstr "" |
2273 | - |
2274 | -#: commit.py:526 commit.py:528 |
2275 | -msgid "<b>Global Commit Message</b>" |
2276 | -msgstr "" |
2277 | - |
2278 | -#: commit.py:552 commit.py:554 |
2279 | -msgid "Diff for " |
2280 | -msgstr "" |
2281 | - |
2282 | -#: commit.py:605 commit.py:607 |
2283 | -msgid "Commit message for " |
2284 | -msgstr "" |
2285 | - |
2286 | -#: commit.py:690 commit.py:692 |
2287 | -msgid "There are no changes in the working tree. Do you want to commit anyway?" |
2288 | -msgstr "" |
2289 | - |
2290 | -#: branchview/treeview.py:400 branchview/treeview.py:402 |
2291 | -msgid "Please wait, loading ancestral graph..." |
2292 | -msgstr "" |
2293 | - |
2294 | -#: olive/__init__.py:71 olive/__init__.py:72 |
2295 | -msgid "Lead Developer:" |
2296 | -msgstr "" |
2297 | - |
2298 | -#: olive/__init__.py:73 olive/__init__.py:74 |
2299 | -msgid "Contributors:" |
2300 | -msgstr "" |
2301 | - |
2302 | -#: olive/__init__.py:578 olive/__init__.py:579 |
2303 | -#, python-format |
2304 | -msgid "%d local extra revision(s). \n" |
2305 | -msgstr "" |
2306 | - |
2307 | -#: olive/__init__.py:590 olive/__init__.py:591 |
2308 | -#, python-format |
2309 | -msgid "%d local missing revision(s).\n" |
2310 | -msgstr "" |
2311 | - |
2312 | -#: olive/__init__.py:632 olive/__init__.py:633 |
2313 | -msgid "Update successful but conflicts generated" |
2314 | -msgstr "" |
2315 | - |
2316 | -#: olive/__init__.py:632 olive/__init__.py:633 |
2317 | -#, python-format |
2318 | -msgid "Number of conflicts generated: %d." |
2319 | -msgstr "" |
2320 | - |
2321 | -#: olive/__init__.py:634 olive/__init__.py:635 |
2322 | -msgid "Update successful" |
2323 | -msgstr "" |
2324 | - |
2325 | -#: olive/__init__.py:634 olive/__init__.py:635 |
2326 | -msgid "No conflicts generated." |
2327 | -msgstr "" |
2328 | |
2329 | === added file 'setup.cfg' |
2330 | --- setup.cfg 1970-01-01 00:00:00 +0000 |
2331 | +++ setup.cfg 2011-03-06 10:26:30 +0000 |
2332 | @@ -0,0 +1,7 @@ |
2333 | +[build_i18n] |
2334 | +domain=bzr-gtk |
2335 | +desktop_files=[ |
2336 | + ('share/applications', ['bazaar-properties.desktop.in', |
2337 | + 'bzr-handle-patch.desktop.in', |
2338 | + 'bzr-notify.desktop.in'])] |
2339 | + |
2340 | |
2341 | === modified file 'setup.py' |
2342 | --- setup.py 2011-03-02 14:44:38 +0000 |
2343 | +++ setup.py 2011-03-06 10:26:30 +0000 |
2344 | @@ -7,6 +7,18 @@ |
2345 | from distutils.command.install_data import install_data |
2346 | from distutils.command.build import build |
2347 | from distutils.command.sdist import sdist |
2348 | +from DistUtilsExtra.command import * |
2349 | +try: |
2350 | + from DistUtilsExtra.command import * |
2351 | +except ImportError: |
2352 | + # Python distutils extra is not available. |
2353 | + class cmd_build_i18n(Command): |
2354 | + def run(self): |
2355 | + print >> sys.stderr, "For internationalization support you'll need to install https://launchpad.net/python-distutils-extra" |
2356 | +else: |
2357 | + # Use build_i18n from DistUtilsExtra |
2358 | + cmd_build_i18n = build_i18n.build_i18n |
2359 | + |
2360 | import os |
2361 | import sys |
2362 | |
2363 | @@ -158,6 +170,8 @@ |
2364 | 'icons/tag-16.png', |
2365 | 'icons/bug.png', |
2366 | 'icons/bzr-icon-64.png']), |
2367 | + # In case Python distutils extra is not available, |
2368 | + # install the .desktop files |
2369 | ('share/applications', ['bazaar-properties.desktop', |
2370 | 'bzr-handle-patch.desktop', |
2371 | 'bzr-notify.desktop']), |
2372 | @@ -175,6 +189,7 @@ |
2373 | cmdclass={'install_data': InstallData, |
2374 | 'build_credits': CreateCredits, |
2375 | 'build': BuildData, |
2376 | + 'build_i18n': cmd_build_i18n, |
2377 | 'sdist': SourceDist, |
2378 | 'check': Check} |
2379 | ) |
Hi David!
Sorry for not responding earlier, I hadn't seen this MP until now. Nice work!
Is there any chance you could make the dependency on python- distutils- extra optional? Preferably by just providing a dummy command that tells the user to install it when they run 'build_i18n'. Otherwise I'm happy to merge this.
Cheers,
Jelmer