]>
Commit | Line | Data |
---|---|---|
964aa579 | 1 | #!/usr/bin/python3 |
b792d887 MT |
2 | ############################################################################### |
3 | # # | |
4 | # Pakfire - The IPFire package management system # | |
5 | # Copyright (C) 2011 Pakfire development team # | |
6 | # # | |
7 | # This program is free software: you can redistribute it and/or modify # | |
8 | # it under the terms of the GNU General Public License as published by # | |
9 | # the Free Software Foundation, either version 3 of the License, or # | |
10 | # (at your option) any later version. # | |
11 | # # | |
12 | # This program is distributed in the hope that it will be useful, # | |
13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of # | |
14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # | |
15 | # GNU General Public License for more details. # | |
16 | # # | |
17 | # You should have received a copy of the GNU General Public License # | |
18 | # along with this program. If not, see <http://www.gnu.org/licenses/>. # | |
19 | # # | |
20 | ############################################################################### | |
47a4cb89 MT |
21 | |
22 | """ | |
23 | The translation process of all strings is done in here. | |
24 | """ | |
25 | ||
26 | import gettext | |
27 | ||
28 | """ | |
29 | A function that returnes the same string. | |
30 | """ | |
31 | N_ = lambda x: x | |
32 | ||
d32dbb5d MT |
33 | def _(singular, plural=None, n=None): |
34 | """ | |
35 | A function that returnes the translation of a string if available. | |
47a4cb89 | 36 | |
d32dbb5d MT |
37 | The language is taken from the system environment. |
38 | """ | |
39 | if not plural is None: | |
40 | assert n is not None | |
c07a3ca7 | 41 | return gettext.dngettext("pakfire", singular, plural, n) |
47a4cb89 | 42 | |
c07a3ca7 | 43 | return gettext.dgettext("pakfire", singular) |
862bea4d | 44 | |
992e7fd2 | 45 | def list(parts): |
862bea4d MT |
46 | """ |
47 | Returns a comma-separated list for the given list of parts. | |
48 | ||
49 | The format is, e.g., "A, B and C", "A and B" or just "A" for lists | |
50 | of size 1. | |
51 | """ | |
52 | if len(parts) == 0: return "" | |
53 | if len(parts) == 1: return parts[0] | |
54 | return _("%(commas)s and %(last)s") % { | |
964aa579 | 55 | "commas": ", ".join(parts[:-1]), |
862bea4d MT |
56 | "last": parts[len(parts) - 1], |
57 | } |