Project

General

Profile

Revision 89b121bb

ID89b121bb7a1e6718af24e04e738fb8c7ba37669d
Parent c371e9c1
Child 6930d261

Added by Francois POIROTTE about 12 years ago

Mutualisation code des périodes de temps (#1062).

Met en commun le code qui gère les périodes de temps dans VigiGraph
entre le code Python et le code !JavaScript.
Utilise ngettext() en lieu et place de gettext() afin de gérer
correctement les pluriels.

NB : à cause d'un bug dans Babel < 1.0, la forme originale au singulier
DOIT contenir une séquence de formatage. Dans notre cas, on ajoute une
séquence avec la variable qui a servi à la pluralisation comme forme
originale au singulier, même si les traductions ne l'utilisent jamais.
Cf. http://babel.edgewall.org/ticket/152

Change-Id: I4d530e2cebd2e53bc794dbb61db465afef961c38
Refs: #1062.
Reviewed-on: https://vigilo-dev.si.c-s.fr/review/828
Tested-by: Build system <>
Reviewed-by: Vincent QUEMENER <>

View differences:

vigigraph/controllers/rpc.py
13 13
except ImportError:
14 14
    from cgi import parse_qsl
15 15

  
16
from pylons.i18n import ugettext as _, lazy_ugettext as l_
16
from pylons.i18n import ugettext as _, lazy_ugettext as l_, \
17
                        lazy_ungettext as ln_
17 18
from webob.exc import HTTPPreconditionFailed
18 19
from tg import expose, request, redirect, tmpl_context, \
19 20
    config, validate, flash, exceptions as http_exc
......
48 49

  
49 50
__all__ = ['RpcController']
50 51

  
52
def ungettext(singular, plural, n):
53
    return ln_(singular, plural, n) % {
54
        'qtty': n,
55
    }
51 56

  
52 57
# pylint: disable-msg=R0201
53 58
class RpcController(BaseController):
......
65 70
        ),
66 71
    )
67 72

  
73
    # Plages de temps affichées sur la page de métrologie complète
74
    # d'un hôte avec la durée associée (en secondes).
75
    # Voir aussi graph.js pour l'équivalent côté JavaScript sur un graphe.
68 76
    presets = [
69
        {"caption" : _("Last %d hours") %  12, "duration" : 43200},
70
        {"caption" : _("Last %d hours") %  24, "duration" : 86400},
71
        {"caption" : _("Last %d days") %    2, "duration" : 192800},
72
        {"caption" : _("Last %d days") %    7, "duration" : 604800},
73
        {"caption" : _("Last %d days") %   14, "duration" : 1209600},
74
        {"caption" : _("Last month")         , "duration" : 86400 * 31},
75
        {"caption" : _("Last %d months") %  3, "duration" : 86400 * 31 * 3},
76
        {"caption" : _("Last %d months") %  6, "duration" : 86400 * 183},
77
        {"caption" : _("Last year"), "duration" : 86400 * 365},
77
        {
78
            "caption" :
79
                ungettext("Last %(qtty)d hour", "Last %(qtty)d hours", 12),
80
            "duration" : 43200,
81
        },
82
        {
83
            "caption" :
84
                ungettext("Last %(qtty)d hour", "Last %(qtty)d hours", 24),
85
            "duration" : 86400,
86
        },
87
        {
88
            "caption" :
89
                ungettext("Last %(qtty)d day", "Last %(qtty)d days", 2),
90
            "duration" : 192800,
91
        },
92
        {
93
            "caption" :
94
                ungettext("Last %(qtty)d day", "Last %(qtty)d days", 7),
95
            "duration" : 604800,
96
        },
97
        {
98
            "caption" :
99
                ungettext("Last %(qtty)d day", "Last %(qtty)d days", 14),
100
            "duration" : 1209600,
101
        },
102
        {
103
            "caption" :
104
                ungettext("Last %(qtty)d month", "Last %(qtty)d months", 1),
105
            "duration" : 86400 * 30,
106
        },
107
        {
108
            "caption" :
109
                ungettext("Last %(qtty)d month", "Last %(qtty)d months", 3),
110
            "duration" : 86400 * 30 * 3,
111
        },
112
        {
113
            "caption" :
114
                ungettext("Last %(qtty)d month", "Last %(qtty)d months", 6),
115
            "duration" : 86400 * 30 * 6,
116
        },
117
        {
118
            "caption" :
119
                ungettext("Last %(qtty)d year", "Last %(qtty)d years", 1),
120
            "duration" : 86400 * 365,
121
        },
78 122
    ]
79 123

  
80 124
    def process_form_errors(self, *argv, **kwargv):
