75 |
76 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/skins/classic/sieverules.css:
--------------------------------------------------------------------------------
1 | /**
2 | * SieveRules plugin styles
3 | */
4 |
5 | #sieverules-list
6 | {
7 | position: absolute;
8 | top: 0;
9 | bottom: 0;
10 | width: 240px;
11 | }
12 |
13 | .sieverules-boxcontent
14 | {
15 | position: absolute;
16 | top: 0;
17 | bottom: 23px;
18 | width: 100%;
19 | }
20 |
21 | #sieverules-list-filters
22 | {
23 | position: absolute;
24 | top: 0;
25 | left: 0;
26 | right: 0;
27 | bottom: 0;
28 | width: 100%;
29 | border: 1px solid #999999;
30 | overflow: auto;
31 | }
32 |
33 | #sieverules-list-filters thead th
34 | {
35 | height: 20px;
36 | }
37 |
38 | #sieverules-list-filters thead th span
39 | {
40 | position: absolute;
41 | top: 2px;
42 | left: 4px;
43 | right: 25px;
44 | height: 20px;
45 | white-space: nowrap;
46 | overflow: hidden;
47 | text-overflow: ellipsis;
48 | }
49 |
50 |
51 | #sieverules-list-filters thead th img
52 | {
53 | position: absolute;
54 | top: 2px;
55 | right: 2px;
56 | }
57 |
58 | #sieverules-list-examples
59 | {
60 | position: absolute;
61 | bottom: 0;
62 | left: 0;
63 | right: 0;
64 | width: 100%;
65 | border: 1px solid #999999;
66 | overflow: auto;
67 | }
68 |
69 | #sieverules-list div.boxfooter
70 | {
71 | border: 1px solid #999999;
72 | border-top: 0;
73 | width: 100%;
74 | }
75 |
76 | #sieverules-details
77 | {
78 | position: absolute;
79 | top: 0;
80 | left: 250px;
81 | right: 0;
82 | bottom: 0;
83 | border: 1px solid #999999;
84 | }
85 |
86 | #sieverules-advanced,
87 | #sieverules-vacation
88 | {
89 | position: absolute;
90 | top: 0;
91 | left: 0;
92 | bottom: 25px;
93 | right: 0;
94 | overflow: hidden;
95 | border: 1px solid #999999;
96 | }
97 |
98 | span.disableLink
99 | {
100 | float: right;
101 | width: 200px;
102 | text-align: right;
103 | }
104 |
105 | table.sieverules-table,
106 | table.sieverules-examples
107 | {
108 | width: 100%;
109 | border-collapse: collapse;
110 | border-spacing: 0px;
111 | }
112 |
113 | table.sieverules-table tbody td
114 | {
115 | cursor: default;
116 | }
117 |
118 | table.sieverules-table tbody td.control,
119 | #rules-table tbody td.control,
120 | #actions-table tbody td.control
121 | {
122 | text-align: right;
123 | }
124 |
125 | table.sieverules-table tbody td.control a,
126 | #rules-table tbody td.control a,
127 | #actions-table tbody td.control a
128 | {
129 | display: inline-block;
130 | width: 16px;
131 | height: 16px;
132 | background-image: url(images/icons.png);
133 | }
134 |
135 | table.sieverules-table tbody td.control a {
136 | height: 10px;
137 | }
138 |
139 | table.sieverules-table tbody td.control a.up_arrow
140 | {
141 | background-position: 0 -2px;
142 | }
143 |
144 | table.sieverules-table tbody td.control a.down_arrow
145 | {
146 | background-position: 0 -19px;
147 | }
148 |
149 | #rules-table tbody td.control,
150 | #actions-table tbody td.control
151 | {
152 | vertical-align: top;
153 | }
154 |
155 | #rules-table tbody td.control a.add,
156 | #actions-table tbody td.control a.add
157 | {
158 | margin-left: 5px;
159 | background-position: 0 -72px;
160 | }
161 |
162 | #rules-table tbody td.control a.delete,
163 | #actions-table tbody td.control a.delete
164 | {
165 | background-position: 0 -54px;
166 | }
167 |
168 | #rules-table tbody td.control a.delete_act,
169 | #actions-table tbody td.control a.delete_act
170 | {
171 | background-position: 0 -36px;
172 | }
173 |
174 | #actions-table tbody a.vacsig
175 | {
176 | display: block;
177 | width: 16px;
178 | height: 16px;
179 | background-image: url(images/icons.png);
180 | background-position: 0 -108px;
181 | }
182 |
183 | #actions-table tbody a.vacsig_act
184 | {
185 | display: block;
186 | width: 16px;
187 | height: 16px;
188 | background-image: url(images/icons.png);
189 | background-position: 0 -90px;
190 | }
191 |
192 | #rules-table,
193 | #actions-table,
194 | #rules-table td table.records-table
195 | {
196 | width: 100%;
197 | }
198 |
199 | #rules-table td.selheader,
200 | #rules-table td.op
201 | {
202 | width: 130px;
203 | }
204 |
205 | #rules-table td.header
206 | {
207 | width: 135px;
208 | }
209 |
210 | #rules-table td.target
211 | {
212 | width: 160px;
213 | }
214 |
215 | #rules-table input
216 | {
217 | width: 150px;
218 | }
219 |
220 | #rules-table input.short
221 | {
222 | width: 100px;
223 | }
224 |
225 | #rules-table select
226 | {
227 | width: 123px;
228 | }
229 |
230 | #rules-table select.short
231 | {
232 | width: 45px;
233 | }
234 |
235 | #rules-table select.long
236 | {
237 | width: 157px;
238 | }
239 |
240 | #rules-table td table.records-table select
241 | {
242 | width: 432px;
243 | }
244 |
245 | #rules-table td table.records-table input
246 | {
247 | width: 426px;
248 | }
249 |
250 | #rules-table td table.records-table input.short
251 | {
252 | width: 406px;
253 | }
254 |
255 | #rules-table td table.records-table input.radio
256 | {
257 | width: auto;
258 | }
259 |
260 | #actions-table td.action
261 | {
262 | width: 165px;
263 | vertical-align: top;
264 | }
265 |
266 | #actions-table td.folder
267 | {
268 | width: 420px;
269 | vertical-align: top;
270 | }
271 |
272 | #actions-table td.action select
273 | {
274 | width: 160px;
275 | }
276 |
277 | #actions-table td.folder input,
278 | #actions-table td.folder textarea
279 | {
280 | width: 400px;
281 | }
282 |
283 | #actions-table td.folder select
284 | {
285 | width: 408px;
286 | }
287 |
288 | #actions-table td.folder table.records-table select
289 | {
290 | width: 337px;
291 | }
292 |
293 | #actions-table td.folder table.records-table input,
294 | #actions-table td.folder table.records-table textarea
295 | {
296 | width: 330px;
297 | }
298 |
299 | #actions-table td.folder table.records-table input.short,
300 | #actions-table td.folder table.records-table select.short
301 | {
302 | width: 310px;
303 | }
304 |
305 | #actions-table td.folder table.records-table input.checkbox,
306 | #actions-table td.folder table.records-table input.radio
307 | {
308 | width: auto;
309 | }
310 |
311 | table.records-table td.msg
312 | {
313 | vertical-align: top;
314 | }
315 |
316 | table.records-table td.helpmsg
317 | {
318 | width: 398px;
319 | white-space: -moz-pre-wrap !important;
320 | white-space: pre-wrap !important;
321 | white-space: pre;
322 | }
323 |
324 | #listbuttons
325 | {
326 | position: absolute;
327 | bottom: 18px;
328 | left: 20px;
329 | }
330 |
331 | #advancedmode
332 | {
333 | white-space: nowrap;
334 | text-align: right;
335 | position: absolute;
336 | bottom: 30px;
337 | right: 20px;
338 | width: 460px;
339 | }
340 |
341 | #sieverules-advancedbox
342 | {
343 | position: absolute;
344 | top: 20px;
345 | left: 0;
346 | bottom: 26px;
347 | right: 4px;
348 | }
349 |
350 | #sieverules-advanced textarea
351 | {
352 | position: absolute;
353 | top: 0;
354 | left: 0;
355 | border: 0;
356 | width: 100%;
357 | height: 100%;
358 | }
359 |
360 | .records-table tbody tr.droptarget td
361 | {
362 | border-top: 2px solid #000000;
363 | }
364 |
365 | .records-table tbody tr.droptargetend td
366 | {
367 | border-bottom: 2px solid #000000;
368 | }
369 |
370 | #sieverulesrsdialog h3
371 | {
372 | color: #333;
373 | font-size: normal;
374 | margin-top: 0.5em;
375 | margin-bottom: 1em;
376 | }
377 |
378 | #sieverulesrsdialog table td.title
379 | {
380 | color: #666;
381 | text-align: right;
382 | padding-right: 1em;
383 | white-space: nowrap;
384 | }
385 |
386 | #sieverulesrsdialog table td input
387 | {
388 | width: 20em;
389 | }
390 |
391 | #sieverulesrsdialog .formbuttons
392 | {
393 | margin-top: 1.5em;
394 | text-align: center;
395 | }
396 |
397 | input.inputmask
398 | {
399 | color: #999999;
400 | }
401 |
402 | #sieverulesactionsmenu a.selected
403 | {
404 | font-weight: bold;
405 | }
406 |
407 | #sieverules-advbuttons
408 | {
409 | position: absolute;
410 | left: 0;
411 | bottom: 0;
412 | }
413 |
414 | #sieverules-vacation .boxcontent {
415 | background-color: transparent;
416 | }
417 |
418 | #sieverules-vacation textarea,
419 | #sieverules-vacation #actions-table select,
420 | #sieverules-vacation #actions-table input[type=text] {
421 | width: 99%;
422 | min-width: 390px;
423 | }
--------------------------------------------------------------------------------
/skins/larry/sieverules.css:
--------------------------------------------------------------------------------
1 | /**
2 | * SieveRules plugin styles
3 | */
4 |
5 | #sieverules-list
6 | {
7 | position: absolute;
8 | top: 0;
9 | left: 0;
10 | width: 260px;
11 | bottom: 0;
12 | }
13 |
14 | #sieverules-list-filters
15 | {
16 | position: absolute;
17 | top: 0;
18 | left: 0;
19 | right: 0;
20 | bottom: 0;
21 | width: 100%;
22 | overflow: auto;
23 | }
24 |
25 | #sieverules-list h2 img
26 | {
27 | position: absolute;
28 | top: 7px;
29 | right: 8px;
30 | }
31 |
32 | #sieverules-list-examples
33 | {
34 | position: absolute;
35 | bottom: 0;
36 | left: 0;
37 | right: 0;
38 | width: 100%;
39 | overflow: auto;
40 | }
41 |
42 | #sieverules-list-examples thead th
43 | {
44 | text-align: left;
45 | }
46 |
47 | #sieverules-details
48 | {
49 | position: absolute;
50 | top: 0;
51 | left: 270px;
52 | right: 0;
53 | bottom: 0;
54 | }
55 |
56 | #sieverules-advanced,
57 | #sieverules-vacation
58 | {
59 | position: absolute;
60 | top: 0;
61 | left: 212px;
62 | right: 0;
63 | bottom: 0;
64 | }
65 |
66 | span.disableLink
67 | {
68 | float: right;
69 | width: 200px;
70 | text-align: right;
71 | }
72 |
73 | table.sieverules-table,
74 | table.sieverules-examples
75 | {
76 | width: 100%;
77 | }
78 |
79 | table.sieverules-table tbody td
80 | {
81 | cursor: default;
82 | }
83 |
84 | table.sieverules-table tbody td.control,
85 | #rules-table tbody td.control,
86 | #actions-table tbody td.control
87 | {
88 | text-align: right;
89 | }
90 |
91 | table.sieverules-table tbody td.control a,
92 | #rules-table tbody td.control a,
93 | #actions-table tbody td.control a
94 | {
95 | display: inline-block;
96 | width: 16px;
97 | height: 16px;
98 | background-image: url(images/icons.png);
99 | }
100 |
101 | table.sieverules-table tbody td.control a {
102 | height: 12px;
103 | }
104 |
105 |
106 | table.sieverules-table tbody td.control a.up_arrow
107 | {
108 | background-position: 0 -1px;
109 | }
110 |
111 | table.sieverules-table tbody td.control a.down_arrow
112 | {
113 | background-position: 0 -19px;
114 | }
115 |
116 | #rules-table tbody td.control,
117 | #actions-table tbody td.control
118 | {
119 | vertical-align: top;
120 | }
121 |
122 | #rules-table tbody td.control a.add,
123 | #actions-table tbody td.control a.add
124 | {
125 | margin-left: 5px;
126 | background-position: 0 -78px;
127 | }
128 |
129 | #rules-table tbody td.control a.delete,
130 | #actions-table tbody td.control a.delete
131 | {
132 | background-position: 0 -59px;
133 | }
134 |
135 | #rules-table tbody td.control a.delete_act,
136 | #actions-table tbody td.control a.delete_act
137 | {
138 | background-position: 0 -39px;
139 | }
140 |
141 | #actions-table tbody a.vacsig
142 | {
143 | display: block;
144 | width: 16px;
145 | height: 16px;
146 | background-image: url(images/icons.png);
147 | background-position: -1px -126px;
148 | }
149 |
150 | #actions-table tbody a.vacsig_act
151 | {
152 | display: block;
153 | width: 16px;
154 | height: 16px;
155 | background-image: url(images/icons.png);
156 | background-position: -1px -102px;
157 | }
158 |
159 | table.records-table
160 | {
161 | width: auto;
162 | border: 0;
163 | }
164 |
165 | table.records-table tbody td,
166 | table.records-table thead th
167 | {
168 | border: 0;
169 | }
170 |
171 | #rules-table,
172 | #actions-table
173 | {
174 | width: 100%;
175 | }
176 |
177 | #rules-table td table.records-table
178 | {
179 | width: auto;
180 | }
181 |
182 | #rules-table td,
183 | #actions-table td,
184 | #rules-table td table.records-table td
185 | {
186 | width: auto;
187 | }
188 |
189 | #rules-table td.selheader,
190 | #rules-table td.op
191 | {
192 | width: 130px;
193 | }
194 |
195 | #rules-table td.header
196 | {
197 | width: 135px;
198 | }
199 |
200 | #rules-table td.target
201 | {
202 | width: 180px;
203 | }
204 |
205 | #rules-table input
206 | {
207 | width: 150px;
208 | }
209 |
210 | #rules-table input.short
211 | {
212 | width: 100px;
213 | }
214 |
215 | #rules-table select
216 | {
217 | width: 123px;
218 | }
219 |
220 | #rules-table select.short
221 | {
222 | width: 45px;
223 | }
224 |
225 | #rules-table select.long
226 | {
227 | width: 157px;
228 | }
229 |
230 | #rules-table td table.records-table select
231 | {
232 | width: 432px;
233 | }
234 |
235 | #rules-table td table.records-table input
236 | {
237 | width: 426px;
238 | }
239 |
240 | #rules-table td table.records-table input.short
241 | {
242 | width: 406px;
243 | }
244 |
245 | #rules-table td table.records-table input.radio
246 | {
247 | width: auto;
248 | }
249 |
250 | #actions-table td.action
251 | {
252 | width: 165px;
253 | vertical-align: top;
254 | }
255 |
256 | #actions-table td.folder
257 | {
258 | width: 420px;
259 | vertical-align: top;
260 | }
261 |
262 | #actions-table td.action select
263 | {
264 | width: 160px;
265 | }
266 |
267 | #actions-table td.folder input,
268 | #actions-table td.folder textarea
269 | {
270 | width: 400px;
271 | }
272 |
273 | #actions-table td.folder select
274 | {
275 | width: 408px;
276 | }
277 |
278 | #actions-table td.folder table.records-table select
279 | {
280 | width: 337px;
281 | }
282 |
283 | #actions-table td.folder table.records-table input,
284 | #actions-table td.folder table.records-table textarea
285 | {
286 | width: 330px;
287 | }
288 |
289 | #actions-table td.folder table.records-table input.short,
290 | #actions-table td.folder table.records-table select.short
291 | {
292 | width: 310px;
293 | }
294 |
295 | #actions-table td.folder table.records-table input.checkbox,
296 | #actions-table td.folder table.records-table input.radio
297 | {
298 | width: auto;
299 | }
300 |
301 | table.records-table td.msg
302 | {
303 | vertical-align: top;
304 | }
305 |
306 | table.records-table td.helpmsg
307 | {
308 | width: 398px;
309 | white-space: -moz-pre-wrap !important;
310 | white-space: pre-wrap !important;
311 | white-space: pre;
312 | }
313 |
314 | #advancedmode
315 | {
316 | white-space: nowrap;
317 | text-align: right;
318 | position: absolute;
319 | bottom: 30px;
320 | right: 20px;
321 | width: 460px;
322 | }
323 |
324 | #sieverules-advancedbox
325 | {
326 | position: absolute;
327 | top: 34px;
328 | left: 0;
329 | bottom: 100px;
330 | right: 8px;
331 | }
332 |
333 | #sieverules-advanced textarea
334 | {
335 | position: absolute;
336 | top: 0;
337 | left: 0;
338 | border: 0;
339 | width: 100%;
340 | height: 100%;
341 | }
342 |
343 | .listing tbody tr.droptarget td
344 | {
345 | border-top: 2px solid #0e5266;
346 | background-color: #D9ECF4;
347 | }
348 |
349 | .listing tbody tr.droptargetend td
350 | {
351 | border-bottom: 2px solid #0e5266;
352 | background-color: #D9ECF4;
353 | }
354 |
355 | #sieverulesrsdialog h3
356 | {
357 | color: #333;
358 | font-size: medium;
359 | margin-top: 0.5em;
360 | margin-bottom: 1em;
361 | }
362 |
363 | #sieverulesrsdialog table td input
364 | {
365 | width: 20em;
366 | }
367 |
368 | #sieverulesrsdialog .formbuttons
369 | {
370 | margin-top: 1.5em;
371 | text-align: center;
372 | }
373 |
374 | input.inputmask
375 | {
376 | color: #999999;
377 | }
378 |
379 | #sieverulesactionsmenu a.selected
380 | {
381 | font-weight: bold;
382 | }
383 |
384 | #sieverules-advbuttons
385 | {
386 | position: absolute;
387 | left: 0;
388 | bottom: 45px;
389 | }
390 |
391 | #sieverules-advanced .boxfooter
392 | {
393 | position: absolute;
394 | bottom: 0;
395 | left: 0;
396 | right: 0;
397 | height: 27px;
398 | padding-left: 1px;
399 | border-top: 1px solid #ddd;
400 | border-radius: 0 0 4px 4px;
401 | background: #eaeaea;
402 | background: -moz-linear-gradient(top, #eaeaea 0%, #c8c8c8 100%);
403 | background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#eaeaea), color-stop(100%,#c8c8c8));
404 | background: -o-linear-gradient(top, #eaeaea 0%, #c8c8c8 100%);
405 | background: -ms-linear-gradient(top, #eaeaea 0%, #c8c8c8 100%);
406 | background: linear-gradient(to bottom, #eaeaea 0%, #c8c8c8 100%);
407 | white-space: nowrap;
408 | overflow: hidden;
409 | text-overflow: ellipsis;
410 | }
411 |
412 | #sieverules-advanced .boxfooter .listbutton
413 | {
414 | background: #C4BEBE;
415 | }
416 |
417 | #sieverules-advanced .boxfooter .listbutton .inner
418 | {
419 | height: 20px;
420 | background-image: url(images/listicons.png);
421 | background-position: 5px -52px;
422 | }
423 |
424 | #sieverules-vacation textarea,
425 | #sieverules-vacation #actions-table select,
426 | #sieverules-vacation #actions-table input[type=text] {
427 | width: 99%;
428 | min-width: 390px;
429 | }
--------------------------------------------------------------------------------
/lib/Roundcube/rcube_sieve.php:
--------------------------------------------------------------------------------
1 |
7 | * @modified by Philip Weir
8 | * * Make ruleset name configurable
9 | * * Added import functions
10 | *
11 | * Copyright (C) 2009-2014 Philip Weir
12 | *
13 | * This program is a Roundcube (http://www.roundcube.net) plugin.
14 | * For configuration see config.inc.php.dist.
15 | *
16 | * This program is free software: you can redistribute it and/or modify
17 | * it under the terms of the GNU General Public License as published by
18 | * the Free Software Foundation, either version 3 of the License, or
19 | * (at your option) any later version.
20 | *
21 | * This program is distributed in the hope that it will be useful,
22 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 | * GNU General Public License for more details.
25 | *
26 | * You should have received a copy of the GNU General Public License
27 | * along with Roundcube. If not, see http://www.gnu.org/licenses/.
28 | */
29 |
30 | define('SIEVE_ERROR_CONNECTION', 1);
31 | define('SIEVE_ERROR_LOGIN', 2);
32 | define('SIEVE_ERROR_NOT_EXISTS', 3); // script not exists
33 | define('SIEVE_ERROR_INSTALL', 4); // script installation
34 | define('SIEVE_ERROR_ACTIVATE', 5); // script activation
35 | define('SIEVE_ERROR_OTHER', 255); // other/unknown error
36 |
37 | class rcube_sieve
38 | {
39 | public $sieve;
40 | private $ruleset;
41 | private $importers = array();
42 | private $elsif;
43 | private $cache = false;
44 | public $error = false;
45 | public $list = array();
46 | public $script;
47 |
48 | public function __construct($username, $password, $host, $port, $auth_type = NULL, $usetls, $ruleset, $dir, $elsif = true, $auth_cid = NULL, $auth_pw = NULL, $socket_options = array())
49 | {
50 | $this->sieve = new Net_Sieve();
51 |
52 | $data = rcube::get_instance()->plugins->exec_hook('sieverules_connect', array(
53 | 'username' => $username, 'password' => $password, 'host' => $host, 'port' => $port,
54 | 'auth_type' => $auth_type, 'usetls' => $usetls, 'ruleset' => $ruleset, 'dir' => $dir,
55 | 'elsif' => $elsif, 'auth_cid' => $auth_cid, 'auth_pw' => $auth_pw, 'socket_options' => $socket_options));
56 |
57 | $username = $data['username'];
58 | $password = $data['password'];
59 | $host = $data['host'];
60 | $port = $data['port'];
61 | $auth_type = $data['auth_type'];
62 | $usetls = $data['usetls'];
63 | $ruleset = $data['ruleset'];
64 | $dir = $data['dir'];
65 | $elsif = $data['elsif'];
66 | $auth_cid = $data['auth_cid'];
67 | $auth_pw = $data['auth_pw'];
68 | $socket_options = $data['socket_options'];
69 |
70 | $conn = $this->sieve->connect($host, $port, $socket_options, $usetls);
71 | if ($conn instanceof PEAR_Error)
72 | return $this->_set_error(SIEVE_ERROR_CONNECTION);
73 |
74 | if (!empty($auth_cid)) {
75 | $authz = $username;
76 | $username = $auth_cid;
77 | $password = $auth_pw;
78 | }
79 |
80 | $login = $this->sieve->login($username, $password, $auth_type ? strtoupper($auth_type) : NULL, $authz);
81 | if ($login instanceof PEAR_Error)
82 | return $this->_set_error(SIEVE_ERROR_LOGIN);
83 |
84 | $this->ruleset = $ruleset;
85 | $this->elsif = $elsif;
86 |
87 | if ($this->ruleset !== false) {
88 | $this->get_script();
89 | }
90 | else {
91 | $this->ruleset = $this->get_active();
92 | $this->get_script();
93 | }
94 |
95 | // init importers
96 | if ($dir = realpath(slashify($dir) . 'importFilters/')) {
97 | $dir = slashify($dir);
98 | $handle = opendir($dir);
99 | while ($importer = readdir($handle)) {
100 | if (preg_match('/\.php$/', $importer) && is_file($dir . $importer) && is_readable($dir . $importer)) {
101 | include($dir . $importer);
102 |
103 | $importer = substr($importer, 0, -4);
104 | $importer = 'srimport_' . $importer;
105 |
106 | if (class_exists($importer, false)) {
107 | $importerClass = new $importer();
108 | $this->importers[$importer] = $importerClass;
109 | }
110 | }
111 | }
112 | closedir($handle);
113 | }
114 | }
115 |
116 | public function __destruct()
117 | {
118 | $this->sieve->disconnect();
119 | }
120 |
121 | public function error()
122 | {
123 | return $this->error ? $this->error : false;
124 | }
125 |
126 | public function save($script = '')
127 | {
128 | if (!$script)
129 | $script = $this->script->as_text();
130 |
131 | if (!$script)
132 | $script = '/* empty script */';
133 |
134 | // allow additional actions before ruleset is saved
135 | $data = rcube::get_instance()->plugins->exec_hook('sieverules_save', array(
136 | 'ruleset' => $this->ruleset, 'script' => $script, 'obj' => $this));
137 |
138 | if ($data['abort'])
139 | return $data['message'] ? $data['message'] : false;
140 |
141 | $result = $this->sieve->installScript($this->ruleset, $data['script']);
142 | if ($result instanceof PEAR_Error)
143 | return $this->_set_error(SIEVE_ERROR_INSTALL);
144 |
145 | if ($this->cache) $_SESSION['sieverules_script_cache_' . $this->ruleset] = serialize($this->script);
146 |
147 | return true;
148 | }
149 |
150 | public function get_extensions()
151 | {
152 | if ($this->sieve) {
153 | $ext = $this->sieve->getExtensions();
154 | $ext = array_map('strtolower', (array) $ext);
155 | return $ext;
156 | }
157 | }
158 |
159 | public function check_import()
160 | {
161 | $result = false;
162 |
163 | foreach ($this->list as $ruleset) {
164 | if ($ruleset == $this->ruleset)
165 | continue;
166 |
167 | $script = $this->sieve->getScript($ruleset);
168 |
169 | foreach ($this->importers as $id => $importer) {
170 | if ($importer->detector($script, $ruleset)) {
171 | $result = array($id, $importer->name, $ruleset);
172 | break;
173 | }
174 | }
175 | }
176 |
177 | return $result;
178 | }
179 |
180 | public function do_import($type, $ruleset)
181 | {
182 | $script = $this->sieve->getScript($ruleset);
183 | $content = $this->importers[$type]->importer($script);
184 | $this->script->import_filters($content);
185 |
186 | if (is_array($content))
187 | return $this->save();
188 | else
189 | return $this->save($content);
190 | }
191 |
192 | public function get_script()
193 | {
194 | if (!$this->sieve)
195 | return false;
196 |
197 | if ($this->cache && $_SESSION['sieverules_script_cache']) {
198 | $this->list = unserialize($_SESSION['sieverules_scripts_list']);
199 | $this->script = unserialize($_SESSION['sieverules_script_cache_' . $this->ruleset]);
200 | return;
201 | }
202 |
203 | $this->list = $this->sieve->listScripts();
204 |
205 | if ($this->list instanceof PEAR_Error)
206 | return $this->_set_error(SIEVE_ERROR_OTHER);
207 |
208 | if (in_array($this->ruleset, $this->list)) {
209 | $script = $this->sieve->getScript($this->ruleset);
210 |
211 | if ($script instanceof PEAR_Error)
212 | return $this->_set_error(SIEVE_ERROR_OTHER);
213 | }
214 | else {
215 | $this->_set_error(SIEVE_ERROR_NOT_EXISTS);
216 | $script = '';
217 | }
218 |
219 | $data = rcube::get_instance()->plugins->exec_hook('sieverules_load', array(
220 | 'ruleset' => $this->ruleset, 'script' => $script, 'obj' => $this));
221 |
222 | $this->script = new rcube_sieve_script($data['script'], $this->get_extensions(), $this->elsif);
223 |
224 | if ($this->cache) {
225 | $_SESSION['sieverules_scripts_list'] = serialize($this->list);
226 | $_SESSION['sieverules_script_cache_' . $this->ruleset] = serialize($this->script);
227 | }
228 | }
229 |
230 | public function get_active()
231 | {
232 | return $this->sieve->getActive();
233 | }
234 |
235 | public function set_active($ruleset)
236 | {
237 | $active = $this->sieve->setActive($ruleset);
238 | if ($active instanceof PEAR_Error)
239 | return $this->_set_error(SIEVE_ERROR_ACTIVATE);
240 |
241 | return true;
242 | }
243 |
244 | public function del_script($script)
245 | {
246 | return $this->sieve->removeScript($script);
247 | }
248 |
249 | public function set_ruleset($ruleset)
250 | {
251 | $this->ruleset = $ruleset;
252 | $this->get_script();
253 | }
254 |
255 | public function set_debug($debug)
256 | {
257 | $this->sieve->setDebug($debug, array($this, 'debug_handler'));
258 | }
259 |
260 | public function debug_handler(&$sieve, $message)
261 | {
262 | rcube::write_log('sieverules', preg_replace('/\r\n$/', '', $message));
263 | }
264 |
265 | private function _set_error($error)
266 | {
267 | $this->error = $error;
268 | return false;
269 | }
270 | }
271 |
272 | ?>
--------------------------------------------------------------------------------
/config.inc.php.dist:
--------------------------------------------------------------------------------
1 | /sieverules or to syslog
20 | $config['sieverules_debug'] = false;
21 |
22 | // authentication method. Can be CRAM-MD5, DIGEST-MD5, PLAIN, LOGIN, EXTERNAL
23 | // or none. Optional, defaults to best method supported by server.
24 | $config['sieverules_auth_type'] = null;
25 |
26 | // optional managesieve authentication identifier to be used as authorization proxy,
27 | // authenticate as a different user but act on behalf of the logged in user,
28 | // works with PLAIN and DIGEST-MD5 auth.
29 | $config['sieverules_auth_cid'] = null;
30 |
31 | // optional managesieve authentication password to be used for sieverules_auth_cid
32 | $config['sieverules_auth_pw'] = null;
33 |
34 | // enable TLS for managesieve server connection
35 | $config['sieverules_usetls'] = FALSE;
36 |
37 | // Connection context options
38 | // See http://php.net/manual/en/context.ssl.php
39 | // The example below enables server certificate validation
40 | // $config['sieverules_conn_options'] = array(
41 | // 'ssl' => array(
42 | // 'verify_peer' => true,
43 | // 'verify_depth' => 3,
44 | // 'cafile' => '/etc/openssl/certs/ca.crt',
45 | // )
46 | // );
47 | $config['sieverules_conn_options'] = null;
48 |
49 | // folder delimiter - if your sieve system uses a different folder delimiter to
50 | // your IMAP server set it here, otherwise leave as null to use IMAP delimiter
51 | $config['sieverules_folder_delimiter'] = null;
52 |
53 | // Sieve RFC says that we should use UTF-8 encoding for mailbox names,
54 | // but some implementations do not convert UTF-8 to modified UTF-7.
55 | // set to null for default behaviour
56 | $config['sieverules_folder_encoding'] = null;
57 |
58 | // include the IMAP root in the folder path when creating the rules
59 | // set to false to never include the IMAP root in the folder path
60 | // set to null for default behaviour
61 | $config['sieverules_include_imap_root'] = null;
62 |
63 | // ruleset name
64 | $config['sieverules_ruleset_name'] = 'roundcube';
65 |
66 | // allow multiple actions
67 | $config['sieverules_multiple_actions'] = TRUE;
68 |
69 | // allowed actions
70 | $config['sieverules_allowed_actions'] = array(
71 | 'fileinto' => TRUE,
72 | 'vacation' => TRUE,
73 | 'reject' => TRUE,
74 | 'redirect' => TRUE,
75 | 'keep' => TRUE,
76 | 'discard' => TRUE,
77 | 'imapflags' => TRUE,
78 | 'notify' => TRUE,
79 | 'stop' => TRUE,
80 | 'editheaderadd' => TRUE,
81 | 'editheaderrem' => TRUE,
82 | 'variables' => FALSE
83 | );
84 |
85 | // headers listed as examples of "Other headers"
86 | $config['sieverules_other_headers'] = array(
87 | 'Bcc', 'Reply-To', 'List-Id', 'MailingList', 'Mailing-List',
88 | 'X-ML-Name', 'X-List', 'X-List-Name', 'X-Mailing-List',
89 | 'Resent-From', 'Resent-To', 'X-Mailer', 'X-MailingList',
90 | 'X-Spam-Status', 'X-Priority', 'Importance', 'X-MSMail-Priority',
91 | 'Precedence', 'Return-Path', 'Received', 'Auto-Submitted',
92 | 'X-Spam-Flag', 'X-Spam-Tests', 'Sender',
93 | );
94 |
95 | // convert all UTF8 data entered as the target for From/To/Cc tests to punycode
96 | // for exmaple if testing the from address of a message and the address entered is IDN automatically convert it to punycode when saving the rule
97 | $config['sieverules_hdr_idn2ascii'] = false;
98 |
99 | // Predefined rules
100 | // each rule should be in it own array - examples provided in README
101 | // 'name' => name of the rule, displayed in the rule type select box
102 | // 'type' => one of: header, address, envelope, size
103 | // 'header' => name of the header to test
104 | // 'operator' => operator to use, for all possible values please see README
105 | // 'extra' => extra information needed for the rule in some cases
106 | // 'target' => value that the header is tested against
107 | $config['sieverules_predefined_rules'] = array();
108 |
109 | // Advanced editor
110 | // allows the user to edit the sieve file directly, without the restrictions of the normal UI
111 | // 0 - Disabled, option not shown in the UI
112 | // 1 - Enabled, option shown in the UI
113 | // 2 - Option shown in the UI and used by default
114 | // NOTE: The 'last used' editor is remembered in user prefs. Add this option to 'dont_override' in main Roundcube config file to prevent this.
115 | $config['sieverules_adveditor'] = 0;
116 |
117 | // Allow users to use multiple rulesets
118 | $config['sieverules_multiplerules'] = FALSE;
119 |
120 | // Default (or global) sieve rule file
121 | // An absolute path to a default rule file, see README for more information
122 | // For example '/etc/dovecot/sieve/default';
123 | $config['sieverules_default_file'] = null;
124 |
125 | // Auto load default sieve rule file if no rules exist and no import filters match
126 | $config['sieverules_auto_load_default'] = FALSE;
127 |
128 | // Example sieve rule file
129 | // An absolute path to an example rule file, see README for more information
130 | // For example '/etc/dovecot/sieve/example'
131 | $config['sieverules_example_file'] = null;
132 |
133 | // By default the "header" command is used for email address based tests: from/to/cc/bcc
134 | // to use "address" command instead set this option to false
135 | $config['sieverules_address_rules'] = FALSE;
136 |
137 | // Force the :addresses line to always be added to new vacation rules
138 | // Some sieve setups require that the :address part of a vacation rule is always present for the message to be sent
139 | // Cyrus setups need this to option set to true
140 | $config['sieverules_force_vacto'] = FALSE;
141 |
142 | // Limit the selection of :addresses available to only those setup in as an identity
143 | // Setting this to false will give the user a textbox to enter in any address(es) they like, rather than a list of checkboxes
144 | $config['sieverules_limit_vacto'] = TRUE;
145 |
146 | // Allow users to set the :from option when creating new vacation rules, not all servers support this option
147 | // If your server supports the variables extension users also have an 'auto detect' option which will detect the address to which the message was sent
148 | // Else the user's default identity will be used as the default value
149 | $config['sieverules_show_vacfrom'] = FALSE;
150 |
151 | // Allow users to set the :handle option when creating new vacation rules, not all servers support this option
152 | $config['sieverules_show_vachandle'] = FALSE;
153 |
154 | // The rule file can be written as one IF/ELSIF statement or as a series of unrelated IF statements
155 | // TRUE - one IF/ELSIF statement
156 | // FALSE - a series of unrelated IF statements (default)
157 | $config['sieverules_use_elsif'] = FALSE;
158 |
159 | // Fileinto action options
160 | // 0 - List only subscribed folders
161 | // 1 - List subscribed and unsubscribed folders
162 | // 2 - List subscribed and unsubscribed folders and allow users to enter a folder name (for advanced users only, requires sieve mailbox extension)
163 | $config['sieverules_fileinto_options'] = 0;
164 |
165 | // Define the format of the :from option value for vacation and notify actions
166 | // 0 - Use only the email address - :from "user@example.com"
167 | // 1 - Use the name and email address, not all servers support this option - :from "First Last "
168 | $config['sieverules_from_format'] = 0;
169 |
170 | // Display a shortcut on mail screen to create a rule based on the currently selected message(s)
171 | // 0 - No shortcut
172 | // 1 - Show icon on the mail toolbar
173 | // 2 - Show link in the more actions menu
174 | $config['sieverules_shortcut'] = 0;
175 |
176 | // Display option to add new criteria to an existing rule when creating a rule from the shortcut
177 | $config['sieverules_rule_setup'] = FALSE;
178 |
179 | // List of additional headers to use when creating a rule from the shortcut
180 | $config['sieverules_additional_headers'] = array('List-Id');
181 |
182 | // Show separate interface for setting auto reply message
183 | // Note: sieverules_multiplerules must be set to false and sieverules_use_elsif should be set to false
184 | $config['sieverules_autoreply_ui'] = FALSE;
185 |
186 | // For information on customising the rule file see "The structure of the rule file" in the README
187 |
--------------------------------------------------------------------------------
/CHANGELOG:
--------------------------------------------------------------------------------
1 | Roundcube Webmail SieveRules
2 | ============================
3 |
4 | * Add support for Variables 'set' function (Note: This is disabled by default)
5 | * Fix initial ruleset creation when multiple rulesets enabled
6 | * Fix rule moving using arrows in Classic skin and also when auto reply UI is enabled
7 |
8 | Version 2.3 (2015-04-18, rc-1.1)
9 | =================================================
10 | * Fix missing size_test function in vacation validation
11 | * Fix buggy display of auto reply rule
12 |
13 | Version 2.2 (2015-01-06, rc-1.1)
14 | =================================================
15 | * Merge sievevacation plugin into this one
16 | * Merge quickrules plugin into this one
17 | * Add connection options like 109bcce
18 | * Update after dev-accessibility merged to RC master
19 | * Update to TinyMCE 4 (731d190)
20 | * Add support for :matches
21 | * Drop IE6 support
22 |
23 | Version 2.1.2 (2014-03-30, rc-1.0)
24 | =================================================
25 | * Update pear package name in composer requirements
26 | * Update rule list row counting after change in core
27 |
28 | Version 2.1.1 (2013-12-29, rc-1.0)
29 | =================================================
30 | * Correct skin folder structure for Roundcube packaging
31 |
32 | Version 2.1 (2013-12-01, rc-1.0)
33 | =================================================
34 | * add second argument (ruleset name) to import filter detect() function
35 | * lib/Net Sieve.php moved to Roundcube /lib directory (4daaa09)
36 | * Use new settings_actions hook to create settings tab (c49c35c)
37 | * Improve (and simplify) folder name encoding in fileinto actions
38 | * Correct escaping of values (now done in the core)
39 | * Update config file var names to match core
40 |
41 | Version 2.0 (2013-05-19, rc-1.0)
42 | =================================================
43 | * Update default config for most common setups:
44 | sieverules_address_rules = FALSE
45 | sieverules_use_elsif = FALSE
46 | * Change file structure to match core and use include_path
47 | * Improve form submission
48 | * Add new config option "sieverules_address_rules" to toggle address/header command in tests
49 | * Improve default value setup - added sieverules_init hook
50 | * Add support for vacation-seconds extension
51 | **** code branching/tagging no longer sync'd to roundcube versions ****
52 |
53 | Version 1.18 (2013-03-16, rc-0.9)
54 | =================================================
55 | * Make vacation days parameter optional + move to advanced options
56 | * Show name and state of currently selected ruleset when multiple rulesets enabled
57 | * Automatically activate first ruleset even when multiple rulesets enabled
58 | * Add option to use "friendly" names in :from params
59 | * Rename default skin to classic (c40419bdfe)
60 | * rcube_ui > rcube_utils (r6091)
61 | * Update for Roundcube framework
62 | * Add advanced options for editheader extension to UI
63 | * Add basic support for editheader extension
64 |
65 | Version 1.17 (2012-07-07, rc-0.8)
66 | =================================================
67 | * Add sieverules_load hook
68 | * Update after r5781
69 | * Add inital support for Larry
70 |
71 | Version 1.16 (2012-01-21, rc-0.8)
72 | =================================================
73 | * Update code to use new timezone format (r5707)
74 | * Respect settings for html editor from core
75 | * Fix display for radio and checkboxes in notify action
76 | * Use core function to sanitize input
77 |
78 | Version 1.15 (2011-12-04, rc-0.7)
79 | =================================================
80 | * Fix escaping if lines starting with . in vacation message
81 | * Add support for virustest extension
82 | * Add HTML editor option for vacation messages
83 |
84 | Version 1.14 (2011-10-03, rc-0.6)
85 | =================================================
86 | * Add plugin hook sieverules_connect
87 | * Fix typo, hook name should be sieverules_save
88 | * Improve plugin hook sieverules_saved
89 | * Add plugin hook sieverules_saved
90 | * Improve fileinto :create, now requires mailbox extension
91 |
92 | Version 1.13 (2011-08-06, rc-0.6)
93 | =================================================
94 | * Add button to insert sig into vacation message
95 |
96 | Version 1.12 (2011-06-19, rc-0.6)
97 | =================================================
98 | * Use JQueryUI plugin for dialog box (r4715)
99 |
100 | Version 1.11 (2011-05-06, rc-0.6)
101 | =================================================
102 | * Allow users to enter folder names for fileinto
103 |
104 | Version 1.10 (2011-03-12, rc-0.5)
105 | =================================================
106 | * idn_to_ascii -> rcube_idn_to_ascii (r4484)
107 | * Fix double request when clicking on tab using Firefox (from r4472)
108 | * Enable :from and :handle options for vaction
109 |
110 | Version 1.9 (2011-01-29, rc-0.5)
111 | =================================================
112 | * Added support for SASL proxy authentication
113 | * Automatically import rulesets when auto_load_default is true, multiplerules is false and it is the active ruleset
114 | * Add debug logging
115 | * Add Internationalized Domain Name (IDNA) support (r4009)
116 | * Allow free entry of vacation alias addresses
117 | * Fix duplicate comparator listing
118 |
119 | Version 1.8 (2010-07-10, rc-0.4)
120 | =================================================
121 | * Update to Net_Sieve 1.3.0
122 | * Skin update after r3757
123 | * Update to Net_Sieve 1.2.2
124 | * Update skin r3733
125 | * Add support for %n and %d in host (r3701)
126 | * Add support for date extension
127 |
128 | Version 1.7 (2010-04-24, rc-0.4)
129 | =================================================
130 | * Update to Net_Sieve 1.2.1
131 | * Update to Net_Sieve 1.2.0
132 | * Use same folder path as RC by default
133 | * Use imap_connect after r3278
134 | * The Sender header is not always present, test From by default instead
135 |
136 | Version 1.6 (2010-02-06, rc-0.4)
137 | =================================================
138 | * Add hidden options to config file
139 | * Fix handeling of text in <> in adv editor
140 |
141 | Version 1.5 (2009-12-31, rc-0.4)
142 | =================================================
143 | * Fix default display when fileinto action is disabled
144 | * Add ruleset selector to advanced editor
145 | * Allow default headers, operators and flags to be overridden
146 | * Fix bug in body action
147 | * Allow file header to be overridden
148 | * Allow appending of original subject to vacation messages (requires variables
149 | extension in sieve)
150 | * Parse multiple email addresses when setting redirect
151 | * Fix bug in detection of vacation charset
152 | * Add support for multiple rulesets
153 | * Use core config function (WARNING: Complete re-write of config file!)
154 | * Some JS cleanup
155 |
156 | Version 1.4 (2009-11-08, rc-0.4)
157 | =================================================
158 | * Use frames to avoid full page reloads
159 | * Use rule cache to speed things up a little
160 |
161 | Version 1.3 (2009-11-01, rc-0.4)
162 | =================================================
163 | * Read custom settings from config (elsif etc)
164 |
165 | Version 1.2 (2009-10-25, rc-0.3)
166 | =================================================
167 | * Support folder name encoding
168 |
169 | Version 1.1 (2009-09-23, rc-0.3)
170 | =================================================
171 | * Support multiple hosts
172 |
173 | Version 1.0 (2009-09-16, rc-0.3)
174 | =================================================
175 | * Minor layout updates
176 | * Localisation updates
177 | * Add support for spamtest extension (by Vladislav Bogdanov)
178 | * Fix get_form_tags() call after r2755
179 | * Fix support for dovecot 1.2
180 | * Add support for copy extension
181 | * Add support for body extension
182 | * Better error reporting
183 | * Use imap->mod_mailbox()
184 | * Use better identity checking
185 | * Add possibility to easily switch between \r\n and \n in sieve file and also
186 | change indent
187 | * Swap split() for explode(), PHP 5.3 compatibility
188 | * Use list.js from the core
189 | * Added config var to auto load default rules when no user ones exist and skip
190 | setup screen
191 | * Added support ESC key to stop dragging
192 | * Added support for enotify and imap4flags
193 | * Added delete icon
194 | * Fixed JS bug when adding second rule
195 | * Fixed bug in rule moving
196 | * Added support for plugin template system
197 | * Added up/down/delete key support on the filters list
198 | * Added ability to drag examples to filters list
199 | * Added ability to drag rules within the filter list to change the order
200 | * Fixed display bug when deleting penultimate rule
201 | * Swapped decrypt_passwd for decrypt
202 | * Improved INGO rule filter
203 | * Added basic import system
204 | * Added Advanced editor - allows for editing of sieve file directly
205 | * Moved example rules to more obvious position
206 | * Updated list.js to latest version
207 | * Set busy while moving filter
208 | * Updated de_DE
209 | * Small changes to init functions for when labels are added to UI
210 | * Translated from sieverules patch
211 | * Added support for default rules file
212 | * Added support for example rules file
213 | * Expanded pre-defined rules to include comparator option
--------------------------------------------------------------------------------
/localization/sk_SK.inc:
--------------------------------------------------------------------------------
1 | Použiť pripravené pravidlá: Je dostupných niekoľko pravidiel. Chcete ich použiť?';
148 | $messages['importother'] = 'Importovať pravidlá: Ďalšia sada pravidiel bola nájdená v %s. Chcete ich importovať?';
149 | $messages['switchtoadveditor'] = 'Prepnutie do pokročilého editora Vám umožní priamo editovať súbor pravidel. Úpravy, ktoré tu urobíte môžu byť pre štandardný editor pravidiel nečitateľné a môžu sa pri uložení v ňom stratiť. Chcete pokračovať?';
150 | $messages['filterimported'] = 'Pravidlá boli úspešne importované';
151 | $messages['filterimporterror'] = 'Pravidlá nebolo možné importovať. Vyskytla sa chyba servera';
152 | $messages['notifyinvalidmethod'] = 'Vyzerá to, že metóda nie je zapísaná v platnom formáte. Musí to byť URI. Napr.: `mailto:adresa@domena.sk`.';
153 | $messages['nobodycontentpart'] = 'Zadajte prosím obsahovú časť testu';
154 | $messages['badoperator'] = 'Prepáčte, ale operátor ktorý ste vybrali nemôže byť v tejto podmienke použitý';
155 | $messages['filteractionerror'] = 'Akcia, ktorú ste vybrali nie je podporovaná serverom';
156 | $messages['filtermissingerror'] = 'Nepodarilo sa nájsť požadovanú podmienku';
157 | $messages['contentpartexp'] = 'Typ MIME, alebo špecifická časť správy, ktorá má byť testovaná. Napr.: `message/rfc822`, `text/html`, `audio/mp3` či `image`.';
158 |
--------------------------------------------------------------------------------
/localization/sv_SE.inc:
--------------------------------------------------------------------------------
1 | Exempel: Om Joe mailar dig på måndag och antalet dagar är 7 kommer han att få ett frånvaromeddelande på måndag, men sedan får han inget nytt förrän nästa måndag oavsett hur många gånger han mailar dig under veckan.';
126 | $messages['vachandleexp'] = 'Ett id kan använndas för att länka samman flera frånvaromeddelanden. När ett frånvaromeddelande med detta id har skickats kommer inga fler att frånvaromeddelanden med samma id att skickas under perioden.';
127 | $messages['vactoexp'] = 'Frånvaromeddelandet skickas enbart till din huvudsakliga adress + de adresser du valt i listan ovan. Har du fler mottagaradresser du vill kunna välja bland måste du först lägga till dessa under Profiler.';
128 | $messages['norulename'] = 'Fyll i ett namn på detta filter.';
129 | $messages['ruleexists'] = 'Ett filter med det valda namnet finns redan. Vänligen fyll i ett annat namn.';
130 | $messages['noheader'] = 'Fyll i namnet på brevhuvudet';
131 | $messages['headerbadchars'] = 'Fel: Brevhuvudet innehåller otillåtna tecken';
132 | $messages['noheadervalue'] = 'Fyll i ett värde som brevhuvudet ska testas mot';
133 | $messages['sizewrongformat'] = 'Fel: Meddelandestorlek måste anges i siffror';
134 | $messages['noredirect'] = 'Fyll i en e-postadress att omdirigera meddelanden till';
135 | $messages['redirectaddresserror'] = 'Fel: e-postadressen har inte giltigt format';
136 | $messages['noreject'] = 'Fyll i ett meddelande som ska skickas med brev som avvisas';
137 | $messages['vacnoperiod'] = 'Fyll i antalet dagar för den period under vilken meddelandet inte kommer att skickas på nytt till samma person';
138 | $messages['vacperiodwrongformat'] = 'Fel: Antalet dagar måste vara ett tal större än eller lika med 1';
139 | $messages['vacnomsg'] = 'Fyll i text som ska skickas i frånvaromeddelandet';
140 | $messages['notifynomethod'] = 'Fyll i med vilken metod notifieringen ska skickas';
141 | $messages['notifynomsg'] = 'Fyll i en notifieringstext';
142 | $messages['sieveruleexp'] = 'Definiera en eller flera regler som varje meddelande kommer att testas mot. Filter körs i den ordning de listas till vänster.';
143 | $messages['sieveactexp'] = 'Välj bland alternativen nedan. Dessa åtgärder kommer att utföras varje gång ett meddelande matchar reglerna ovan.';
144 | $messages['sieveheadershlp'] = 'Detta är några exempel på andra brevhuvudet som filtren kan testa. Välj ett brevhuvud för att lägga till det till regeln eller fyll i ett eget brevhuvud.';
145 | $messages['movingfilter'] = 'Flyttar filter...';
146 | $messages['noexistingfilters'] = 'Hittar inga existerande filter!';
147 | $messages['importdefault'] = 'Använd standardfilter: Det finns en uppsättning standardfilter tillgängliga. Skulle du vilja använda dem?';
148 | $messages['importother'] = 'Importera filter: En annan uppsättning filter från %s har upptäckts. Skulle du vilja importera dem till din nuvarande filteruppsättning?';
149 | $messages['switchtoadveditor'] = 'Med den avancerade editorn kan du redigera din filterfil direkt. Ändringar gjorda där kan gå förlorade om du senare redigerar dina filter via den vanliga filterredigeringen. Vill du fortsätta?';
150 | $messages['filterimported'] = 'Importen av filter lyckades';
151 | $messages['filterimporterror'] = 'Importen av filter misslyckades. Ett serverfel uppstod.';
152 | $messages['notifyinvalidmethod'] = 'Den angivna metoden har inte ett giltigt format, det måste vara en URI. Exempel: `mailto:alert@example.com`.';
153 | $messages['nobodycontentpart'] = 'Fyll i vilken del av innehållet som ska testas';
154 | $messages['badoperator'] = 'Den valda operatorn kan inte användas i den här regeln';
155 | $messages['filteractionerror'] = 'Den valda åtgärden stöds inte av servern';
156 | $messages['filtermissingerror'] = 'Kan inte hitta den önskade regeln';
157 | $messages['contentpartexp'] = 'Fyll i MIME-typ eller specifik del av meddelandet som ska testas. Exempel: `message/rfc822`, `text/html`, `audio/mp3`';
158 |
--------------------------------------------------------------------------------
/localization/es_AR.inc:
--------------------------------------------------------------------------------
1 | Por ejemplo, si Juan le manda un mensaje, unlunes, y tiene el periodo fijado en 7, Juan recibirá un aviso de vacaciones el lunes pero no recibirá otro hasta el siguiente lunes, sin importar cuántos emails le envíe durente la semana.';
140 | $messages['vachandleexp'] = 'Se puede usar un manejador para vincular diferentes mensajes de vacaciones todos juntos, una vez se envio un mensaje, no se enviará otro que tenga el mismo manejador durante el periodo definido.';
141 | $messages['vactoexp'] = 'Lista de destinatarios adicionales que será incluida en la auto respuesta. Si un destinatario no es su dirección principal, y no está en esta lista, no se le enviarán mensajes.';
142 | $messages['norulename'] = 'Debe asignar un nombre al filtro';
143 | $messages['ruleexists'] = 'Ya hay un filtro con ese nombre. Elija otro';
144 | $messages['noheader'] = 'Debe ingresar el nombre de la cabecera a verificar';
145 | $messages['headerbadchars'] = 'Error: La cabecera contiene caracteres no permitidos';
146 | $messages['noheadervalue'] = 'Ingrese un valor contra el cual comparar la cabecera';
147 | $messages['sizewrongformat'] = 'Error: El tamaño del mensaje debe ser numérico';
148 | $messages['noredirect'] = 'Ingrese una dirección de email a la cual redirigir los mensajes';
149 | $messages['redirectaddresserror'] = 'Error: Dirección inválida';
150 | $messages['noreject'] = 'Ingrese el texto a enviar con los mensajes rechazados';
151 | $messages['vacnoperiod'] = 'Ingrese el numero de dias para el periodo que el mensaje no será reenviado a la misma persona';
152 | $messages['vacperiodwrongformat'] = 'Error: El periodo debe ser 1 o más dias';
153 | $messages['vacnomsg'] = 'Ingrese un texto para el mensaje';
154 | $messages['notifynomethod'] = 'Ingrese el método por el cual se enviará la notificación';
155 | $messages['notifynomsg'] = 'Ingrese un texto para su mensaje';
156 | $messages['sieveruleexp'] = 'Debe definir una o más reglas contra las que se comprobarán los mensajes. Los filtros son ejecutados en el orden e nque aparecen a la izquierda de esta pantalla. Si se encuentra una coincidencia los demás filtros no se comprueban.';
157 | $messages['sieveactexp'] = 'Seleccione una de las opciones que figuran abajo. Esta acción será ejecutada por cada mensaje que concuerden con las reglas que figuran arriba.';
158 | $messages['sieveheadershlp'] = 'Debajo hay algunos ejemplos de cabeceras que pueden verificarse con filtros. Seleccione una cabecera para agregar a la regla o increse una propia en el cuadro de arriba.';
159 | $messages['movingfilter'] = 'Moviendo filtro...';
160 | $messages['noexistingfilters'] = '¡No se detectan filtros!';
161 | $messages['importdefault'] = 'Usar filtros por defecto: Hay un juego de filtros por defecto disponibles. ¿Quiere instalar una copia de esos filtros?';
162 | $messages['importother'] = 'Importar filtros: Se ha encontrado otro juego de filtros de %s. ¿Quiere importarlos a su lista de filtros?';
163 | $messages['switchtoadveditor'] = 'El editor avanzado le permite editar las reglas de sieve directamente. Cualquier cambio que haga será ilegible para el editor normal de reglas y se parderá si graba modificaciones con el editor normal. ¿Quiere continuar?';
164 | $messages['filterimported'] = 'Filtro importado correctamente';
165 | $messages['filterimporterror'] = 'No se pudo importar el filtro. Error en el servidor';
166 |
--------------------------------------------------------------------------------
/localization/zh_TW.inc:
--------------------------------------------------------------------------------
1 | For example: If Joe emails you on Monday and the period is set to 7 then Joe will receive an out of office message on Monday but will not get another one until the following Monday, no matter how many emails he sends an email during the week.';
148 | $messages['vachandleexp'] = 'A handle can be used to link different out of office messages together, once one message has been sent no other message with the same handle will be resent in that period.';
149 | $messages['vactoexp'] = 'List of additional recipient addresses which are included in the auto replying. If a mail\'s recipient is not your main address and it\'s not on this list, no message will be sent.';
150 | $messages['vactoexp_adv'] = 'Separate multiple aliases with a comma (,). For Example: test1@example.com,test2@example.com,test3@example.com';
151 | $messages['vactoexp_err'] = 'Error: Multiple aliases should be separated with a comma (,)';
152 | $messages['norulename'] = '請輸入規則名稱';
153 | $messages['ruleexists'] = '重複的規則名稱。請重新輸入';
154 | $messages['noheader'] = 'Please enter the name of the header to test';
155 | $messages['headerbadchars'] = 'Error: Header contains forbidden characters';
156 | $messages['noheadervalue'] = 'Please enter a value to test the header against';
157 | $messages['sizewrongformat'] = '錯誤: 郵件大小必須是數字';
158 | $messages['noredirect'] = '請輸入一個電子郵件位址以便轉寄訊息';
159 | $messages['redirectaddresserror'] = 'Error: Address appears invalid';
160 | $messages['noreject'] = 'Please enter a message to send with rejected email';
161 | $messages['vacnoperiod'] = 'Please enter a number of days for the period in which the message will not be resent to the same person';
162 | $messages['vacperiodwrongformat'] = 'Error: The period must be a number greater than or equal to 1';
163 | $messages['vacnomsg'] = 'Please enter some text for your message';
164 | $messages['notifynomethod'] = 'Please enter a method by which the notification should be sent';
165 | $messages['notifynomsg'] = 'Please enter some text for your message';
166 | $messages['sieveruleexp'] = '請定義一個或多個規則條件。每封信都會依照左側列表,採由上而下的順序比對規則條件,如果符合其中一個規則,後續的郵件規則將不被執行。';
167 | $messages['sieveruleexp_stop'] = 'Please define one or more rules against which each message will be tested. Filters are run in the order in which they appear on the left of this screen until a \'Stop\' action is met.';
168 | $messages['sieveactexp'] = '請從選單中選擇項目,這些動作將會套用在符合上述規則條件的郵件。';
169 | $messages['sieveheadershlp'] = 'Below are some examples of other headers that can be tested by the filters. Select a header to add it to the rule or enter a custom one in the box above.';
170 | $messages['movingfilter'] = '移動郵件規則...';
171 | $messages['noexistingfilters'] = 'No existing filters detected!';
172 | $messages['importdefault'] = 'Use default filters: There is a set of default filters available. Would you like to use these filters?';
173 | $messages['importother'] = 'Import filters: Another set of filters from %s has been found. Would you like to import these filters into your current set?';
174 | $messages['switchtoadveditor'] = 'Switching to the advanced editor allows you to edit the sieve file directly. Any changes here may be unreadable in the normal editor and may be lost when filters are saved using the normal editor. Do you wish to continue?';
175 | $messages['filterimported'] = 'Filter imported successfully';
176 | $messages['filterimporterror'] = '無法匯入郵件規則。(伺服器錯誤)';
177 | $messages['notifyinvalidmethod'] = 'The method does not appear to be written in a valid format, it must be a URI. For example: `mailto:alert@example.com`.';
178 | $messages['nobodycontentpart'] = 'Please enter a content part to test';
179 | $messages['badoperator'] = 'Sorry the operator you selected cannot be used in this rule';
180 | $messages['filteractionerror'] = 'The action you requested is not supported by the server';
181 | $messages['filtermissingerror'] = 'Unable to find the rule requested';
182 | $messages['contentpartexp'] = 'The MIME-type or specific part of the message which should be tested. For example: `message/rfc822`, `text/html`, `audio/mp3` or `image`.';
183 | $messages['delrulesetconf'] = 'Are you sure you want to delete this ruleset?';
184 | $messages['rulesetexists'] = 'A ruleset with this name already exists. Please enter another';
185 | $messages['copyexisting'] = 'Copy exiting ruleset: Would you like to copy filters from an existing ruleset into your current set?';
186 | $messages['filtercopied'] = 'Filter copied successfully';
187 | $messages['nosieverulesets'] = 'No rulesets found.';
188 | $messages['baddateformat'] = 'Error: Please enter the date in the format YYYY-MM-DD';
189 | $messages['badtimeformat'] = 'Error: Please enter the time in the format HH:MM:SS';
190 | $messages['missingfoldername'] = '錯誤: 請輸入資料夾名稱';
191 |
--------------------------------------------------------------------------------
/localization/hu_HU.inc:
--------------------------------------------------------------------------------
1 | Pédául: Ha János üzenetet küld Hétfőn és az időszak 7, válaszul kap egy Irodán kívül üzenetet ami nem lesz neki újraküldve a következő Hétfőig, bármennyi üzenetet is küld János ebben az időszakban.';
134 | $messages['vachandleexp'] = 'A mutató arra használható, hogy összekapcsoljon külömböző Irodán kívül üzeneteket. Ha egy ilyen üzenet el lett küldve, másik ilyen mutatóju üzenet nem lesz elküldve megadott időszakban';
135 | $messages['vactoexp'] = 'A többi címzett listája akiknek az automatikus válasz el lesz küldve. Ha egy címzett nem a fő cím én nincs ebben a listában, nem lesz neki üzenet küldve.';
136 | $messages['vactoexp_adv'] = 'Több álnevet vesszővel (,) lehet elválasztani. Pl. teszt1@pelda.hu, teszt2@pelda.hu, teszt3@pelda.hu';
137 | $messages['vactoexp_err'] = 'Hiba! Több álnév esetén vesszőt (,) kell használni';
138 | $messages['norulename'] = 'Irjon be egy nevet a szűrőnek';
139 | $messages['ruleexists'] = 'Ez a szűrőnév már létezik. Kérem irjon be másikat';
140 | $messages['noheader'] = 'Kérem irja be a fejléc nevét a teszthez';
141 | $messages['headerbadchars'] = 'Hiba: A fejléc illegális karaktert tartalmaz';
142 | $messages['noheadervalue'] = 'Kérem irjon be egy értéket a fejléc teszteléséhez';
143 | $messages['sizewrongformat'] = 'Hiba: az üzenet mérete szám kell legyen';
144 | $messages['noredirect'] = 'Kérem irjon be egy e-mail címet az átirányításhoz';
145 | $messages['redirectaddresserror'] = 'Hiba: A cím nem megfelelő';
146 | $messages['noreject'] = 'Írja be az üzenetet amit válaszolni szeretne a visszadobott üzenetre';
147 | $messages['vacnoperiod'] = 'Írja be a napok számát arra az időszakra mig az üzenet nem lesz újraküldve ugyanannak a címzettnek';
148 | $messages['vacperiodwrongformat'] = 'Hiba: az időszak 1-nél nagyobb vagy egyenlő lehet';
149 | $messages['vacnomsg'] = 'Írja be az üzenet szövegét';
150 | $messages['notifynomethod'] = 'Írja be a módszert, melyel az értesitést eloküldjük';
151 | $messages['notifynomsg'] = 'Írja be az üzenet szövegét';
152 | $messages['sieveruleexp'] = 'Kérem határozzon meg egy vagy több szabályt mellyel az üzenetek szelve lesznek. A szűrők olyan sorrendben futnak le, ahogyan megjelennek a baloldalon. Ha egy szűrőnek megfelel az üzenet, több szűrő nem hajtodik végre.';
153 | $messages['sieveactexp'] = 'Kérem válasszon a következő lehetőségekből. ezek minden üzenetnre végrehajtódnak, melyek megfelelnek a szabálynak.';
154 | $messages['sieveheadershlp'] = 'Alább néhány példa más fejlécre melyek tesztelhetőek a szűrőkkel. Válassza ki a fejlécet, adja hozzá a szűrőhőz vagy írjon be egyénit az alábbi szövegmezőbe.';
155 | $messages['movingfilter'] = 'Szűrő áthelyezése...';
156 | $messages['noexistingfilters'] = 'Nem találhatók szűrők';
157 | $messages['importdefault'] = 'Alapértelmezett szűrők használata: Alapértelmezett szűrők léteznek. Szeretné használni ezeket a szűrőket?';
158 | $messages['importother'] = 'Szűrők importálása: Egy másik szűrőcsoport %s től létezik. Be szeretné tölteni ezt a szűrőcsoportot?';
159 | $messages['switchtoadveditor'] = 'ÿtváltás halado szerkesztőre, mellyel Ön direktbe szerkesztheti a sieve fájlt. Az itt végzett változtatások nem lesznek olvashatóak a norlál szerkesztöben és elvesznek ha a szűrők mentésre kerülnek a normál szerkesztőben. Szeretné folytatni?';
160 | $messages['filterimported'] = 'A szűrő sikeresen importálva';
161 | $messages['filterimporterror'] = 'Nem sikerült a szűrő importálása. Szerver hiba';
162 | $messages['filteractionerror'] = 'A kért műveletet nem támogatja a szerver';
163 | $messages['filtermissingerror'] = 'Nem találom a keresett szabályt';
164 | $messages['delrulesetconf'] = 'Biztosan törölni szeretné ezt a szabálycsoportot?';
165 | $messages['rulesetexists'] = 'Már létezik ilyen nevű szabálycsoport. Írjon be másikat!';
166 | $messages['filtercopied'] = 'Szűrő sikeresen átmásolva';
167 | $messages['nosieverulesets'] = 'Nincs ilyen szabálycsoport.';
168 | $messages['baddateformat'] = 'Hiba: a dátumot ÉÉÉÉ-HH-NN formátumban kell megadni.';
169 | $messages['badtimeformat'] = 'Hiba: az időt ÓÓ:PP:MP fromátumban kell megadni';
170 | $messages['missingfoldername'] = 'Hiba! Írjon be egy mappanevet.';
171 |
--------------------------------------------------------------------------------
/localization/ca_ES.inc:
--------------------------------------------------------------------------------
1 | Per exemple, si en Jaume envia un misssatge un dilluns, i té un període fixat en 7, en Jaume rebrà un avís de vacances el dilluns però no en rebrà cap altre fins al proper dilluns, malgrat envïi més missatges durant la setmana.';
134 | $messages['vachandleexp'] = 'Es pot usar un manejador per a vincular diferents missatges de vacances tots junts. Un cop s\'envïi el missatge no se n\'enviarà un altre que contingut el mateix manejador durant el període definit.';
135 | $messages['vactoexp'] = 'Llista de destinataris addicionals que seran inclosos en l\'auto-resposta. Si el remitent no és la teva adreça principal i no està a la llista no se li enviaran missatges.';
136 | $messages['norulename'] = 'Cal assignar un nom al filtre';
137 | $messages['ruleexists'] = 'Ja existeix un filtre amb aquest nom. Escolleix-ne un altre';
138 | $messages['noheader'] = 'Heu d\'introduir el nom de la capçalera a verificar';
139 | $messages['headerbadchars'] = 'Error: La capçalera conté caràcters no permesos';
140 | $messages['noheadervalue'] = 'Ingresseu un valor per a comparar-lo amb la capçalera';
141 | $messages['sizewrongformat'] = 'Error: El tamany del missatge ha de ser numèric';
142 | $messages['noredirect'] = 'Introduïu una adreça de correu a la qual redirigir tots els missatges';
143 | $messages['redirectaddresserror'] = 'Error: Adreça no vàlida';
144 | $messages['noreject'] = 'Introduïu el text a enviar en els missatges rebutjats';
145 | $messages['vacnoperiod'] = 'Introduïu el número de dies per al període que el missatge no serà reenviat a la mateixa persona';
146 | $messages['vacperiodwrongformat'] = 'Error: El període ha de ser de més d\'1 dia';
147 | $messages['vacnomsg'] = 'Introduïu un text per al missatge';
148 | $messages['notifynomethod'] = 'Introduïu un mètode a través del qual s\'enviarà la notificació';
149 | $messages['notifynomsg'] = 'Introduïu un text per al seu missatge';
150 | $messages['sieveruleexp'] = 'Heu de definir una o més regles que s\'empraran per a comprar els missatges. Els filtres són executats en l\'ordre que apareixen a l\'esquerra d\'aquesta pantalla. Si es troba una coincidència, la resta del filtres no es comproven.';
151 | $messages['sieveactexp'] = 'Seleccioneu una de les opcions que apareixen a continuació. Aquesta acció serà executada per cada missatge que encaixi amb les regles definides a sobre d\'aquest text.';
152 | $messages['sieveheadershlp'] = 'A continuació hi ha alguns exemples de capçaleres que poden verificar-se amb filtres. Seleccioni\'n una per afegir a la regla o introduïu-ne una de pròpia en el requadre de dalt.';
153 | $messages['movingfilter'] = 'Movent filtre...';
154 | $messages['noexistingfilters'] = 'No s\'han detectat filtres!';
155 | $messages['importdefault'] = 'Emprar filtres per defecte: Hi ha un joc de filtres per defecte disponibles. Voleu instalar una còpia d\'aquests filtres?';
156 | $messages['importother'] = 'Importar filtres: S\'ha trobat un altre joc de filtres de %s. Voleu importar-los a la llsita de filtres?';
157 | $messages['switchtoadveditor'] = 'L\'editor avançat li permet editar les regles de sieve directament. Qualsevol canvi que faci serà il.legible per l\'editor normal de regles i es perderà si guarda modificacions amb l\'editor normal. Voleu continuar?';
158 | $messages['filterimported'] = 'Filtre importat correctament';
159 | $messages['filterimporterror'] = 'No s\'ha pogut importar el filtre . Error en el servidor';
160 | $messages['badoperator'] = 'Ho lamentem, però l\'operador seleccionat no es pot usar en aquesta regla.';
161 | $messages['filteractionerror'] = 'L\'acció requerida no està disponible en aquest servidor.';
162 | $messages['filtermissingerror'] = 'No s\'ha pogut localitzar la regla solicitada.';
163 | $messages['delrulesetconf'] = 'Esteu segur de voler eliminar aquest conjunt de regles?';
164 | $messages['rulesetexists'] = 'Ja existeix un conjunt de regles amb aquest nom. Escolliu-ne un altre.';
165 | $messages['copyexisting'] = ' Copia el següent conjunt de regles: Voleu importar els filtres d\'un conjunt de regles existents al conjunt actual?';
166 | $messages['filtercopied'] = 'Filtre copiat correctament';
167 | $messages['nosieverulesets'] = 'No s\'han trobat regles.';
168 |
--------------------------------------------------------------------------------
/localization/ro_RO.inc:
--------------------------------------------------------------------------------
1 | De exemplu: Dacă Ion iţi trimite un email luni şi perioada este setată la 7 zile, atunci Ion va primi un mesaj OUT of OFFICE luni însă nu va mai primi niciunul pana lunea următoare indiferent de câte mesaje îţi va trimite.';
136 | $messages['vachandleexp'] = 'Poate fi folosită o regulă pentru a lega mesaje OUT of OFFICE împreună. Odată trimis un mesaj, nu va mai fi trimis niciun mesaj cu aceeasi regulă.';
137 | $messages['vactoexp'] = 'Lista adreselor de email aditionale care vor fi incluse in raspunsul automat. ';
138 | $messages['norulename'] = 'Te rog sa introduci un nume pentru acest filtru.';
139 | $messages['ruleexists'] = 'Un filtru cu acest nume există deja. Te rog să introduci altul.';
140 | $messages['noheader'] = 'Te rog să introduci numele headerului pentru verificare.';
141 | $messages['headerbadchars'] = 'Eroare: Headerul conţine caractere ilegale.';
142 | $messages['noheadervalue'] = 'Te rog să introduci o valoare pentru a testa headerul.';
143 | $messages['sizewrongformat'] = 'Eroare: Mărimea mesajului trebuie să fie numerică .';
144 | $messages['noredirect'] = 'Te rog să introduci o adresă de email pentru a redirecţiona mesajele.';
145 | $messages['redirectaddresserror'] = 'Eroare: Adresa nu pare să fie validă.';
146 | $messages['noreject'] = 'Te rog să introduci un mesaj pentru a fi trimis impreună cu mesajul de respingere.';
147 | $messages['vacnoperiod'] = 'Te rog să introduci o perioadă de zile în care mesaju';
148 | $messages['vacperiodwrongformat'] = 'Eroare: Perioada trebuie să fie un număr mai mare sau egal cu 1.';
149 | $messages['vacnomsg'] = 'Te rog să introduci un text pentru mesaj.';
150 | $messages['notifynomethod'] = 'Te rog să introduci o metodă prin care să se trimită notificarea.';
151 | $messages['notifynomsg'] = 'Te rog să introduci un text pentru mesaj.';
152 | $messages['sieveruleexp'] = 'Te rog să introduci una sau mai multe reguli prin care va fi testat fiecare mesaj. Filtrele sunt aplicate în ordinea în care apar în stânga ecranului. Dacă este găsită o potrivire, niciun alt filtru nu va mai fi testat.';
153 | $messages['sieveruleexp_stop'] = 'Te rog să introduci una sau mai multe reguli prin care va fi testat fiecare mesaj. Filtrele sunt aplicate în ordinea în care apar în stânga ecranului până câand este găsită o acţiune de stopare.';
154 | $messages['sieveactexp'] = 'Te rog sa selectezi una din opţiunile de mai jos. Aceste acţiuni vor fi efectuate pentru orice mesaj ce se potriveşte regulilor de mai jos.';
155 | $messages['sieveheadershlp'] = 'Mai jos aveţi exemple de alte headere ce pot fi testate de către filtre. Selectează un header pentru a-l adăuga la regulă sau introdu una proprie în câmpul de mai sus.';
156 | $messages['movingfilter'] = 'Se mută filtrul ...';
157 | $messages['noexistingfilters'] = 'Nici un filtru existent ...';
158 | $messages['importdefault'] = 'Foloseşte filtrele implicite:Există un set de filtre implicite. Doreşti să foloseşti aceste filtre?';
159 | $messages['importother'] = 'Importă filtre Un alt set de filtre de la %s a fost găsit. Doreşti să imporţi aceste filtre in setul tău curent?';
160 | $messages['switchtoadveditor'] = 'Trecerea la editorul avansat iti permite să editezi fişierul sieve direct. Orice modificare faci aici poate fi de nedescifrat in editorul normal si poate fi pierdută atunci când filtrele sunt salvate folosind editorul normal. Doreşti să continui?';
161 | $messages['filterimported'] = 'Filtrul importat cu succes?';
162 | $messages['filterimporterror'] = 'Imposibil de importat filtrul. Eroare de server.';
163 | $messages['notifyinvalidmethod'] = 'Metoda nu pare a fi scrisă într-un format valid, trebuie să fie un URL. De ex. `mailto:ion@exemplu.com`';
164 | $messages['nobodycontentpart'] = 'Te rog să introduci un conţinut de probă.';
165 | $messages['badoperator'] = 'Îmi pare rău, operatorul selectat nu poate fi folosit în această regulă.';
166 | $messages['filteractionerror'] = 'Acţiunea cerută nu este suportată de server.';
167 | $messages['filtermissingerror'] = 'Imposibil de găsit regula cerută.';
168 | $messages['contentpartexp'] = 'Tipul MIME-Type sau o parte specifica din mesajul ce trebuie testat. De ex. `message/rfc822`, `text/html`, `audio/mp3` sau `image`.';
169 | $messages['delrulesetconf'] = 'Eşti sigur că doreşti să ştergi acest set de reguli?';
170 | $messages['rulesetexists'] = 'Un set de reguli cu acest nume există deja. Introdu altul.';
171 | $messages['copyexisting'] = 'Copiază setul de reguli existent: Doreşti să copiezi filtrele dintr-un set de reguli existent in setul tău curent?';
172 | $messages['filtercopied'] = 'Filtrul copiat cu succes.';
173 | $messages['nosieverulesets'] = 'Niciun set de reguli găsit.';
174 |
--------------------------------------------------------------------------------
/localization/sl_SI.inc:
--------------------------------------------------------------------------------
1 | Npr.: če Janez pošlje sporočilo v ponedeljek, in je ponovitev nastavljena na 7, potem bo dobil odgovor v ponedeljek, še enega pa ne bo dobil pred naslednjim ponedeljkom, ne glede na to, koliko sporočil bo poslal vmes.';
142 | $messages['vachandleexp'] = 'Z vzdevkom se lahko med seboj poveže več različnih samodejnih odgovorov - ko je bil samodejni odgovor z nekim vzdevkom poslan, ne bo v tej ponovitvi poslano noben drug odgovor z istim vzdevkom.';
143 | $messages['vactoexp'] = 'Seznam dodatnih naslovov prejemnikov, ki bodo vključeni pri samodejnem odgovarjanju. Če naslova prejemnika sporočila ni na tem seznamu, samodejni odgovor na sporočilo ne bo poslan.';
144 | $messages['vactoexp_adv'] = 'Naslove ločite z vejicami. Primer: naslov1@example.com,naslov2@example.org,naslov3@example.com';
145 | $messages['vactoexp_err'] = 'Napaka: naslovi morajo biti ločeni z vejicami (,)';
146 | $messages['norulename'] = 'Vnesite ime pravila';
147 | $messages['ruleexists'] = 'Pravilo s tem imenom že obstaja. Vnesite drugo ime';
148 | $messages['noheader'] = 'Vnesite ime polja';
149 | $messages['headerbadchars'] = 'Napaka: polje vsebuje nedovoljene znake';
150 | $messages['noheadervalue'] = 'Vnesite vrednost, s katero se preizkuša polje';
151 | $messages['sizewrongformat'] = 'Napaka: velikost sporočila mora biti število';
152 | $messages['noredirect'] = 'Vnestie e-poštni naslov, na katerega naj se preusmeri sporočilo';
153 | $messages['redirectaddresserror'] = 'Napaka: naslov ni videti veljaven';
154 | $messages['noreject'] = 'Vnesite sporočilo, ki naj se pošlje z zavrnitvijo';
155 | $messages['vacnoperiod'] = 'Vnesite število dni, po preteku katerih se bo samodejni odgovor ponovil';
156 | $messages['vacperiodwrongformat'] = 'Napaka: ponovitev mora biti večja ali enaka 1';
157 | $messages['vacnomsg'] = 'Vnesite besedilo sporočila';
158 | $messages['notifynomethod'] = 'Vnesite metodo, s katero naj bo poslano sporočilo';
159 | $messages['notifynomsg'] = 'Vnesite besedilo sporočila';
160 | $messages['sieveruleexp'] = 'Pripravite enega ali več pogojev, pod katerimi bo to pravilo uveljavljeno. Pravila se izvajajo v vrstnem redu, po katerem so razvrščena na seznamu na levi strani. Če sporočilo ustreza pogojem, se nadaljna pravila ne bodo izvedla.';
161 | $messages['sieveruleexp_stop'] = 'Pripravite enega ali več pogojev, pod katerimi bo to pravilo uveljavljeno. Pravila se izvajajo v vrstnem redu, po katerem so razvrščena na seznamu na levi strani, in se izvajajo do dejanja ›Prenehaj‹.';
162 | $messages['sieveactexp'] = 'Izberite eno od spodnjih možnosti. Ta dejanja se bodo izvedla za vsako sporočilo, ki ustreza zgornjim pravilom.';
163 | $messages['sieveheadershlp'] = 'Spodaj je nekaj primerov drugih polj, ki jih lahko preizkušajo pravila. Izberite polje s seznama, ali pa vnesite poljubno polje.';
164 | $messages['movingfilter'] = 'Premikam pravilo...';
165 | $messages['noexistingfilters'] = 'Obstoječa pravila niso bila zaznana!';
166 | $messages['importdefault'] = 'Uporabi privzeta pravila: na voljo so privzeta pravila. Ali jih želite uvoziti?';
167 | $messages['importother'] = 'Uvozi filtre: Najdena je bila druga zbirka pravil %s. Ali želite uvoziti ta pravila v trenutno zbirko?';
168 | $messages['switchtoadveditor'] = 'Preklop v napredni urejevalnik omogoča neposredno urejanje datoteke sieve. Sprememb, ki jih naredite v naprednem urejevalniku, običajni urejevalnik morda ne bo razumel, in se lahko izgubijo, če pravila shranite z običajnim urejevalnikom. Ali želite nadaljevati?';
169 | $messages['filterimported'] = 'Pravilo uspešno uvoženo';
170 | $messages['filterimporterror'] = 'Pravila ni bilo mogoče uvoziti. Prišlo je do napake strežnika';
171 | $messages['notifyinvalidmethod'] = 'Metoda mora biti zapisana v URI formatu, npr.: ›mailto:alert@example.com‹.';
172 | $messages['nobodycontentpart'] = 'Vnesite del vsebine za preizkus';
173 | $messages['badoperator'] = 'Izbranega operaterja ne morete uporabiti s tem pravilom';
174 | $messages['filteractionerror'] = 'Strežnik ne podpira željenega dejanja';
175 | $messages['filtermissingerror'] = 'Željenega pravila ni bilo mogoče najti';
176 | $messages['contentpartexp'] = 'MIME vrsta ali specifičen del sporočila, ki naj se testira. Npr.: ›message/rfc822‹, ›text/html‹, ›audio/mp3‹ ali ›image‹.';
177 | $messages['delrulesetconf'] = 'Ali ste prepričani, da želite izbrisati izbrano zbirko?';
178 | $messages['rulesetexists'] = 'Zbirka s tem imenom že obstaja. Vnesite drugo ime';
179 | $messages['copyexisting'] = 'Kopiraj obstoječo zbirko: Ali želite kopirati pravila iz obstoječe zbirke v trenutno?';
180 | $messages['filtercopied'] = 'Pravilo uspešno prekopirano';
181 | $messages['nosieverulesets'] = 'Ni zbirk.';
182 | $messages['baddateformat'] = 'Napaka: vnesite datum v obliki LLLL-MM-DD';
183 | $messages['badtimeformat'] = 'Napaka: vnesite čas v obliki UU:MM:SS';
184 |
--------------------------------------------------------------------------------
/localization/uk_UA.inc:
--------------------------------------------------------------------------------
1 | Наприклад: Якщо користувач написав вам листа в понеділок і ви встановили періодичність 7 (днів), то користувач отримає повідомлення про вашу відсутність в понеділок, і більше не буде отримувати таких повідомлень до наступного понеділка, навіть якщо він писав вам багато разів.';
141 | $messages['vachandleexp'] = 'Мітка пов"язує декілька повідомлень про відсутність разом: після того, як одне з них було відправлено, інші повідомлення з тією ж міткою не будуть відправлятися протягом цього періоду ';
142 | $messages['vactoexp'] = 'Список додаткових адрес одержувачів, для яких буде працювати "автовідповідач". Відповіді не будуть відправлятися, якщо адреси одержувача отриманого повідомлення немає в цьому списку.';
143 | $messages['vactoexp_adv'] = 'Декілька адрес розділяються комою (,). Наприклад, test1@example.com,test2@example.com,test3@example.com.';
144 | $messages['vactoexp_err'] = 'Помилка: Декілька адрес повинні бути розділені комами.';
145 | $messages['norulename'] = 'Будь-ласка, введіть назву для цього фільтру.';
146 | $messages['ruleexists'] = 'Фільтр з такою назвою вже існує. Введіть іншу назву фільтру.';
147 | $messages['noheader'] = 'Будь-ласка, введіть назву заголовку для перевірки.';
148 | $messages['headerbadchars'] = 'Помилка: вказаний рядок містить заборонені символи.';
149 | $messages['noheadervalue'] = 'Будь-ласка, введіть значення для перевірки заголовку.';
150 | $messages['sizewrongformat'] = 'Помилка: розмір повідомлення має бути числовим.';
151 | $messages['noredirect'] = 'Будь-ласка, введіть адресу електронної пошти для перенаправлення повідмолення.';
152 | $messages['redirectaddresserror'] = 'Помилка: введено неправильну адресу.';
153 | $messages['noreject'] = 'Будь-ласка напишіть текст повідомлення.';
154 | $messages['vacnoperiod'] = 'Будь-ласка, введіть періодчиність відсилання повідомлень';
155 | $messages['vacperiodwrongformat'] = 'Помилка: Періодичність повинна бути не від"ємним цілим числом';
156 | $messages['vacnomsg'] = 'Будь-ласка напишіть текст повідомлення.';
157 | $messages['notifynomethod'] = 'Будь-ласка, введіть спосіб відправки повідомлення.';
158 | $messages['notifynomsg'] = 'Будь-ласка напишіть текст повідомлення.';
159 | $messages['sieveruleexp'] = 'Будь-ласка, введіть одне або декілька правил, згідно яких будуть перевірятися повідомлення. Фільтри працюють в тому порядку, в якому вони з"являються зліва. Якщо відповідність знайдено, інші фільтри тестуватися не будуть.';
160 | $messages['sieveactexp'] = 'Будь-ласка, виберіть одну або декілька дій. Ці дії будуть виконуватися для кожного повідомлення, яке відповідає вищевказаним правилам.';
161 | $messages['sieveheadershlp'] = 'Нижче знаходяться декілька прикладів заголовків, які можуть бути перевірені фільтрами. Виберіть заголовок, щоб додати його, або введіть його у поле введення.';
162 | $messages['movingfilter'] = 'Переміщення фільтру...';
163 | $messages['noexistingfilters'] = 'Фільтрів не знайдено!';
164 | $messages['importdefault'] = ' Фільтри за замовчуванням: Доступний набір фільтрів за замовчуванням. Використати?';
165 | $messages['importother'] = 'Імпорт фільтрів: Знайдено набір фільтрів від додатку %s. Імпортувати?';
166 | $messages['switchtoadveditor'] = 'Перемикання в режим розширеного редактору дозволяє редагувати вихідний текст сценарію \'sieve\'. Зміни, зроблені в цьому режимі, можуть не сприйматися графічним інтерфейсом, і можуть бути втрачені в разі збереження фільтрів в графічному інтерфейсі. Продовжити? ';
167 | $messages['filterimported'] = 'Фільтр успішно імпортований';
168 | $messages['filterimporterror'] = 'Помилка серверу під час імпорту фільтра. Імпорт не виконано';
169 | $messages['notifyinvalidmethod'] = 'Формат методу є невірним. Потрібно вказати URL, наприклад: «mailto: alert@example.com».';
170 | $messages['nobodycontentpart'] = 'Вкажіть частину тіла повідомлення';
171 | $messages['badoperator'] = 'Такий оператор не може використовуватися в даному правилі';
172 | $messages['filteractionerror'] = 'Дія, не підтримується сервером';
173 | $messages['filtermissingerror'] = 'Вказане правило не існує';
174 | $messages['contentpartexp'] = 'MIME-тип або частина повідомлення для перевірки. Наприклад, «message/rfc822», «text/html», «audio/mp3» або «image».';
175 | $messages['delrulesetconf'] = 'Дійсно видалити цей набір правил?';
176 | $messages['rulesetexists'] = 'Набір правил з такою назвою вже існує. Виберіть іншу назву.';
177 | $messages['copyexisting'] = 'Копіювання існуючого набору правил: Скопіювати фільтри з існуючого набору правил в поточний набір?';
178 | $messages['filtercopied'] = 'Фільтри успішно скопійовані';
179 | $messages['nosieverulesets'] = 'Набір правил не знайдено.';
180 | $messages['baddateformat'] = 'Помилка: Дата повинна вводитися в форматі РРРР-ММ-ДД';
181 | $messages['badtimeformat'] = 'Помилка: Час має бути введені в форматі ГГ:ХХ:СС';
182 |
--------------------------------------------------------------------------------
/localization/ru_RU.inc:
--------------------------------------------------------------------------------
1 | Например: Если Вася написал вам письмо в понедельник и вы установили периодичность в 7 (дней), то Вася получит сообщение о Вашем отсутствии в понедельник, и больше не будет получать таких сообщений до следующего понедельника, даже если он писал вам много раз.';
141 | $messages['vachandleexp'] = 'Метка связывает несколько сообщений об отсутствии вместе: после того, как одно из них было отправлено, другие сообщения с той же меткой не будут отправляться в течение этого периода..';
142 | $messages['vactoexp'] = 'Список дополнительных адресов получателей, для которых будет работать "автоответчик". Ответы не будут отправляться, если адреса получателя принятого сообщения нет в этом списке.';
143 | $messages['vactoexp_adv'] = 'Несколько адресов разделяются запятой (,). Например, test1@example.com,test2@example.com,test3@example.com.';
144 | $messages['vactoexp_err'] = 'Ошибка: Несколько ардесов должны быть разделены запятыми.';
145 | $messages['norulename'] = 'Пожалуйста, введите имя для этого фильтра.';
146 | $messages['ruleexists'] = 'Фильтр с таким именем уже существует. Введите другое имя фильтра.';
147 | $messages['noheader'] = 'Пожалуйста, введите имя заголовка для проверки.';
148 | $messages['headerbadchars'] = 'Ошибка: указанная строка содержит запрещенные символы.';
149 | $messages['noheadervalue'] = 'Пожалуйста, введите значение для проверки заголовка.';
150 | $messages['sizewrongformat'] = 'Ошибка: размер сообщения должен быть числовым.';
151 | $messages['noredirect'] = 'Пожалуйста, введите адрес электронной почты для перенаправки сообщения.';
152 | $messages['redirectaddresserror'] = 'Ошибка: введен неверный адрес.';
153 | $messages['noreject'] = 'Пожалуйста, введите текст сообщения.';
154 | $messages['vacnoperiod'] = 'Пожалуйста, укажите периодичность отсылки уведомлений';
155 | $messages['vacperiodwrongformat'] = 'Ошибка: Периодичность должна быть положительным целым числом';
156 | $messages['vacnomsg'] = 'Пожалуйста, введите текст сообщения.';
157 | $messages['notifynomethod'] = 'Пожалуйста, введите способ отправки уведомления.';
158 | $messages['notifynomsg'] = 'Пожалуйста, введите текст сообщения.';
159 | $messages['sieveruleexp'] = 'Пожалуйста, введите одно или несколько правил, согласно которым будут проверяться сообщения. Фильтры работают в том порядке, в котором они появляются слева. Если соответствие найдено, остальные фильтры тестироваться не будут.';
160 | $messages['sieveactexp'] = 'Пожалуйста, выберите одно или несколько действий. Эти действия будут выполняться для каждого сообщения, соответствующего вышеуказанным правилам.';
161 | $messages['sieveheadershlp'] = 'Ниже находятся несколько примеров заголовков, которые могут быть проверены фильтрами. Выберите заголовок, чтобы добавить его, либо введите другой в поле ввода.';
162 | $messages['movingfilter'] = 'Перемещение фильтра...';
163 | $messages['noexistingfilters'] = 'Фильтров не найдено!';
164 | $messages['importdefault'] = 'Фильтры по умолчанию: Доступен набор фильтров по умолчанию. Использовать?';
165 | $messages['importother'] = 'Импорт фильтров: Найден набор фильтров от приложения %s. Импортировать?';
166 | $messages['switchtoadveditor'] = 'Переключение в режим расширенного редактора позволяет редактировать исходный текст сценария \'sieve\'. Изменения, сделанные в этом режиме, могут не восприниматься графическим интерфейсом, и могут быть потеряны в случае сохранения фильтров в графическом интерфейсе. Продолжить?';
167 | $messages['filterimported'] = 'Фильтр успешно импортирован';
168 | $messages['filterimporterror'] = 'Ошибка сервера во время импорта фильтра. Импорт не выполнен';
169 | $messages['notifyinvalidmethod'] = 'Формат метода неверен. Нужно указать URI, например: «mailto:alert@example.com».';
170 | $messages['nobodycontentpart'] = 'Укажите часть тела сообщения';
171 | $messages['badoperator'] = 'Такой оператор не может использоваться в данном правиле';
172 | $messages['filteractionerror'] = 'Запрошенное действие не поддерживается сервером';
173 | $messages['filtermissingerror'] = 'Указанное правило не существует';
174 | $messages['contentpartexp'] = 'MIME-тип или часть сообщения для проверки. Например, «message/rfc822», «text/html», «audio/mp3» или «image».';
175 | $messages['delrulesetconf'] = 'Действительно удалить этот набор правил?';
176 | $messages['rulesetexists'] = 'Набор правил с таким названием уже существует. Выберите другое название.';
177 | $messages['copyexisting'] = 'Копирование существующего набора правил: Скопировать фильтры из существующего набора правил в текущий набор?';
178 | $messages['filtercopied'] = 'Фильтры успешно скопированы';
179 | $messages['nosieverulesets'] = 'Наборы правил не найдены.';
180 | $messages['baddateformat'] = 'Ошибка: Дата должна вводиться в формате ГГГГ-ММ-ДД';
181 | $messages['badtimeformat'] = 'Ошибка: Время должно вводиться в формате ЧЧ:ММ:СС';
182 |
--------------------------------------------------------------------------------
/localization/fi_FI.inc:
--------------------------------------------------------------------------------
1 | Esimerkki: Jaakko lähettää sinulle sähköpostia maanantaina ja aikaväliksi on valittu 7 päivää. Jaakko saa poissaoloviestisi maanantaina, mutta jos hän lähettää sinulle samalla viikolla lisää viestejä, uutta ilmoitusta ei lähetetä ennen seuraavaa maanantaita.';
142 | $messages['vachandleexp'] = 'Ryhmittelyä voidaan käyttää yhdistämään eri poissaoloviestit toisiinsa. Kun yksi viesti on lähetetty, muita saman ryhmittelyn viestejä ei lähetetä kyseisen aikavälin aikana.';
143 | $messages['vactoexp'] = 'Lista muista vastaanottajien sähköpostiosoitteista, jotka liitetään automaattivastaukseen. Mikäli viestin vastaanottaja ei ole pääosoitteesi eikä löydy tältä listalta, mitään viestiä ei lähetetä.';
144 | $messages['vactoexp_adv'] = 'Erottele aliakset pilkulla (,). Esimerkki: testi1@esimerkki.fi,testi2@esimerkki.fi,testi3@esimerkki.fi';
145 | $messages['vactoexp_err'] = 'Virhe: aliakset tulee erotella pilkulla (,)';
146 | $messages['norulename'] = 'Anna suotimelle nimi';
147 | $messages['ruleexists'] = 'Tällä nimellä on jo suodin. Anna uusi nimi';
148 | $messages['noheader'] = 'Anna testattavan otsikkotiedon nimi';
149 | $messages['headerbadchars'] = 'Virhe: otsikkotiedossa on kiellettyjä merkkejä';
150 | $messages['noheadervalue'] = 'Anna arvo, jolla otsikkotietoa testataan';
151 | $messages['sizewrongformat'] = 'Virhe: viestin koon täytyy olla numeerinen';
152 | $messages['noredirect'] = 'Anna osoite, johon viestit ohjataan';
153 | $messages['redirectaddresserror'] = 'Virhe: osoite ei ole kelvollinen';
154 | $messages['noreject'] = 'Anna viesti, joka liitetään hylättyyn sähköpostiin';
155 | $messages['vacnoperiod'] = 'Ilmoita aikaväli (päivien määrä), jona samalle henkilölle ei lähetetä uutta viestiä.';
156 | $messages['vacperiodwrongformat'] = 'Virhe: aikavälin täytyy olla suurempi tai yhtä suuri luku kuin 1';
157 | $messages['vacnomsg'] = 'Kirjoita viestiisi jotain sisältöä';
158 | $messages['notifynomethod'] = 'Määrittele metodi, jota käyttäen ilmoitus lähetetään.';
159 | $messages['notifynomsg'] = 'Kirjoita viestiisi jotain sisältöä';
160 | $messages['sieveruleexp'] = 'Määrittele yksi tai useampia sääntöjä, joihin jokaista viestiä testataan. Suotimet suoritetaan siinä järjestyksessä, jossa ne esiintyvät vasemmalla olevalla listalla. Kun jokin suotimista täsmää, loppuja suotimia ei suoriteta.';
161 | $messages['sieveruleexp_stop'] = 'Määrittele yksi tai useampia sääntöjä, joihin jokaista viestiä testataan. Suotimet suoritetaan siinä järjestyksessä, jossa ne esiintyvät vasemmalla olevalla listalla, kunnes keskeytyssääntö tavataan.';
162 | $messages['sieveactexp'] = 'Valitse jokin alla olevista vaihtoehdoista. Toiminnot suoritetaan kaikille viesteille, jotka täsmäävät yllä oleviin sääntöihin.';
163 | $messages['sieveheadershlp'] = 'Alla on esimerkkejä otsikkotiedoista, joita voidaan testata suotimilla. Valitse jokin otsikkotieto listasta tai määrittele muu otsikkotieto yllä olevaan kenttään.';
164 | $messages['movingfilter'] = 'Siirretään suodinta...';
165 | $messages['noexistingfilters'] = 'Suotimia ei löytynyt!';
166 | $messages['importdefault'] = 'Käytä oletussuotimia: Suotimia on saatavilla. Haluatko käyttää näitä suotimia?';
167 | $messages['importother'] = 'Tuo suotimia: Suotimia löydettiin palvelusta %s. Haluatko lisätä nämä suotimet nykyisiin suotimiin?';
168 | $messages['switchtoadveditor'] = 'Laajennetulla editorilla voit muokata seulatiedostoa suoraan. Tehdyt muutokset eivät välttämättä ole luettavissa tavallisessa editorissa ja saattavat hävitä, jos suotimia muokataan tavallisella editorilla. Haluatko jatkaa?';
169 | $messages['filterimported'] = 'Suodin lisätty onnistuneesti';
170 | $messages['filterimporterror'] = 'Palvelinvirhe. Suotimia ei lisätty';
171 | $messages['notifyinvalidmethod'] = 'Metodi ei ole kelvollisessa muodossa. Sen täytyy olla osoite. Esimerkki: mailto:virhe@esimerkki.fi';
172 | $messages['nobodycontentpart'] = 'Anna testattava sisältöosa';
173 | $messages['badoperator'] = 'Valitsemaasi operaattoria ei voida käyttää tässä säännössä';
174 | $messages['filteractionerror'] = 'Palvelin ei tue valitsemaasi toimintoa';
175 | $messages['filtermissingerror'] = 'Valittua sääntöä ei löytynyt';
176 | $messages['contentpartexp'] = 'MIME-tyyppi tai tietty viestin osa, jota testataan. Esimerkki: "message/rfc822", "text/html", "audio/mp3" tai "image"';
177 | $messages['delrulesetconf'] = 'Haluatko varmasti poistaa tämän säännöstön?';
178 | $messages['rulesetexists'] = 'Tällä nimellä on jo säännöstö. Anna uusi nimi';
179 | $messages['copyexisting'] = 'Kopioi säännöstö: Haluatko kopioida toisen säännöstön nykyisiin sääntöihisi?';
180 | $messages['filtercopied'] = 'Suodin kopioitu onnistuneesti';
181 | $messages['nosieverulesets'] = 'Säännöstöä ei löytynyt.';
182 | $messages['baddateformat'] = 'Virhe: anna päivämäärä muodossa VVVV-KK-PP';
183 | $messages['badtimeformat'] = 'Virhe: anna aika muodossa TT:MM:SS';
184 | $messages['missingfoldername'] = 'Virhe: anna kansiolle nimi';
185 |
--------------------------------------------------------------------------------
/localization/pt_BR.inc:
--------------------------------------------------------------------------------
1 | Por exemplo: Se João lhe enviar e-mails na segunda-feira e o período estiver definido para 7 dias, João irá receber uma mensagem de Fora do Escritório na segunda-feira, mas não irá receber mais nenhuma até à segunda-feira seguinte, não importando quantos e-mails ele lhe envie durante a semana.';
143 | $messages['vachandleexp'] = 'Um identificador pode ser usado para ligar as diferentes mensagens de Fora do Escritório em conjunto, uma vez que uma mensagem foi enviada nenhuma outra com o mesmo identificador será enviada.';
144 | $messages['vactoexp'] = 'Lista de endereços de destinatários adicionais que estão incluídos na resposta automática. Se um destinatário de e-mail não for seu endereço principal e não estiver nesta lista, nenhuma mensagem será enviada.';
145 | $messages['norulename'] = 'Por favor, indique um nome para este filtro';
146 | $messages['ruleexists'] = 'Já existe um filtro com este nome. Por favor, indique outro';
147 | $messages['noheader'] = 'Por favor, indique o nome do cabeçalho para testar';
148 | $messages['headerbadchars'] = 'Erro: O cabeçalho contém caracteres proibidos';
149 | $messages['noheadervalue'] = 'Por favor indique um valor para testar o cabeçalho contra';
150 | $messages['sizewrongformat'] = 'Erro: O tamanho da mensagem deve ser numérico';
151 | $messages['noredirect'] = 'Indique um endereço de e-mail para redirecionar as mensagens';
152 | $messages['redirectaddresserror'] = 'Erro: O endereço de e-mail parece ser inválido';
153 | $messages['noreject'] = 'Indique uma mensagem para enviar juntamente com o e-mail rejeitado';
154 | $messages['vacnoperiod'] = 'Por favor insira um número de dias para o período em que a mensagem não será reenviado para a mesma pessoa';
155 | $messages['vacperiodwrongformat'] = 'Erro: O período deve ser um número maior ou igual a 1';
156 | $messages['vacnomsg'] = 'Insira o texto para a sua mensagem';
157 | $messages['notifynomethod'] = 'Por favor, indique um método pelo qual a notificação deve ser enviada';
158 | $messages['notifynomsg'] = 'Insira o texto para a sua mensagem';
159 | $messages['sieveruleexp'] = 'Por favor, defina uma ou mais regras sobre as quais cada mensagem será testada. Os filtros são executados na ordem em que aparecem à esquerda da tela, se for encontrada uma correspondência mais nenhum filtro será testado.';
160 | $messages['sieveruleexp_stop'] = 'Por favor, defina uma ou mais regras sobre as quais cada mensagem será testada. Os filtros são executados na ordem em que aparecem à esquerda da tela até uma ação de \'Stop\' ser encontrada.';
161 | $messages['sieveactexp'] = 'Por favor, selecione uma das opções abaixo. Essas ações serão realizadas para qualquer mensagem correspondente à(s) regra(s) acima.';
162 | $messages['sieveheadershlp'] = 'Abaixo estão alguns exemplos de outros cabeçalhos que podem ser testados pelos filtros. Selecione um cabeçalho para adicioná-lo à regra, ou introduza um personalizado na caixa acima.';
163 | $messages['movingfilter'] = 'Movendo filtro...';
164 | $messages['noexistingfilters'] = 'Não foi detectado nenhum filtro existente!';
165 | $messages['importdefault'] = 'Usar filtros predefinidos: Há um conjunto de filtros predefinidos disponíveis. Gostaria de usar esses filtros?';
166 | $messages['importother'] = 'Importação de filtros:Foi encontrado outro conjunto de filtros de %s. Gostaria de importar esses filtros para o seu conjunto actual?';
167 | $messages['switchtoadveditor'] = 'Mudando para o editor avançado é possível editar o arquivo Sieve diretamente. Quaisquer alterações aqui efetuadas podem ser ilegíveis no editor normal e podem ser perdidas quando os filtros são guardados usando o editor normal. Deseja continuar?';
168 | $messages['filterimported'] = 'Filtro importado com sucesso';
169 | $messages['filterimporterror'] = 'Não foi possível importar o filtro. Ocorreu um erro no servidor.';
170 | $messages['notifyinvalidmethod'] = 'O método parece não estar escrito num formato válido, ele deve ser uma URL. Por exemplo: "mailto: alert@example.com».';
171 | $messages['nobodycontentpart'] = 'Por favor, indique uma parte de conteúdo para testar';
172 | $messages['badoperator'] = 'O operador seleccionado não pode ser usado nesta regra';
173 | $messages['filteractionerror'] = 'A ação solicitada não é suportada pelo servidor';
174 | $messages['filtermissingerror'] = 'Não foi possível encontrar a regra solicitada';
175 | $messages['contentpartexp'] = 'O tipo de MIME ou parte específica da mensagem que deve ser testado. Por exemplo: `text/html`, `audio/mp3` or `image`.';
176 | $messages['delrulesetconf'] = 'Tem certeza que quer eliminar este conjunto de regras?';
177 | $messages['rulesetexists'] = 'Um conjunto de regras com este nome já existe. Por favor, indique outro nome';
178 | $messages['copyexisting'] = 'Copiar conjunto de regras existente:Gostaria de copiar os filtros de um conjunto de de regras existente para o seu conjunto actual?';
179 | $messages['filtercopied'] = 'Filtro copiado com sucesso';
180 | $messages['nosieverulesets'] = 'Nenhum conjunto de regras encontrado.';
181 | $messages['baddateformat'] = 'Erro: Indique a data no formato AAAA-MM-DD';
182 | $messages['badtimeformat'] = 'Erro: Indique a hora no formato HH:MM:SS';
183 |
--------------------------------------------------------------------------------