vigigraph/i18n/de/LC_MESSAGES/vigigraph.po
8 8
"Project-Id-Version: vigigraph 2.0.0\n"
9 9
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
10 10
"POT-Creation-Date: 2010-11-19 14:52+0100\n"
11
"PO-Revision-Date: 2012-04-18 17:37+0200\n"
11
"PO-Revision-Date: 2012-08-21 13:43+0200\n"
12 12
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 13
"Language-Team: de <LL@li.org>\n"
14 14
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
......
18 18
"Generated-By: Babel 0.9.4\n"
19 19

  
20 20
#: vigigraph/controllers/root.py:34 vigigraph/controllers/root.py:36
21
#: vigigraph/controllers/root.py:41 vigigraph/controllers/rpc.py:60
21
#: vigigraph/controllers/root.py:41 vigigraph/controllers/rpc.py:65
22 22
msgid "You need to be authenticated"
23 23
msgstr "Sie müssen sich authentifizieren"
24 24

  
25
#: vigigraph/controllers/root.py:45 vigigraph/controllers/rpc.py:64
25
#: vigigraph/controllers/root.py:45 vigigraph/controllers/rpc.py:69
26 26
msgid "You don't have access to VigiGraph"
27 27
msgstr "Sie haben keinen Zugriff auf VigiGraph"
28 28

  
29
#: vigigraph/controllers/rpc.py:69 vigigraph/controllers/rpc.py:70
29
#: vigigraph/controllers/rpc.py:75 vigigraph/controllers/rpc.py:79
30
#: vigigraph/public/js/graph.js:49 vigigraph/public/js/graph.js:50
31
#: vigigraph/public/js/graph.js:51
30 32
#, python-format
31
msgid "Last %d hours"
32
msgstr "Letzte %d Studen"
33

  
34
#: vigigraph/controllers/rpc.py:71 vigigraph/controllers/rpc.py:72
35
#: vigigraph/controllers/rpc.py:73
33
msgid "Last %(qtty)d hour"
34
msgid_plural "Last %(qtty)d hours"
35
msgstr[0] "Letzte Stunde"
36
msgstr[1] "Letzte %(qtty)d Stunden"
37

  
38
#: vigigraph/controllers/rpc.py:83 vigigraph/controllers/rpc.py:87
39
#: vigigraph/controllers/rpc.py:91 vigigraph/public/js/graph.js:52
40
#: vigigraph/public/js/graph.js:53
36 41
#, python-format
37
msgid "Last %d days"
38
msgstr "Letzte %d Tage"
39

  
40
#: vigigraph/controllers/rpc.py:74 vigigraph/public/js/graph.js:47
41
#, fuzzy
42
msgid "Last month"
43
msgstr "Letzte %d Monate"
44

  
45
#: vigigraph/controllers/rpc.py:75 vigigraph/controllers/rpc.py:76
42
msgid "Last %(qtty)d day"
43
msgid_plural "Last %(qtty)d days"
44
msgstr[0] "Letzten Tag"
45
msgstr[1] "Letzte %(qtty)d Tage"
46

  
47
#: vigigraph/controllers/rpc.py:95 vigigraph/controllers/rpc.py:99
48
#: vigigraph/controllers/rpc.py:103 vigigraph/public/js/graph.js:54
49
#: vigigraph/public/js/graph.js:55 vigigraph/public/js/graph.js:56
46 50
#, python-format
47
msgid "Last %d months"
48
msgstr "Letzte %d Monate"
51
msgid "Last %(qtty)d month"
52
msgid_plural "Last %(qtty)d months"
53
msgstr[0] "Letzten Monat"
54
msgstr[1] "Letzte %(qtty)d Monate"
49 55

  
50
#: vigigraph/controllers/rpc.py:77 vigigraph/public/js/graph.js:50
51
msgid "Last year"
52
msgstr "Letztes Jahr"
56
#: vigigraph/controllers/rpc.py:107 vigigraph/public/js/graph.js:57
57
#, python-format
58
msgid "Last %(qtty)d year"
59
msgid_plural "Last %(qtty)d years"
60
msgstr[0] "Letztes Jahr"
61
msgstr[1] "Letzten %(qtty)d Jahren"
53 62

  
54 63
#. TRANSLATORS: Format Python de date/heure, lisible par un humain.
55
#: vigigraph/controllers/rpc.py:215
64
#: vigigraph/controllers/rpc.py:247
56 65
#, python-format
57 66
msgid "%a, %d %b %Y %H:%M:%S"
58 67
msgstr "%a, %d %b %Y %H:%M:%S"
59 68

  
60
#: vigigraph/controllers/rpc.py:359
69
#: vigigraph/controllers/rpc.py:391
61 70
#, python-format
62 71
msgid "No such host \"%s\""
63 72
msgstr ""
64 73

  
65
#: vigigraph/controllers/rpc.py:368
74
#: vigigraph/controllers/rpc.py:400
66 75
#, python-format
67 76
msgid "Access denied to host \"%s\""
68 77
msgstr ""
69 78

  
70
#: vigigraph/controllers/rpc.py:573 vigigraph/controllers/rpc.py:606
79
#: vigigraph/controllers/rpc.py:605 vigigraph/controllers/rpc.py:638
71 80
#, python-format
72 81
msgid "Next %(limit)s"
73 82
msgstr ""
74 83

  
75
#: vigigraph/public/js/graph.js:42
76
#, fuzzy
77
msgid "Last 12 hours"
78
msgstr "Letzte %d Studen"
79

  
80
#: vigigraph/public/js/graph.js:43
81
#, fuzzy
82
msgid "Last 24 hours"
83
msgstr "Letzte %d Studen"
84

  
85
#: vigigraph/public/js/graph.js:44
86
#, fuzzy
87
msgid "Last 48 hours"
88
msgstr "Letzte %d Studen"
89

  
90
#: vigigraph/public/js/graph.js:45
91
#, fuzzy
92
msgid "Last 7 days"
93
msgstr "Letzte %d Tage"
94

  
95
#: vigigraph/public/js/graph.js:46
96
#, fuzzy
97
msgid "Last 14 days"
98
msgstr "Letzte %d Tage"
99

  
100
#: vigigraph/public/js/graph.js:48
101
#, fuzzy
102
msgid "Last 3 months"
103
msgstr "Letzte %d Monate"
104

  
105
#: vigigraph/public/js/graph.js:49
106
#, fuzzy
107
msgid "Last 6 months"
108
msgstr "Letzte %d Monate"
109

  
110
#: vigigraph/public/js/graph.js:54
84
#: vigigraph/public/js/graph.js:61
111 85
msgid "Timeframe"
112 86
msgstr ""
113 87

  
114
#: vigigraph/public/js/graph.js:56
88
#: vigigraph/public/js/graph.js:63
115 89
msgid "Timeframe menu"
116 90
msgstr ""
117 91

  
118
#: vigigraph/public/js/graph.js:73
92
#: vigigraph/public/js/graph.js:80
119 93
#, python-format
120 94
msgid ""
121 95
"Could not load the graph for \"%(graph)s\" on \"%(host)s\". Make sure "
122 96
"VigiRRD is running and receives performance data."
123 97
msgstr ""
124 98

  
125
#: vigigraph/public/js/graph.js:89
99
#: vigigraph/public/js/graph.js:96
126 100
msgid "Export to CSV"
127 101
msgstr ""
128 102

  
129
#: vigigraph/public/js/graph.js:91
103
#: vigigraph/public/js/graph.js:98
130 104
msgid "Export the content of this graph to CSV"
131 105
msgstr ""
132 106

  
133
#: vigigraph/public/js/graph.js:107
107
#: vigigraph/public/js/graph.js:114
134 108
msgid "All"
135 109
msgstr ""
136 110

  
137
#: vigigraph/public/js/graph.js:119
111
#: vigigraph/public/js/graph.js:126
138 112
msgid "Automatically refresh the graph"
139 113
msgstr ""
140 114

  
141
#: vigigraph/public/js/graph.js:131
115
#: vigigraph/public/js/graph.js:138
142 116
msgid "Auto-refresh enabled on graph \"{graph}\" for host \"{host}\""
143 117
msgstr ""
144 118

  
145
#: vigigraph/public/js/graph.js:145
119
#: vigigraph/public/js/graph.js:152
146 120
msgid "Auto-refresh disabled on graph \"{graph}\" for host \"{host}\""
147 121
msgstr ""
148 122

  
149
#: vigigraph/public/js/graph.js:157
123
#: vigigraph/public/js/graph.js:164
150 124
msgid "Zoom in"
151 125
msgstr ""
152 126

  
153
#: vigigraph/public/js/graph.js:165
127
#: vigigraph/public/js/graph.js:172
154 128
msgid "Zoom out"
155 129
msgstr ""
156 130

  
157
#: vigigraph/public/js/graph.js:176
131
#: vigigraph/public/js/graph.js:183
158 132
msgid "Graph start"
159 133
msgstr ""
160 134

  
161
#: vigigraph/public/js/graph.js:184
135
#: vigigraph/public/js/graph.js:191
162 136
msgid "Previous section"
163 137
msgstr ""
164 138

  
165
#: vigigraph/public/js/graph.js:195
139
#: vigigraph/public/js/graph.js:202
166 140
msgid "Next section"
167 141
msgstr ""
168 142

  
169
#: vigigraph/public/js/graph.js:206
143
#: vigigraph/public/js/graph.js:213
170 144
msgid "Graph end"
171 145
msgstr ""
172 146

  
173
#: vigigraph/public/js/graph.js:217
147
#: vigigraph/public/js/graph.js:224
174 148
msgid "Print graph"
175 149
msgstr ""
176 150

  
177
#: vigigraph/public/js/graph.js:222
151
#: vigigraph/public/js/graph.js:229
178 152
#, python-format
179 153
msgid "Graph for \"%(graph)s\" on \"%(host)s\""
180 154
msgstr ""
vigigraph/i18n/en/LC_MESSAGES/vigigraph.po
6 6
#
7 7
msgid ""
8 8
msgstr ""
9
"Project-Id-Version: vigilo-vigigraph 2.0.15\n"
9
"Project-Id-Version: vigilo-vigigraph 2.0.17\n"
10 10
"Report-Msgid-Bugs-To: contact@projet-vigilo.org\n"
11
"POT-Creation-Date: 2012-04-18 17:37+0200\n"
12
"PO-Revision-Date: 2012-04-18 17:37+0200\n"
11
"POT-Creation-Date: 2012-08-21 13:43+0200\n"
12
"PO-Revision-Date: 2012-08-21 13:43+0200\n"
13 13
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14 14
"Language-Team: en <LL@li.org>\n"
15 15
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
......
19 19
"Generated-By: Babel 0.9.4\n"
20 20

  
21 21
#: vigigraph/controllers/root.py:34 vigigraph/controllers/root.py:36
22
#: vigigraph/controllers/root.py:41 vigigraph/controllers/rpc.py:60
22
#: vigigraph/controllers/root.py:41 vigigraph/controllers/rpc.py:65
23 23
msgid "You need to be authenticated"
24 24
msgstr "You need to be authenticated"
25 25

  
26
#: vigigraph/controllers/root.py:45 vigigraph/controllers/rpc.py:64
26
#: vigigraph/controllers/root.py:45 vigigraph/controllers/rpc.py:69
27 27
msgid "You don't have access to VigiGraph"
28 28
msgstr "You don't have access to VigiGraph"
29 29

  
30
#: vigigraph/controllers/rpc.py:69 vigigraph/controllers/rpc.py:70
30
#: vigigraph/controllers/rpc.py:75 vigigraph/controllers/rpc.py:79
31
#: vigigraph/public/js/graph.js:49 vigigraph/public/js/graph.js:50
32
#: vigigraph/public/js/graph.js:51
31 33
#, python-format
32
msgid "Last %d hours"
33
msgstr "Last %d hours"
34

  
35
#: vigigraph/controllers/rpc.py:71 vigigraph/controllers/rpc.py:72
36
#: vigigraph/controllers/rpc.py:73
34
msgid "Last %(qtty)d hour"
35
msgid_plural "Last %(qtty)d hours"
36
msgstr[0] "Last %(qtty)d hour"
37
msgstr[1] "Last %(qtty)d hours"
38

  
39
#: vigigraph/controllers/rpc.py:83 vigigraph/controllers/rpc.py:87
40
#: vigigraph/controllers/rpc.py:91 vigigraph/public/js/graph.js:52
41
#: vigigraph/public/js/graph.js:53
37 42
#, python-format
38
msgid "Last %d days"
39
msgstr "Last %d days"
40

  
41
#: vigigraph/controllers/rpc.py:74 vigigraph/public/js/graph.js:47
42
msgid "Last month"
43
msgstr "Last month"
44

  
45
#: vigigraph/controllers/rpc.py:75 vigigraph/controllers/rpc.py:76
43
msgid "Last %(qtty)d day"
44
msgid_plural "Last %(qtty)d days"
45
msgstr[0] "Last %(qtty)d day"
46
msgstr[1] "Last %(qtty)d days"
47

  
48
#: vigigraph/controllers/rpc.py:95 vigigraph/controllers/rpc.py:99
49
#: vigigraph/controllers/rpc.py:103 vigigraph/public/js/graph.js:54
50
#: vigigraph/public/js/graph.js:55 vigigraph/public/js/graph.js:56
46 51
#, python-format
47
msgid "Last %d months"
48
msgstr "Last %d months"
52
msgid "Last %(qtty)d month"
53
msgid_plural "Last %(qtty)d months"
54
msgstr[0] "Last %(qtty)d month"
55
msgstr[1] "Last %(qtty)d months"
49 56

  
50
#: vigigraph/controllers/rpc.py:77 vigigraph/public/js/graph.js:50
51
msgid "Last year"
52
msgstr "Last year"
57
#: vigigraph/controllers/rpc.py:107 vigigraph/public/js/graph.js:57
58
#, python-format
59
msgid "Last %(qtty)d year"
60
msgid_plural "Last %(qtty)d years"
61
msgstr[0] "Last %(qtty)d year"
62
msgstr[1] "Last %(qtty)d years"
53 63

  
54 64
#. TRANSLATORS: Format Python de date/heure, lisible par un humain.
55
#: vigigraph/controllers/rpc.py:215
65
#: vigigraph/controllers/rpc.py:247
56 66
#, python-format
57 67
msgid "%a, %d %b %Y %H:%M:%S"
58 68
msgstr "%a, %d %b %Y %H:%M:%S"
59 69

  
60
#: vigigraph/controllers/rpc.py:359
70
#: vigigraph/controllers/rpc.py:391
61 71
#, python-format
62 72
msgid "No such host \"%s\""
63 73
msgstr "No such host \"%s\""
64 74

  
65
#: vigigraph/controllers/rpc.py:368
75
#: vigigraph/controllers/rpc.py:400
66 76
#, python-format
67 77
msgid "Access denied to host \"%s\""
68 78
msgstr "Access denied to host \"%s\""
69 79

  
70
#: vigigraph/controllers/rpc.py:573 vigigraph/controllers/rpc.py:606
80
#: vigigraph/controllers/rpc.py:605 vigigraph/controllers/rpc.py:638
71 81
#, python-format
72 82
msgid "Next %(limit)s"
73 83
msgstr "Next %(limit)s"
74 84

  
75
#: vigigraph/public/js/graph.js:42
76
msgid "Last 12 hours"
77
msgstr "Last 12 hours"
78

  
79
#: vigigraph/public/js/graph.js:43
80
msgid "Last 24 hours"
81
msgstr "Last 24 hours"
82

  
83
#: vigigraph/public/js/graph.js:44
84
msgid "Last 48 hours"
85
msgstr "Last 48 hours"
86

  
87
#: vigigraph/public/js/graph.js:45
88
msgid "Last 7 days"
89
msgstr "Last 7 days"
90

  
91
#: vigigraph/public/js/graph.js:46
92
msgid "Last 14 days"
93
msgstr "Last 14 days"
94

  
95
#: vigigraph/public/js/graph.js:48
96
msgid "Last 3 months"
97
msgstr "Last 3 months"
98

  
99
#: vigigraph/public/js/graph.js:49
100
msgid "Last 6 months"
101
msgstr "Last 6 months"
102

  
103
#: vigigraph/public/js/graph.js:54
85
#: vigigraph/public/js/graph.js:61
104 86
msgid "Timeframe"
105 87
msgstr "Timeframe"
106 88

  
107
#: vigigraph/public/js/graph.js:56
89
#: vigigraph/public/js/graph.js:63
108 90
msgid "Timeframe menu"
109 91
msgstr "Timeframe menu"
110 92

  
111
#: vigigraph/public/js/graph.js:73
93
#: vigigraph/public/js/graph.js:80
112 94
#, python-format
113 95
msgid ""
114 96
"Could not load the graph for \"%(graph)s\" on \"%(host)s\". Make sure "
......
117 99
"Could not load the graph for \"%(graph)s\" on \"%(host)s\". Make sure "
118 100
"VigiRRD is running and receives performance data."
119 101

  
120
#: vigigraph/public/js/graph.js:89
102
#: vigigraph/public/js/graph.js:96
121 103
msgid "Export to CSV"
122 104
msgstr "Export to CSV"
123 105

  
124
#: vigigraph/public/js/graph.js:91
106
#: vigigraph/public/js/graph.js:98
125 107
msgid "Export the content of this graph to CSV"
126 108
msgstr "Export the content of this graph to CSV"
127 109

  
128
#: vigigraph/public/js/graph.js:107
110
#: vigigraph/public/js/graph.js:114
129 111
msgid "All"
130 112
msgstr "All"
131 113

  
132
#: vigigraph/public/js/graph.js:119
114
#: vigigraph/public/js/graph.js:126
133 115
msgid "Automatically refresh the graph"
134 116
msgstr "Automatically refresh the graph"
135 117

  
136
#: vigigraph/public/js/graph.js:131
118
#: vigigraph/public/js/graph.js:138
137 119
msgid "Auto-refresh enabled on graph \"{graph}\" for host \"{host}\""
138 120
msgstr "Auto-refresh enabled on graph \"{graph}\" for host \"{host}\""
139 121

  
140
#: vigigraph/public/js/graph.js:145
122
#: vigigraph/public/js/graph.js:152
141 123
msgid "Auto-refresh disabled on graph \"{graph}\" for host \"{host}\""
142 124
msgstr "Auto-refresh disabled on graph \"{graph}\" for host \"{host}\""
143 125

  
144
#: vigigraph/public/js/graph.js:157
126
#: vigigraph/public/js/graph.js:164
145 127
msgid "Zoom in"
146 128
msgstr "Zoom in"
147 129

  
148
#: vigigraph/public/js/graph.js:165
130
#: vigigraph/public/js/graph.js:172
149 131
msgid "Zoom out"
150 132
msgstr "Zoom out"
151 133

  
152
#: vigigraph/public/js/graph.js:176
134
#: vigigraph/public/js/graph.js:183
153 135
msgid "Graph start"
154 136
msgstr "Graph start"
155 137

  
156
#: vigigraph/public/js/graph.js:184
138
#: vigigraph/public/js/graph.js:191
157 139
msgid "Previous section"
158 140
msgstr "Previous section"
159 141

  
160
#: vigigraph/public/js/graph.js:195
142
#: vigigraph/public/js/graph.js:202
161 143
msgid "Next section"
162 144
msgstr "Next section"
163 145

  
164
#: vigigraph/public/js/graph.js:206
146
#: vigigraph/public/js/graph.js:213
165 147
msgid "Graph end"
166 148
msgstr "Graph end"
167 149

  
168
#: vigigraph/public/js/graph.js:217
150
#: vigigraph/public/js/graph.js:224
169 151
msgid "Print graph"
170 152
msgstr "Print graph"
171 153

  
172
#: vigigraph/public/js/graph.js:222
154
#: vigigraph/public/js/graph.js:229
173 155
#, python-format
174 156
msgid "Graph for \"%(graph)s\" on \"%(host)s\""
175 157
msgstr "Graph for \"%(graph)s\" on \"%(host)s\""
vigigraph/i18n/fr/LC_MESSAGES/vigigraph.po
8 8
"Project-Id-Version: vigigraph 0.1\n"
9 9
"Report-Msgid-Bugs-To: contact@projet-vigilo.org\n"
10 10
"POT-Creation-Date: 2010-02-15 13:41+0100\n"
11
"PO-Revision-Date: 2012-04-18 17:37+0200\n"
11
"PO-Revision-Date: 2012-08-21 13:43+0200\n"
12 12
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 13
"Language-Team: fr_FR <LL@li.org>\n"
14 14
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
......
18 18
"Generated-By: Babel 0.9.4\n"
19 19

  
20 20
#: vigigraph/controllers/root.py:34 vigigraph/controllers/root.py:36
21
#: vigigraph/controllers/root.py:41 vigigraph/controllers/rpc.py:60
21
#: vigigraph/controllers/root.py:41 vigigraph/controllers/rpc.py:65
22 22
msgid "You need to be authenticated"
23 23
msgstr "Vous devez vous authentifier"
24 24

  
25
#: vigigraph/controllers/root.py:45 vigigraph/controllers/rpc.py:64
25
#: vigigraph/controllers/root.py:45 vigigraph/controllers/rpc.py:69
26 26
msgid "You don't have access to VigiGraph"
27 27
msgstr "Vous n'avez pas accès à VigiGraph"
28 28

  
29
#: vigigraph/controllers/rpc.py:69 vigigraph/controllers/rpc.py:70
29
#: vigigraph/controllers/rpc.py:75 vigigraph/controllers/rpc.py:79
30
#: vigigraph/public/js/graph.js:49 vigigraph/public/js/graph.js:50
31
#: vigigraph/public/js/graph.js:51
30 32
#, python-format
31
msgid "Last %d hours"
32
msgstr "Les %d dernières heures"
33

  
34
#: vigigraph/controllers/rpc.py:71 vigigraph/controllers/rpc.py:72
35
#: vigigraph/controllers/rpc.py:73
33
msgid "Last %(qtty)d hour"
34
msgid_plural "Last %(qtty)d hours"
35
msgstr[0] "Dernière heure"
36
msgstr[1] "%(qtty)d dernières heures"
37

  
38
#: vigigraph/controllers/rpc.py:83 vigigraph/controllers/rpc.py:87
39
#: vigigraph/controllers/rpc.py:91 vigigraph/public/js/graph.js:52
40
#: vigigraph/public/js/graph.js:53
36 41
#, python-format
37
msgid "Last %d days"
38
msgstr "Les %d derniers jours"
39

  
40
#: vigigraph/controllers/rpc.py:74 vigigraph/public/js/graph.js:47
41
msgid "Last month"
42
msgstr "Dernier mois"
43

  
44
#: vigigraph/controllers/rpc.py:75 vigigraph/controllers/rpc.py:76
42
msgid "Last %(qtty)d day"
43
msgid_plural "Last %(qtty)d days"
44
msgstr[0] "Dernier jour"
45
msgstr[1] "%(qtty)d derniers jours"
46

  
47
#: vigigraph/controllers/rpc.py:95 vigigraph/controllers/rpc.py:99
48
#: vigigraph/controllers/rpc.py:103 vigigraph/public/js/graph.js:54
49
#: vigigraph/public/js/graph.js:55 vigigraph/public/js/graph.js:56
45 50
#, python-format
46
msgid "Last %d months"
47
msgstr "Les %d derniers mois"
51
msgid "Last %(qtty)d month"
52
msgid_plural "Last %(qtty)d months"
53
msgstr[0] "Dernier mois"
54
msgstr[1] "%(qtty)d derniers mois"
48 55

  
49
#: vigigraph/controllers/rpc.py:77 vigigraph/public/js/graph.js:50
50
msgid "Last year"
51
msgstr "Depuis l'an dernier"
56
#: vigigraph/controllers/rpc.py:107 vigigraph/public/js/graph.js:57
57
#, python-format
58
msgid "Last %(qtty)d year"
59
msgid_plural "Last %(qtty)d years"
60
msgstr[0] "Dernière année"
61
msgstr[1] "%(qtty)d dernières années"
52 62

  
53 63
#. TRANSLATORS: Format Python de date/heure, lisible par un humain.
54
#: vigigraph/controllers/rpc.py:215
64
#: vigigraph/controllers/rpc.py:247
55 65
#, python-format
56 66
msgid "%a, %d %b %Y %H:%M:%S"
57 67
msgstr "%d/%m/%Y à %H:%M:%S"
58 68

  
59
#: vigigraph/controllers/rpc.py:359
69
#: vigigraph/controllers/rpc.py:391
60 70
#, python-format
61 71
msgid "No such host \"%s\""
62 72
msgstr "Hôte introuvable \"%s\""
63 73

  
64
#: vigigraph/controllers/rpc.py:368
74
#: vigigraph/controllers/rpc.py:400
65 75
#, python-format
66 76
msgid "Access denied to host \"%s\""
67 77
msgstr "Accès refusé à l'hôte \"%s\""
68 78

  
69
#: vigigraph/controllers/rpc.py:573 vigigraph/controllers/rpc.py:606
79
#: vigigraph/controllers/rpc.py:605 vigigraph/controllers/rpc.py:638
70 80
#, python-format
71 81
msgid "Next %(limit)s"
72 82
msgstr "%(limit)s suivants"
73 83

  
74
#: vigigraph/public/js/graph.js:42
75
msgid "Last 12 hours"
76
msgstr "12 dernières heures"
77

  
78
#: vigigraph/public/js/graph.js:43
79
msgid "Last 24 hours"
80
msgstr "24 dernières heures"
81

  
82
#: vigigraph/public/js/graph.js:44
83
msgid "Last 48 hours"
84
msgstr "48 dernières heures"
85

  
86
#: vigigraph/public/js/graph.js:45
87
msgid "Last 7 days"
88
msgstr "7 derniers jours"
89

  
90
#: vigigraph/public/js/graph.js:46
91
msgid "Last 14 days"
92
msgstr "14 derniers jours"
93

  
94
#: vigigraph/public/js/graph.js:48
95
msgid "Last 3 months"
96
msgstr "3 derniers mois"
97

  
98
#: vigigraph/public/js/graph.js:49
99
msgid "Last 6 months"
100
msgstr "6 derniers mois"
101

  
102
#: vigigraph/public/js/graph.js:54
84
#: vigigraph/public/js/graph.js:61
103 85
msgid "Timeframe"
104 86
msgstr "Période"
105 87

  
106
#: vigigraph/public/js/graph.js:56
88
#: vigigraph/public/js/graph.js:63
107 89
msgid "Timeframe menu"
108 90
msgstr "Menu de choix de la période"
109 91

  
110
#: vigigraph/public/js/graph.js:73
92
#: vigigraph/public/js/graph.js:80
111 93
#, python-format
112 94
msgid ""
113 95
"Could not load the graph for \"%(graph)s\" on \"%(host)s\". Make sure "
......
117 99
"Assurez-vous que VigiRRD fonctionne et qu'il reçoit des données de "
118 100
"métrologie."
119 101

  
120
#: vigigraph/public/js/graph.js:89
102
#: vigigraph/public/js/graph.js:96
121 103
msgid "Export to CSV"
122 104
msgstr "Export CSV"
123 105

  
124
#: vigigraph/public/js/graph.js:91
106
#: vigigraph/public/js/graph.js:98
125 107
msgid "Export the content of this graph to CSV"
126 108
msgstr "Exporte le contenu du graphe au format CSV"
127 109

  
128
#: vigigraph/public/js/graph.js:107
110
#: vigigraph/public/js/graph.js:114
129 111
msgid "All"
130 112
msgstr "Tous"
131 113

  
132
#: vigigraph/public/js/graph.js:119
114
#: vigigraph/public/js/graph.js:126
133 115
msgid "Automatically refresh the graph"
134 116
msgstr "Rafraîchissement automatique du graphe"
135 117

  
136
#: vigigraph/public/js/graph.js:131
118
#: vigigraph/public/js/graph.js:138
137 119
msgid "Auto-refresh enabled on graph \"{graph}\" for host \"{host}\""
138 120
msgstr ""
139 121
"Rafraîchissement automatique activé pour le graphe \"{graph}\" \"\n"
140 122
"\"de l'hote \"{host}\""
141 123

  
142
#: vigigraph/public/js/graph.js:145
124
#: vigigraph/public/js/graph.js:152
143 125
msgid "Auto-refresh disabled on graph \"{graph}\" for host \"{host}\""
144 126
msgstr ""
145 127
"Rafraîchissement automatique désactivé pour le graphe \"{graph}\" \"\n"
146 128
"\"de l'hote \"{host}\""
147 129

  
148
#: vigigraph/public/js/graph.js:157
130
#: vigigraph/public/js/graph.js:164
149 131
msgid "Zoom in"
150 132
msgstr "Zoomer"
151 133

  
152
#: vigigraph/public/js/graph.js:165
134
#: vigigraph/public/js/graph.js:172
153 135
msgid "Zoom out"
154 136
msgstr "Dézoomer"
155 137

  
156
#: vigigraph/public/js/graph.js:176
138
#: vigigraph/public/js/graph.js:183
157 139
msgid "Graph start"
158 140
msgstr "Début du graphe"
159 141

  
160
#: vigigraph/public/js/graph.js:184
142
#: vigigraph/public/js/graph.js:191
161 143
msgid "Previous section"
162 144
msgstr "Section précédente"
163 145

  
164
#: vigigraph/public/js/graph.js:195
146
#: vigigraph/public/js/graph.js:202
165 147
msgid "Next section"
166 148
msgstr "Section suivante"
167 149

  
168
#: vigigraph/public/js/graph.js:206
150
#: vigigraph/public/js/graph.js:213
169 151
msgid "Graph end"
170 152
msgstr "Fin du graphe"
171 153

  
172
#: vigigraph/public/js/graph.js:217
154
#: vigigraph/public/js/graph.js:224
173 155
msgid "Print graph"
174 156
msgstr "Imprimer le graphe"
175 157

  
176
#: vigigraph/public/js/graph.js:222
158
#: vigigraph/public/js/graph.js:229
177 159
#, python-format
178 160
msgid "Graph for \"%(graph)s\" on \"%(host)s\""
179 161
msgstr "Graphe pour \"%(graph)s\" sur \"%(host)s\""
vigigraph/i18n/vigigraph.pot
7 7
#, fuzzy
8 8
msgid ""
9 9
msgstr ""
10
"Project-Id-Version: vigilo-vigigraph 2.0.15\n"
10
"Project-Id-Version: vigilo-vigigraph 2.0.17\n"
11 11
"Report-Msgid-Bugs-To: contact@projet-vigilo.org\n"
12
"POT-Creation-Date: 2012-04-18 17:37+0200\n"
12
"POT-Creation-Date: 2012-08-21 13:43+0200\n"
13 13
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14 14
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
15 15
"Language-Team: LANGUAGE <LL@li.org>\n"
......
19 19
"Generated-By: Babel 0.9.4\n"
20 20

  
21 21
#: vigigraph/controllers/root.py:34 vigigraph/controllers/root.py:36
22
#: vigigraph/controllers/root.py:41 vigigraph/controllers/rpc.py:60
22
#: vigigraph/controllers/root.py:41 vigigraph/controllers/rpc.py:65
23 23
msgid "You need to be authenticated"
24 24
msgstr ""
25 25

  
26
#: vigigraph/controllers/root.py:45 vigigraph/controllers/rpc.py:64
26
#: vigigraph/controllers/root.py:45 vigigraph/controllers/rpc.py:69
27 27
msgid "You don't have access to VigiGraph"
28 28
msgstr ""
29 29

  
30
#: vigigraph/controllers/rpc.py:69 vigigraph/controllers/rpc.py:70
30
#: vigigraph/controllers/rpc.py:75 vigigraph/controllers/rpc.py:79
31
#: vigigraph/public/js/graph.js:49 vigigraph/public/js/graph.js:50
32
#: vigigraph/public/js/graph.js:51
31 33
#, python-format
32
msgid "Last %d hours"
33
msgstr ""
34

  
35
#: vigigraph/controllers/rpc.py:71 vigigraph/controllers/rpc.py:72
36
#: vigigraph/controllers/rpc.py:73
34
msgid "Last %(qtty)d hour"
35
msgid_plural "Last %(qtty)d hours"
36
msgstr[0] ""
37
msgstr[1] ""
38

  
39
#: vigigraph/controllers/rpc.py:83 vigigraph/controllers/rpc.py:87
40
#: vigigraph/controllers/rpc.py:91 vigigraph/public/js/graph.js:52
41
#: vigigraph/public/js/graph.js:53
37 42
#, python-format
38
msgid "Last %d days"
39
msgstr ""
40

  
41
#: vigigraph/controllers/rpc.py:74 vigigraph/public/js/graph.js:47
42
msgid "Last month"
43
msgstr ""
44

  
45
#: vigigraph/controllers/rpc.py:75 vigigraph/controllers/rpc.py:76
43
msgid "Last %(qtty)d day"
44
msgid_plural "Last %(qtty)d days"
45
msgstr[0] ""
46
msgstr[1] ""
47

  
48
#: vigigraph/controllers/rpc.py:95 vigigraph/controllers/rpc.py:99
49
#: vigigraph/controllers/rpc.py:103 vigigraph/public/js/graph.js:54
50
#: vigigraph/public/js/graph.js:55 vigigraph/public/js/graph.js:56
46 51
#, python-format
47
msgid "Last %d months"
48
msgstr ""
52
msgid "Last %(qtty)d month"
53
msgid_plural "Last %(qtty)d months"
54
msgstr[0] ""
55
msgstr[1] ""
49 56

  
50
#: vigigraph/controllers/rpc.py:77 vigigraph/public/js/graph.js:50
51
msgid "Last year"
52
msgstr ""
57
#: vigigraph/controllers/rpc.py:107 vigigraph/public/js/graph.js:57
58
#, python-format
59
msgid "Last %(qtty)d year"
60
msgid_plural "Last %(qtty)d years"
61
msgstr[0] ""
62
msgstr[1] ""
53 63

  
54 64
#. TRANSLATORS: Format Python de date/heure, lisible par un humain.
55
#: vigigraph/controllers/rpc.py:215
65
#: vigigraph/controllers/rpc.py:247
56 66
#, python-format
57 67
msgid "%a, %d %b %Y %H:%M:%S"
58 68
msgstr ""
59 69

  
60
#: vigigraph/controllers/rpc.py:359
70
#: vigigraph/controllers/rpc.py:391
61 71
#, python-format
62 72
msgid "No such host \"%s\""
63 73
msgstr ""
64 74

  
65
#: vigigraph/controllers/rpc.py:368
75
#: vigigraph/controllers/rpc.py:400
66 76
#, python-format
67 77
msgid "Access denied to host \"%s\""
68 78
msgstr ""
69 79

  
70
#: vigigraph/controllers/rpc.py:573 vigigraph/controllers/rpc.py:606
80
#: vigigraph/controllers/rpc.py:605 vigigraph/controllers/rpc.py:638
71 81
#, python-format
72 82
msgid "Next %(limit)s"
73 83
msgstr ""
74 84

  
75
#: vigigraph/public/js/graph.js:42
76
msgid "Last 12 hours"
77
msgstr ""
78

  
79
#: vigigraph/public/js/graph.js:43
80
msgid "Last 24 hours"
81
msgstr ""
82

  
83
#: vigigraph/public/js/graph.js:44
84
msgid "Last 48 hours"
85
msgstr ""
86

  
87
#: vigigraph/public/js/graph.js:45
88
msgid "Last 7 days"
89
msgstr ""
90

  
91
#: vigigraph/public/js/graph.js:46
92
msgid "Last 14 days"
93
msgstr ""
94

  
95
#: vigigraph/public/js/graph.js:48
96
msgid "Last 3 months"
97
msgstr ""
98

  
99
#: vigigraph/public/js/graph.js:49
100
msgid "Last 6 months"
101
msgstr ""
102

  
103
#: vigigraph/public/js/graph.js:54
85
#: vigigraph/public/js/graph.js:61
104 86
msgid "Timeframe"
105 87
msgstr ""
106 88

  
107
#: vigigraph/public/js/graph.js:56
89
#: vigigraph/public/js/graph.js:63
108 90
msgid "Timeframe menu"
109 91
msgstr ""
110 92

  
111
#: vigigraph/public/js/graph.js:73
93
#: vigigraph/public/js/graph.js:80
112 94
#, python-format
113 95
msgid ""
114 96
"Could not load the graph for \"%(graph)s\" on \"%(host)s\". Make sure VigiRRD"
115 97
" is running and receives performance data."
116 98
msgstr ""
117 99

  
118
#: vigigraph/public/js/graph.js:89
100
#: vigigraph/public/js/graph.js:96
119 101
msgid "Export to CSV"
120 102
msgstr ""
121 103

  
122
#: vigigraph/public/js/graph.js:91
104
#: vigigraph/public/js/graph.js:98
123 105
msgid "Export the content of this graph to CSV"
124 106
msgstr ""
125 107

  
126
#: vigigraph/public/js/graph.js:107
108
#: vigigraph/public/js/graph.js:114
127 109
msgid "All"
128 110
msgstr ""
129 111

  
130
#: vigigraph/public/js/graph.js:119
112
#: vigigraph/public/js/graph.js:126
131 113
msgid "Automatically refresh the graph"
132 114
msgstr ""
133 115

  
134
#: vigigraph/public/js/graph.js:131
116
#: vigigraph/public/js/graph.js:138
135 117
msgid "Auto-refresh enabled on graph \"{graph}\" for host \"{host}\""
136 118
msgstr ""
137 119

  
138
#: vigigraph/public/js/graph.js:145
120
#: vigigraph/public/js/graph.js:152
139 121
msgid "Auto-refresh disabled on graph \"{graph}\" for host \"{host}\""
140 122
msgstr ""
141 123

  
142
#: vigigraph/public/js/graph.js:157
124
#: vigigraph/public/js/graph.js:164
143 125
msgid "Zoom in"
144 126
msgstr ""
145 127

  
146
#: vigigraph/public/js/graph.js:165
128
#: vigigraph/public/js/graph.js:172
147 129
msgid "Zoom out"
148 130
msgstr ""
149 131

  
150
#: vigigraph/public/js/graph.js:176
132
#: vigigraph/public/js/graph.js:183
151 133
msgid "Graph start"
152 134
msgstr ""
153 135

  
154
#: vigigraph/public/js/graph.js:184
136
#: vigigraph/public/js/graph.js:191
155 137
msgid "Previous section"
156 138
msgstr ""
157 139

  
158
#: vigigraph/public/js/graph.js:195
140
#: vigigraph/public/js/graph.js:202
159 141
msgid "Next section"
160 142
msgstr ""
161 143

  
162
#: vigigraph/public/js/graph.js:206
144
#: vigigraph/public/js/graph.js:213
163 145
msgid "Graph end"
164 146
msgstr ""
165 147

  
166
#: vigigraph/public/js/graph.js:217
148
#: vigigraph/public/js/graph.js:224
167 149
msgid "Print graph"
168 150
msgstr ""
169 151

  
170
#: vigigraph/public/js/graph.js:222
152
#: vigigraph/public/js/graph.js:229
171 153
#, python-format
172 154
msgid "Graph for \"%(graph)s\" on \"%(host)s\""
173 155
msgstr ""
vigigraph/public/js/graph.js
38 38
        }).get({'host': this.host});
39 39

  
40 40
        var toolbar = new Jx.Toolbar({position:'top'});
41
        var ngettext = function (singular, plural, n) {
42
            // Retourne une version pluralisée de la période de temps,
43
            // tout en supportant les substitutions au format de Python.
44
            // En particulier, "%(qtty)d" est remplacé par le nombre d'unités.
45
            return window.ngettext(singular, plural, n).substitute(
46
                {
47
                    'qtty': n
48
                },
49
                /%\(([a-z]+)\)[dui]/g
50
            );
51
        }
52
        // Périodes de temps disponibles.
53
        // Voir aussi RpcController.presets pour l'équivalent côté Python.
41 54
        var periods = [
42
            [_('Last 12 hours'),    12],
43
            [_('Last 24 hours'),    24],
44
            [_('Last 48 hours'),    48],
45
            [_('Last 7 days'),      7*24],
46
            [_('Last 14 days'),     14*24],
47
            [_('Last month'),       30*24],
48
            [_('Last 3 months'),    3*30*24],
49
            [_('Last 6 months'),    6*30*24],
50
            [_('Last year'),        365*24]
55
            [ngettext('Last %(qtty)d hour',  'Last %(qtty)d hours', 12),        12],
56
            [ngettext('Last %(qtty)d hour',  'Last %(qtty)d hours', 24),        24],
57
            [ngettext('Last %(qtty)d hour',  'Last %(qtty)d hours', 48),        48],
58
            [ngettext('Last %(qtty)d day',   'Last %(qtty)d days',   7),      7*24],
59
            [ngettext('Last %(qtty)d day',   'Last %(qtty)d days',  14),     14*24],
60
            [ngettext('Last %(qtty)d month', 'Last %(qtty)d months', 1),     30*24],
61
            [ngettext('Last %(qtty)d month', 'Last %(qtty)d months', 3),   3*30*24],
62
            [ngettext('Last %(qtty)d month', 'Last %(qtty)d months', 6),   6*30*24],
63
            [ngettext('Last %(qtty)d year',  'Last %(qtty)d years',  1),    365*24]
51 64
        ];
52 65

  
53 66
        var timeframe = new Jx.Menu({

Also available in: Unified diff