Completed
Push — master ( fa948f...93df9d )
by cam
06:55 queued 02:09
created
prive/objets/liste/auteurs_fonctions.php 1 patch
Indentation   +74 added lines, -74 removed lines patch added patch discarded remove patch
@@ -16,7 +16,7 @@  discard block
 block discarded – undo
16 16
  * @package SPIP\Core\Fonctions
17 17
  **/
18 18
 if (!defined('_ECRIRE_INC_VERSION')) {
19
-	return;
19
+    return;
20 20
 }
21 21
 
22 22
 /**
@@ -29,29 +29,29 @@  discard block
 block discarded – undo
29 29
  * @param bool $left
30 30
  */
31 31
 function critere_compteur_articles_filtres_dist($idb, &$boucles, $crit, $left = false) {
32
-	$boucle = &$boucles[$idb];
32
+    $boucle = &$boucles[$idb];
33 33
 
34
-	$_statut = calculer_liste($crit->param[0], array(), $boucles, $boucle->id_parent);
34
+    $_statut = calculer_liste($crit->param[0], array(), $boucles, $boucle->id_parent);
35 35
 
36
-	$not = '';
37
-	if ($crit->not) {
38
-		$not = ", 'NOT'";
39
-	}
40
-	$boucle->from['LAA'] = 'spip_auteurs_liens';
41
-	$boucle->from_type['LAA'] = 'left';
42
-	$boucle->join['LAA'] = array("'auteurs'", "'id_auteur'", "'id_auteur'", "'LAA.objet=\'article\''");
36
+    $not = '';
37
+    if ($crit->not) {
38
+        $not = ", 'NOT'";
39
+    }
40
+    $boucle->from['LAA'] = 'spip_auteurs_liens';
41
+    $boucle->from_type['LAA'] = 'left';
42
+    $boucle->join['LAA'] = array("'auteurs'", "'id_auteur'", "'id_auteur'", "'LAA.objet=\'article\''");
43 43
 
44
-	$boucle->from['articles'] = 'spip_articles';
45
-	$boucle->from_type['articles'] = 'left';
46
-	$boucle->join['articles'] = array(
47
-		"'LAA'",
48
-		"'id_article'",
49
-		"'id_objet'",
50
-		"'(articles.statut IS NULL OR '.sql_in('articles.statut',_q($_statut)$not).')'"
51
-	);
44
+    $boucle->from['articles'] = 'spip_articles';
45
+    $boucle->from_type['articles'] = 'left';
46
+    $boucle->join['articles'] = array(
47
+        "'LAA'",
48
+        "'id_article'",
49
+        "'id_objet'",
50
+        "'(articles.statut IS NULL OR '.sql_in('articles.statut',_q($_statut)$not).')'"
51
+    );
52 52
 
53
-	$boucle->select[] = 'COUNT(articles.id_article) AS compteur_articles';
54
-	$boucle->group[] = 'auteurs.id_auteur';
53
+    $boucle->select[] = 'COUNT(articles.id_article) AS compteur_articles';
54
+    $boucle->group[] = 'auteurs.id_auteur';
55 55
 }
56 56
 
57 57
 /**
@@ -69,7 +69,7 @@  discard block
 block discarded – undo
69 69
  *     Pile complétée par le code à générer
70 70
  */
71 71
 function balise_COMPTEUR_ARTICLES_dist($p) {
72
-	return rindex_pile($p, 'compteur_articles', 'compteur_articles_filtres');
72
+    return rindex_pile($p, 'compteur_articles', 'compteur_articles_filtres');
73 73
 }
74 74
 
75 75
 
@@ -85,43 +85,43 @@  discard block
 block discarded – undo
85 85
  * @return string
86 86
  */
87 87
 function afficher_initiale($url, $initiale, $compteur, $debut, $pas) {
88
-	static $memo = null;
89
-	static $res = [];
90
-	$out = '';
91
-	if (!$memo
92
-		or (!$initiale and !$url)
93
-		or ($initiale !== $memo['initiale'])
94
-	) {
95
-		$newcompt = intval(floor(($compteur - 1) / $pas) * $pas);
96
-		// si fin de la pagination et une seule entree, ne pas l'afficher, ca ne sert a rien
97
-		if (!$initiale and !$url and !$memo['compteur']) {
98
-			$memo = null;
99
-		}
100
-		if ($memo) {
101
-			$on = (($memo['compteur'] <= $debut)
102
-				and (
103
-					$newcompt > $debut or ($newcompt == $debut and $newcompt == $memo['compteur'])
104
-				));
105
-			$res[] = lien_ou_expose($memo['url'], $memo['initiale'], $on, 'lien_pagination');
106
-		}
107
-		if ($initiale) {
108
-			$memo = array(
109
-				'entree' => isset($memo['entree']) ? $memo['entree'] + 1 : 0,
110
-				'initiale' => $initiale,
111
-				'url' => parametre_url($url, 'i', $initiale),
112
-				'compteur' => $newcompt
113
-			);
114
-		}
115
-	}
116
-	if (!$initiale and !$url) {
117
-		if (count($res) > 1) {
118
-			$out = implode(' ', $res);
119
-		}
120
-		$memo = null;
121
-		$res = [];
122
-	}
88
+    static $memo = null;
89
+    static $res = [];
90
+    $out = '';
91
+    if (!$memo
92
+        or (!$initiale and !$url)
93
+        or ($initiale !== $memo['initiale'])
94
+    ) {
95
+        $newcompt = intval(floor(($compteur - 1) / $pas) * $pas);
96
+        // si fin de la pagination et une seule entree, ne pas l'afficher, ca ne sert a rien
97
+        if (!$initiale and !$url and !$memo['compteur']) {
98
+            $memo = null;
99
+        }
100
+        if ($memo) {
101
+            $on = (($memo['compteur'] <= $debut)
102
+                and (
103
+                    $newcompt > $debut or ($newcompt == $debut and $newcompt == $memo['compteur'])
104
+                ));
105
+            $res[] = lien_ou_expose($memo['url'], $memo['initiale'], $on, 'lien_pagination');
106
+        }
107
+        if ($initiale) {
108
+            $memo = array(
109
+                'entree' => isset($memo['entree']) ? $memo['entree'] + 1 : 0,
110
+                'initiale' => $initiale,
111
+                'url' => parametre_url($url, 'i', $initiale),
112
+                'compteur' => $newcompt
113
+            );
114
+        }
115
+    }
116
+    if (!$initiale and !$url) {
117
+        if (count($res) > 1) {
118
+            $out = implode(' ', $res);
119
+        }
120
+        $memo = null;
121
+        $res = [];
122
+    }
123 123
 
124
-	return $out;
124
+    return $out;
125 125
 }
126 126
 
127 127
 /**
@@ -140,23 +140,23 @@  discard block
 block discarded – undo
140 140
  * @return string
141 141
  */
142 142
 function auteur_lien_messagerie($id_auteur, $en_ligne, $statut, $imessage, $email = '') {
143
-	static $time = null;
144
-	if (!in_array($statut, array('0minirezo', '1comite'))) {
145
-		return '';
146
-	}
143
+    static $time = null;
144
+    if (!in_array($statut, array('0minirezo', '1comite'))) {
145
+        return '';
146
+    }
147 147
 
148
-	if (is_null($time)) {
149
-		$time = time();
150
-	}
151
-	$parti = (($time - strtotime($en_ligne)) > 15 * 60);
148
+    if (is_null($time)) {
149
+        $time = time();
150
+    }
151
+    $parti = (($time - strtotime($en_ligne)) > 15 * 60);
152 152
 
153
-	if ($imessage != 'non' and !$parti // historique : est-ce que ca a encore un sens de limiter vu qu'on a la notification par email ?
154
-		and $GLOBALS['meta']['messagerie_agenda'] != 'non'
155
-	) {
156
-		return parametre_url(parametre_url(generer_url_ecrire('message_edit', 'new=oui'), 'to', $id_auteur), 'redirect', self());
157
-	} elseif (strlen($email) and autoriser('voir', 'auteur', $id_auteur)) {
158
-		return 'mailto:' . $email;
159
-	} else {
160
-		return '';
161
-	}
153
+    if ($imessage != 'non' and !$parti // historique : est-ce que ca a encore un sens de limiter vu qu'on a la notification par email ?
154
+        and $GLOBALS['meta']['messagerie_agenda'] != 'non'
155
+    ) {
156
+        return parametre_url(parametre_url(generer_url_ecrire('message_edit', 'new=oui'), 'to', $id_auteur), 'redirect', self());
157
+    } elseif (strlen($email) and autoriser('voir', 'auteur', $id_auteur)) {
158
+        return 'mailto:' . $email;
159
+    } else {
160
+        return '';
161
+    }
162 162
 }
Please login to merge, or discard this patch.
ecrire/inc/filtres_mini.php 1 patch
Indentation   +93 added lines, -93 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 
@@ -35,19 +35,19 @@  discard block
 block discarded – undo
35 35
  * @return string URL nettoyée
36 36
  **/
37 37
 function resolve_path($url) {
38
-	list($url, $query) = array_pad(explode('?', $url, 2), 2, null);
39
-	while (preg_match(',/\.?/,', $url, $regs)    # supprime // et /./
40
-		or preg_match(',/[^/]*/\.\./,S', $url, $regs)  # supprime /toto/../
41
-		or preg_match(',^/\.\./,S', $url, $regs) # supprime les /../ du haut
42
-	) {
43
-		$url = str_replace($regs[0], '/', $url);
44
-	}
38
+    list($url, $query) = array_pad(explode('?', $url, 2), 2, null);
39
+    while (preg_match(',/\.?/,', $url, $regs)    # supprime // et /./
40
+        or preg_match(',/[^/]*/\.\./,S', $url, $regs)  # supprime /toto/../
41
+        or preg_match(',^/\.\./,S', $url, $regs) # supprime les /../ du haut
42
+    ) {
43
+        $url = str_replace($regs[0], '/', $url);
44
+    }
45 45
 
46
-	if ($query) {
47
-		$url .= '?' . $query;
48
-	}
46
+    if ($query) {
47
+        $url .= '?' . $query;
48
+    }
49 49
 
50
-	return '/' . preg_replace(',^/,S', '', $url);
50
+    return '/' . preg_replace(',^/,S', '', $url);
51 51
 }
52 52
 
53 53
 
@@ -68,41 +68,41 @@  discard block
 block discarded – undo
68 68
  **/
69 69
 function suivre_lien($url, $lien) {
70 70
 
71
-	if (preg_match(',^(mailto|javascript|data|tel|callto|file|ftp):,iS', $lien)) {
72
-		return $lien;
73
-	}
74
-	if (preg_match(';^((?:[a-z]{3,33}:)?//.*?)(/.*)?$;iS', $lien, $r)) {
75
-		$r = array_pad($r, 3, null);
71
+    if (preg_match(',^(mailto|javascript|data|tel|callto|file|ftp):,iS', $lien)) {
72
+        return $lien;
73
+    }
74
+    if (preg_match(';^((?:[a-z]{3,33}:)?//.*?)(/.*)?$;iS', $lien, $r)) {
75
+        $r = array_pad($r, 3, null);
76 76
 
77
-		return $r[1] . resolve_path($r[2]);
78
-	}
77
+        return $r[1] . resolve_path($r[2]);
78
+    }
79 79
 
80
-	# L'url site spip est un lien absolu aussi
81
-	if (isset($GLOBALS['meta']['adresse_site']) and $lien == $GLOBALS['meta']['adresse_site']) {
82
-		return $lien;
83
-	}
80
+    # L'url site spip est un lien absolu aussi
81
+    if (isset($GLOBALS['meta']['adresse_site']) and $lien == $GLOBALS['meta']['adresse_site']) {
82
+        return $lien;
83
+    }
84 84
 
85
-	# lien relatif, il faut verifier l'url de base
86
-	# commencer par virer la chaine de get de l'url de base
87
-	$dir = '/';
88
-	$debut = '';
89
-	if (preg_match(';^((?:[a-z]{3,7}:)?//[^/]+)(/.*?/?)?([^/#?]*)([?][^#]*)?(#.*)?$;S', $url, $regs)) {
90
-		$debut = $regs[1];
91
-		$dir = !strlen($regs[2]) ? '/' : $regs[2];
92
-		$mot = $regs[3];
93
-		$get = isset($regs[4]) ? $regs[4] : '';
94
-		$hash = isset($regs[5]) ? $regs[5] : '';
95
-	}
96
-	switch (substr($lien, 0, 1)) {
97
-		case '/':
98
-			return $debut . resolve_path($lien);
99
-		case '#':
100
-			return $debut . resolve_path($dir . $mot . $get . $lien);
101
-		case '':
102
-			return $debut . resolve_path($dir . $mot . $get . $hash);
103
-		default:
104
-			return $debut . resolve_path($dir . $lien);
105
-	}
85
+    # lien relatif, il faut verifier l'url de base
86
+    # commencer par virer la chaine de get de l'url de base
87
+    $dir = '/';
88
+    $debut = '';
89
+    if (preg_match(';^((?:[a-z]{3,7}:)?//[^/]+)(/.*?/?)?([^/#?]*)([?][^#]*)?(#.*)?$;S', $url, $regs)) {
90
+        $debut = $regs[1];
91
+        $dir = !strlen($regs[2]) ? '/' : $regs[2];
92
+        $mot = $regs[3];
93
+        $get = isset($regs[4]) ? $regs[4] : '';
94
+        $hash = isset($regs[5]) ? $regs[5] : '';
95
+    }
96
+    switch (substr($lien, 0, 1)) {
97
+        case '/':
98
+            return $debut . resolve_path($lien);
99
+        case '#':
100
+            return $debut . resolve_path($dir . $mot . $get . $lien);
101
+        case '':
102
+            return $debut . resolve_path($dir . $mot . $get . $hash);
103
+        default:
104
+            return $debut . resolve_path($dir . $lien);
105
+    }
106 106
 }
107 107
 
108 108
 
@@ -125,14 +125,14 @@  discard block
 block discarded – undo
125 125
  * @return string Texte ou URL (en absolus)
126 126
  **/
127 127
 function url_absolue($url, $base = '') {
128
-	if (strlen($url = trim($url)) == 0) {
129
-		return '';
130
-	}
131
-	if (!$base) {
132
-		$base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : '');
133
-	}
128
+    if (strlen($url = trim($url)) == 0) {
129
+        return '';
130
+    }
131
+    if (!$base) {
132
+        $base = url_de_base() . (_DIR_RACINE ? _DIR_RESTREINT_ABS : '');
133
+    }
134 134
 
135
-	return suivre_lien($base, $url);
135
+    return suivre_lien($base, $url);
136 136
 }
137 137
 
138 138
 /**
@@ -143,7 +143,7 @@  discard block
 block discarded – undo
143 143
  * @return string
144 144
  */
145 145
 function protocole_implicite($url_absolue) {
146
-	return preg_replace(';^[a-z]{3,7}://;i', '//', $url_absolue);
146
+    return preg_replace(';^[a-z]{3,7}://;i', '//', $url_absolue);
147 147
 }
148 148
 
149 149
 /**
@@ -154,14 +154,14 @@  discard block
 block discarded – undo
154 154
  */
155 155
 function protocole_verifier($url_absolue, $protocoles_autorises = array('http','https')) {
156 156
 
157
-	if (preg_match(';^([a-z]{3,7})://;i', $url_absolue, $m)) {
158
-		$protocole = $m[1];
159
-		if (in_array($protocole, $protocoles_autorises)
160
-		  or in_array(strtolower($protocole), array_map('strtolower', $protocoles_autorises))) {
161
-			return true;
162
-		}
163
-	}
164
-	return false;
157
+    if (preg_match(';^([a-z]{3,7})://;i', $url_absolue, $m)) {
158
+        $protocole = $m[1];
159
+        if (in_array($protocole, $protocoles_autorises)
160
+          or in_array(strtolower($protocole), array_map('strtolower', $protocoles_autorises))) {
161
+            return true;
162
+        }
163
+    }
164
+    return false;
165 165
 }
166 166
 
167 167
 /**
@@ -178,27 +178,27 @@  discard block
 block discarded – undo
178 178
  * @return string Texte avec des URLs absolues
179 179
  **/
180 180
 function liens_absolus($texte, $base = '') {
181
-	if (preg_match_all(',(<(a|link|image|img|script)\s[^<>]*(href|src)=[^<>]*>),imsS', $texte, $liens, PREG_SET_ORDER)) {
182
-		if (!function_exists('extraire_attribut')) {
183
-			include_spip('inc/filtres');
184
-		}
185
-		foreach ($liens as $lien) {
186
-			foreach (array('href', 'src') as $attr) {
187
-				$href = extraire_attribut($lien[0], $attr);
188
-				if (strlen($href) > 0) {
189
-					if (!preg_match(';^((?:[a-z]{3,7}:)?//);iS', $href)) {
190
-						$abs = url_absolue($href, $base);
191
-						if (rtrim($href, '/') !== rtrim($abs, '/') and !preg_match('/^#/', $href)) {
192
-							$texte_lien = inserer_attribut($lien[0], $attr, $abs);
193
-							$texte = str_replace($lien[0], $texte_lien, $texte);
194
-						}
195
-					}
196
-				}
197
-			}
198
-		}
199
-	}
181
+    if (preg_match_all(',(<(a|link|image|img|script)\s[^<>]*(href|src)=[^<>]*>),imsS', $texte, $liens, PREG_SET_ORDER)) {
182
+        if (!function_exists('extraire_attribut')) {
183
+            include_spip('inc/filtres');
184
+        }
185
+        foreach ($liens as $lien) {
186
+            foreach (array('href', 'src') as $attr) {
187
+                $href = extraire_attribut($lien[0], $attr);
188
+                if (strlen($href) > 0) {
189
+                    if (!preg_match(';^((?:[a-z]{3,7}:)?//);iS', $href)) {
190
+                        $abs = url_absolue($href, $base);
191
+                        if (rtrim($href, '/') !== rtrim($abs, '/') and !preg_match('/^#/', $href)) {
192
+                            $texte_lien = inserer_attribut($lien[0], $attr, $abs);
193
+                            $texte = str_replace($lien[0], $texte_lien, $texte);
194
+                        }
195
+                    }
196
+                }
197
+            }
198
+        }
199
+    }
200 200
 
201
-	return $texte;
201
+    return $texte;
202 202
 }
203 203
 
204 204
 
@@ -214,11 +214,11 @@  discard block
 block discarded – undo
214 214
  * @return string Texte ou URL (en absolus)
215 215
  **/
216 216
 function abs_url($texte, $base = '') {
217
-	if ($GLOBALS['mode_abs_url'] == 'url') {
218
-		return url_absolue($texte, $base);
219
-	} else {
220
-		return liens_absolus($texte, $base);
221
-	}
217
+    if ($GLOBALS['mode_abs_url'] == 'url') {
218
+        return url_absolue($texte, $base);
219
+    } else {
220
+        return liens_absolus($texte, $base);
221
+    }
222 222
 }
223 223
 
224 224
 /**
@@ -231,11 +231,11 @@  discard block
 block discarded – undo
231 231
  * @return string
232 232
  */
233 233
 function spip_htmlspecialchars($string, $flags = null, $encoding = 'UTF-8', $double_encode = true) {
234
-	if (is_null($flags)) {
235
-		$flags = ENT_COMPAT|ENT_HTML401;
236
-	}
234
+    if (is_null($flags)) {
235
+        $flags = ENT_COMPAT|ENT_HTML401;
236
+    }
237 237
 
238
-	return htmlspecialchars($string, $flags, $encoding, $double_encode);
238
+    return htmlspecialchars($string, $flags, $encoding, $double_encode);
239 239
 }
240 240
 
241 241
 /**
@@ -248,9 +248,9 @@  discard block
 block discarded – undo
248 248
  * @return string
249 249
  */
250 250
 function spip_htmlentities($string, $flags = null, $encoding = 'UTF-8', $double_encode = true) {
251
-	if (is_null($flags)) {
252
-		$flags = ENT_COMPAT|ENT_HTML401;
253
-	}
251
+    if (is_null($flags)) {
252
+        $flags = ENT_COMPAT|ENT_HTML401;
253
+    }
254 254
 
255
-	return htmlentities($string, $flags, $encoding, $double_encode);
255
+    return htmlentities($string, $flags, $encoding, $double_encode);
256 256
 }
Please login to merge, or discard this patch.
ecrire/inc/lang_liste.php 1 patch
Indentation   +198 added lines, -198 removed lines patch added patch discarded remove patch
@@ -19,206 +19,206 @@
 block discarded – undo
19 19
 */
20 20
 
21 21
 if (!defined('_ECRIRE_INC_VERSION')) {
22
-	return;
22
+    return;
23 23
 }
24 24
 
25 25
 $GLOBALS['codes_langues'] = array(
26
-	'aa' => "Afar",
27
-	'ab' => "Abkhazian",
28
-	'af' => "Afrikaans",
29
-	'am' => "Amharic",
30
-	'an' => "Aragon&#233;s",
31
-	'ar' => "&#1593;&#1585;&#1576;&#1610;",
32
-	'as' => "Assamese",
33
-	'ast' => "asturianu",
34
-	'ay' => "Aymara",
35
-	'az' => "Az&#601;rbaycan dili",
36
-	'ba' => "Bashkir",
37
-	'be' => "&#1041;&#1077;&#1083;&#1072;&#1088;&#1091;&#1089;&#1082;&#1072;&#1103;",
38
-	'ber_tam' => "Tamazigh",
39
-	'ber_tam_tfng' => "Tamazigh tifinagh",
40
-	'bg' => "&#1073;&#1098;&#1083;&#1075;&#1072;&#1088;&#1089;&#1082;&#1080;",
41
-	'bh' => "Bihari",
42
-	'bi' => "Bislama",
43
-	'bm' => "Bambara",
44
-	'bn' => "Bengali; Bangla",
45
-	'bo' => "Tibetan",
46
-	'br' => "brezhoneg",
47
-	'bs' => "bosanski",
48
-	'ca' => "catal&#224;",
49
-	'co' => "corsu",
50
-	'cpf' => "Kr&eacute;ol r&eacute;yon&eacute;",
51
-	'cpf_dom' => "Krey&ograve;l",
52
-	'cpf_hat' => "Krey&ograve;l (Peyi Dayiti)",
53
-	'cs' => "&#269;e&#353;tina",
54
-	'cy' => "Cymraeg",  # welsh, gallois
55
-	'da' => "dansk",
56
-	'de' => "Deutsch",
57
-	'dz' => "Bhutani",
58
-	'el' => "&#949;&#955;&#955;&#951;&#957;&#953;&#954;&#940;",
59
-	'en' => "English",
60
-	'en_hx' => "H4ck3R",
61
-	'en_sm' => "Smurf",
62
-	'eo' => "Esperanto",
63
-	'es' => "Espa&#241;ol",
64
-	'es_co' => "Colombiano",
65
-	'es_mx_pop' => "Mexicano a lo g&#252;ey",
66
-	'et' => "eesti",
67
-	'eu' => "euskara",
68
-	'fa' => "&#1601;&#1575;&#1585;&#1587;&#1609;",
69
-	'ff' => "Fulah", // peul
70
-	'fi' => "suomi",
71
-	'fj' => "Fiji",
72
-	'fo' => "f&#248;royskt",
73
-	'fon' => "fongb&egrave;",
74
-	'fr' => "fran&#231;ais",
75
-	'fr_fem' => "fran&#231;ais f&#233;minin",
76
-	'fr_sc' => "schtroumpf",
77
-	'fr_lpc' => "langue parl&#233;e compl&#233;t&#233;e",
78
-	'fr_lsf' => "langue des signes fran&#231;aise",
79
-	'fr_spl' => "fran&#231;ais simplifi&#233;",
80
-	'fr_tu' => "fran&#231;ais copain",
81
-	'fy' => "Frisian",
82
-	'ga' => "Irish",
83
-	'gd' => "Scots Gaelic",
84
-	'gl' => "galego",
85
-	'gn' => "Guarani",
86
-	'grc' => "&#7944;&#961;&#967;&#945;&#943;&#945; &#7961;&#955;&#955;&#951;&#957;&#953;&#954;&#942;", // grec ancien
87
-	'gu' => "Gujarati",
88
-	'ha' => "Hausa",
89
-	'hac' => "&#1705;-&#1607;&#1734;&#1585;&#1575;&#1605;&#1740;", //"Kurdish-Horami"
90
-	'hbo' => "&#1506;&#1489;&#1512;&#1497;&#1514;&#1470;&#1492;&#1514;&#1504;&#1498;", // hebreu classique ou biblique
91
-	'haz' => "&#x647;&#x632;&#x627;&#x631;&#x647; &#x6AF;&#x6CC;",
92
-	'he' => "&#1506;&#1489;&#1512;&#1497;&#1514;",
93
-	'hi' => "&#2361;&#2367;&#2306;&#2342;&#2368;",
94
-	'hr' => "hrvatski",
95
-	'hu' => "magyar",
96
-	'hy' => "&#1344;&#1377;&#1397;&#1381;&#1408;&#1381;&#1398;",// Arménien
97
-	'ia' => "Interlingua",
98
-	'id' => "Indonesia",
99
-	'ie' => "Interlingue",
100
-	'ik' => "Inupiak",
101
-	'is' => "&#237;slenska",
102
-	'it' => "italiano",
103
-	'it_fem' => "italiana",
104
-	'iu' => "Inuktitut",
105
-	'ja' => "&#26085;&#26412;&#35486;",
106
-	'jv' => "Javanese",
107
-	'ka' => "&#4325;&#4304;&#4320;&#4311;&#4323;&#4314;&#4312;",
108
-	'kk' => "&#1179;&#1072;&#1079;&#1072;&#1179;&#32;&#1090;&#1110;&#1083;&#1110;", // Kazakh
109
-	'kl' => "kalaallisut",
110
-	'km' => "&#6039;&#6070;&#6047;&#6070;&#6017;&#6098;&#6040;&#6082;&#6042;",// Khmer
111
-	'kn' => "Kannada",
112
-	'ko' => "&#54620;&#44397;&#50612;",
113
-	'kok' => "&#2325;&#2379;&#2306;&#2325;&#2339;&#2368;",
114
-	'ks' => "Kashmiri",
115
-	'ku' => "&#1705;&#1608;&#1585;&#1583;&#1740;",
116
-	'ky' => "Kirghiz",
117
-	'la' => "lingua latina",
118
-	'lb' => "L&euml;tzebuergesch",
119
-	'ln' => "Lingala",
120
-	'lo' => "&#3742;&#3762;&#3754;&#3762;&#3749;&#3762;&#3751;", # lao
121
-	'lt' => "lietuvi&#371;",
122
-	'lu' => "luba-katanga",
123
-	'lv' => "latvie&#353;u",
124
-	'man' => "mandingue", # a traduire en mandingue
125
-	'mfv' => "manjak", # ISO-639-3
126
-	'mg' => "Malagasy",
127
-	'mi' => "Maori",
128
-	'mk' => "&#1084;&#1072;&#1082;&#1077;&#1076;&#1086;&#1085;&#1089;&#1082;&#1080; &#1112;&#1072;&#1079;&#1080;&#1082;",
129
-	'ml' => "Malayalam",
130
-	'mn' => "Монгол хэл",
131
-	'mo' => "Moldavian",
132
-	'mos' => "Mor&eacute;",
133
-	'mr' => "&#2350;&#2352;&#2366;&#2336;&#2368;",
134
-	'ms' => "Bahasa Malaysia",
135
-	'mt' => "Maltese",
136
-	'my' => "Burmese",
137
-	'na' => "Nauru",
138
-	'nap' => "napulitano",
139
-	'ne' => "Nepali",
140
-	'nqo' => "N'ko", // www.manden.org
141
-	'nl' => "Nederlands",
142
-	'no' => "norsk",
143
-	'nb' => "norsk bokm&aring;l",
144
-	'nn' => "norsk nynorsk",
145
-	'oc' => "&ograve;c",
146
-	'oc_lnc' => "&ograve;c lengadocian",
147
-	'oc_ni' => "&ograve;c ni&ccedil;ard",
148
-	'oc_ni_la' => "&ograve;c ni&ccedil;ard (larg)",
149
-	'oc_ni_mis' => "&ograve;c nissart (mistralenc)",
150
-	'oc_prv' => "&ograve;c proven&ccedil;au",
151
-	'oc_gsc' => "&ograve;c gascon",
152
-	'oc_lms' => "&ograve;c lemosin",
153
-	'oc_auv' => "&ograve;c auvernhat",
154
-	'oc_va' => "&ograve;c vivaroaupenc",
155
-	'om' => "(Afan) Oromo",
156
-	'or' => "Oriya",
157
-	'pa' => "Punjabi",
158
-	'pbb' => 'Nasa Yuwe',
159
-	'pl' => "polski",
160
-	'prs' => "&#1583;&#1585;&#1740;", // ISO-639-3 Dari (Afghanistan)
161
-	'ps' => "&#1662;&#1690;&#1578;&#1608;",
162
-	'pt' => "Portugu&#234;s",
163
-	'pt_br' => "Portugu&#234;s do Brasil",
164
-	'qu' => "Quechua",
165
-	'rm' => "Rhaeto-Romance",
166
-	'rn' => "Kirundi",
167
-	'ro' => "rom&#226;n&#259;",
168
-	'roa' => "ch'ti",
169
-	'ru' => "&#1088;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;",
170
-	'rw' => "Kinyarwanda",
171
-	'sa' => "&#2360;&#2306;&#2360;&#2381;&#2325;&#2371;&#2340;",
172
-	'sc' => "sardu",
173
-	'scn' => "sicilianu",
174
-	'sd' => "Sindhi",
175
-	'sg' => "Sangho",
176
-	'sh' => "srpskohrvastski",
177
-	'sh_latn' => 'srpskohrvastski',
178
-	'sh_cyrl' => '&#1057;&#1088;&#1087;&#1089;&#1082;&#1086;&#1093;&#1088;&#1074;&#1072;&#1090;&#1089;&#1082;&#1080;',
179
-	'si' => "Sinhalese",
180
-	'sk' => "sloven&#269;ina",  // (Slovakia)
181
-	'sl' => "sloven&#353;&#269;ina",  // (Slovenia)
182
-	'sm' => "Samoan",
183
-	'sn' => "Shona",
184
-	'so' => "Somali",
185
-	'sq' => "shqip",
186
-	'sr' => "&#1089;&#1088;&#1087;&#1089;&#1082;&#1080;",
187
-	'src' => 'sardu logudor&#233;su', // sarde cf 'sc'
188
-	'sro' => 'sardu campidan&#233;su',
189
-	'ss' => "Siswati",
190
-	'st' => "Sesotho",
191
-	'su' => "Sundanese",
192
-	'sv' => "svenska",
193
-	'sw' => "Kiswahili",
194
-	'ta' => "&#2980;&#2990;&#3007;&#2996;&#3021;", // Tamil
195
-	'te' => "Telugu",
196
-	'tg' => "Tajik",
197
-	'th' => "&#3652;&#3607;&#3618;",
198
-	'ti' => "Tigrinya",
199
-	'tk' => "Turkmen",
200
-	'tl' => "Tagalog",
201
-	'tn' => "Setswana",
202
-	'to' => "Tonga",
203
-	'tr' => "T&#252;rk&#231;e",
204
-	'ts' => "Tsonga",
205
-	'tt' => "&#1058;&#1072;&#1090;&#1072;&#1088;",
206
-	'tw' => "Twi",
207
-	'ty' => "reo m&#257;`ohi", // tahitien
208
-	'ug' => "Uighur",
209
-	'uk' => "&#1091;&#1082;&#1088;&#1072;&#1111;&#1085;&#1089;&#1100;&#1082;&#1072;",
210
-	'ur' => "&#1649;&#1585;&#1583;&#1608;",
211
-	'uz' => "O'zbekcha",
212
-	'vi' => "Ti&#7871;ng Vi&#7879;t",
213
-	'vo' => "Volapuk",
214
-	'wa' => "walon",
215
-	'wo' => "Wolof",
216
-	'xh' => "Xhosa",
217
-	'yi' => "Yiddish",
218
-	'yo' => "Yoruba",
219
-	'za' => "Zhuang",
220
-	'zh' => "&#20013;&#25991;", // chinois (ecriture simplifiee)
221
-	'zh_tw' => "&#21488;&#28771;&#20013;&#25991;", // chinois taiwan (ecr. traditionnelle)
222
-	'zu' => "Zulu"
26
+    'aa' => "Afar",
27
+    'ab' => "Abkhazian",
28
+    'af' => "Afrikaans",
29
+    'am' => "Amharic",
30
+    'an' => "Aragon&#233;s",
31
+    'ar' => "&#1593;&#1585;&#1576;&#1610;",
32
+    'as' => "Assamese",
33
+    'ast' => "asturianu",
34
+    'ay' => "Aymara",
35
+    'az' => "Az&#601;rbaycan dili",
36
+    'ba' => "Bashkir",
37
+    'be' => "&#1041;&#1077;&#1083;&#1072;&#1088;&#1091;&#1089;&#1082;&#1072;&#1103;",
38
+    'ber_tam' => "Tamazigh",
39
+    'ber_tam_tfng' => "Tamazigh tifinagh",
40
+    'bg' => "&#1073;&#1098;&#1083;&#1075;&#1072;&#1088;&#1089;&#1082;&#1080;",
41
+    'bh' => "Bihari",
42
+    'bi' => "Bislama",
43
+    'bm' => "Bambara",
44
+    'bn' => "Bengali; Bangla",
45
+    'bo' => "Tibetan",
46
+    'br' => "brezhoneg",
47
+    'bs' => "bosanski",
48
+    'ca' => "catal&#224;",
49
+    'co' => "corsu",
50
+    'cpf' => "Kr&eacute;ol r&eacute;yon&eacute;",
51
+    'cpf_dom' => "Krey&ograve;l",
52
+    'cpf_hat' => "Krey&ograve;l (Peyi Dayiti)",
53
+    'cs' => "&#269;e&#353;tina",
54
+    'cy' => "Cymraeg",  # welsh, gallois
55
+    'da' => "dansk",
56
+    'de' => "Deutsch",
57
+    'dz' => "Bhutani",
58
+    'el' => "&#949;&#955;&#955;&#951;&#957;&#953;&#954;&#940;",
59
+    'en' => "English",
60
+    'en_hx' => "H4ck3R",
61
+    'en_sm' => "Smurf",
62
+    'eo' => "Esperanto",
63
+    'es' => "Espa&#241;ol",
64
+    'es_co' => "Colombiano",
65
+    'es_mx_pop' => "Mexicano a lo g&#252;ey",
66
+    'et' => "eesti",
67
+    'eu' => "euskara",
68
+    'fa' => "&#1601;&#1575;&#1585;&#1587;&#1609;",
69
+    'ff' => "Fulah", // peul
70
+    'fi' => "suomi",
71
+    'fj' => "Fiji",
72
+    'fo' => "f&#248;royskt",
73
+    'fon' => "fongb&egrave;",
74
+    'fr' => "fran&#231;ais",
75
+    'fr_fem' => "fran&#231;ais f&#233;minin",
76
+    'fr_sc' => "schtroumpf",
77
+    'fr_lpc' => "langue parl&#233;e compl&#233;t&#233;e",
78
+    'fr_lsf' => "langue des signes fran&#231;aise",
79
+    'fr_spl' => "fran&#231;ais simplifi&#233;",
80
+    'fr_tu' => "fran&#231;ais copain",
81
+    'fy' => "Frisian",
82
+    'ga' => "Irish",
83
+    'gd' => "Scots Gaelic",
84
+    'gl' => "galego",
85
+    'gn' => "Guarani",
86
+    'grc' => "&#7944;&#961;&#967;&#945;&#943;&#945; &#7961;&#955;&#955;&#951;&#957;&#953;&#954;&#942;", // grec ancien
87
+    'gu' => "Gujarati",
88
+    'ha' => "Hausa",
89
+    'hac' => "&#1705;-&#1607;&#1734;&#1585;&#1575;&#1605;&#1740;", //"Kurdish-Horami"
90
+    'hbo' => "&#1506;&#1489;&#1512;&#1497;&#1514;&#1470;&#1492;&#1514;&#1504;&#1498;", // hebreu classique ou biblique
91
+    'haz' => "&#x647;&#x632;&#x627;&#x631;&#x647; &#x6AF;&#x6CC;",
92
+    'he' => "&#1506;&#1489;&#1512;&#1497;&#1514;",
93
+    'hi' => "&#2361;&#2367;&#2306;&#2342;&#2368;",
94
+    'hr' => "hrvatski",
95
+    'hu' => "magyar",
96
+    'hy' => "&#1344;&#1377;&#1397;&#1381;&#1408;&#1381;&#1398;",// Arménien
97
+    'ia' => "Interlingua",
98
+    'id' => "Indonesia",
99
+    'ie' => "Interlingue",
100
+    'ik' => "Inupiak",
101
+    'is' => "&#237;slenska",
102
+    'it' => "italiano",
103
+    'it_fem' => "italiana",
104
+    'iu' => "Inuktitut",
105
+    'ja' => "&#26085;&#26412;&#35486;",
106
+    'jv' => "Javanese",
107
+    'ka' => "&#4325;&#4304;&#4320;&#4311;&#4323;&#4314;&#4312;",
108
+    'kk' => "&#1179;&#1072;&#1079;&#1072;&#1179;&#32;&#1090;&#1110;&#1083;&#1110;", // Kazakh
109
+    'kl' => "kalaallisut",
110
+    'km' => "&#6039;&#6070;&#6047;&#6070;&#6017;&#6098;&#6040;&#6082;&#6042;",// Khmer
111
+    'kn' => "Kannada",
112
+    'ko' => "&#54620;&#44397;&#50612;",
113
+    'kok' => "&#2325;&#2379;&#2306;&#2325;&#2339;&#2368;",
114
+    'ks' => "Kashmiri",
115
+    'ku' => "&#1705;&#1608;&#1585;&#1583;&#1740;",
116
+    'ky' => "Kirghiz",
117
+    'la' => "lingua latina",
118
+    'lb' => "L&euml;tzebuergesch",
119
+    'ln' => "Lingala",
120
+    'lo' => "&#3742;&#3762;&#3754;&#3762;&#3749;&#3762;&#3751;", # lao
121
+    'lt' => "lietuvi&#371;",
122
+    'lu' => "luba-katanga",
123
+    'lv' => "latvie&#353;u",
124
+    'man' => "mandingue", # a traduire en mandingue
125
+    'mfv' => "manjak", # ISO-639-3
126
+    'mg' => "Malagasy",
127
+    'mi' => "Maori",
128
+    'mk' => "&#1084;&#1072;&#1082;&#1077;&#1076;&#1086;&#1085;&#1089;&#1082;&#1080; &#1112;&#1072;&#1079;&#1080;&#1082;",
129
+    'ml' => "Malayalam",
130
+    'mn' => "Монгол хэл",
131
+    'mo' => "Moldavian",
132
+    'mos' => "Mor&eacute;",
133
+    'mr' => "&#2350;&#2352;&#2366;&#2336;&#2368;",
134
+    'ms' => "Bahasa Malaysia",
135
+    'mt' => "Maltese",
136
+    'my' => "Burmese",
137
+    'na' => "Nauru",
138
+    'nap' => "napulitano",
139
+    'ne' => "Nepali",
140
+    'nqo' => "N'ko", // www.manden.org
141
+    'nl' => "Nederlands",
142
+    'no' => "norsk",
143
+    'nb' => "norsk bokm&aring;l",
144
+    'nn' => "norsk nynorsk",
145
+    'oc' => "&ograve;c",
146
+    'oc_lnc' => "&ograve;c lengadocian",
147
+    'oc_ni' => "&ograve;c ni&ccedil;ard",
148
+    'oc_ni_la' => "&ograve;c ni&ccedil;ard (larg)",
149
+    'oc_ni_mis' => "&ograve;c nissart (mistralenc)",
150
+    'oc_prv' => "&ograve;c proven&ccedil;au",
151
+    'oc_gsc' => "&ograve;c gascon",
152
+    'oc_lms' => "&ograve;c lemosin",
153
+    'oc_auv' => "&ograve;c auvernhat",
154
+    'oc_va' => "&ograve;c vivaroaupenc",
155
+    'om' => "(Afan) Oromo",
156
+    'or' => "Oriya",
157
+    'pa' => "Punjabi",
158
+    'pbb' => 'Nasa Yuwe',
159
+    'pl' => "polski",
160
+    'prs' => "&#1583;&#1585;&#1740;", // ISO-639-3 Dari (Afghanistan)
161
+    'ps' => "&#1662;&#1690;&#1578;&#1608;",
162
+    'pt' => "Portugu&#234;s",
163
+    'pt_br' => "Portugu&#234;s do Brasil",
164
+    'qu' => "Quechua",
165
+    'rm' => "Rhaeto-Romance",
166
+    'rn' => "Kirundi",
167
+    'ro' => "rom&#226;n&#259;",
168
+    'roa' => "ch'ti",
169
+    'ru' => "&#1088;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081;",
170
+    'rw' => "Kinyarwanda",
171
+    'sa' => "&#2360;&#2306;&#2360;&#2381;&#2325;&#2371;&#2340;",
172
+    'sc' => "sardu",
173
+    'scn' => "sicilianu",
174
+    'sd' => "Sindhi",
175
+    'sg' => "Sangho",
176
+    'sh' => "srpskohrvastski",
177
+    'sh_latn' => 'srpskohrvastski',
178
+    'sh_cyrl' => '&#1057;&#1088;&#1087;&#1089;&#1082;&#1086;&#1093;&#1088;&#1074;&#1072;&#1090;&#1089;&#1082;&#1080;',
179
+    'si' => "Sinhalese",
180
+    'sk' => "sloven&#269;ina",  // (Slovakia)
181
+    'sl' => "sloven&#353;&#269;ina",  // (Slovenia)
182
+    'sm' => "Samoan",
183
+    'sn' => "Shona",
184
+    'so' => "Somali",
185
+    'sq' => "shqip",
186
+    'sr' => "&#1089;&#1088;&#1087;&#1089;&#1082;&#1080;",
187
+    'src' => 'sardu logudor&#233;su', // sarde cf 'sc'
188
+    'sro' => 'sardu campidan&#233;su',
189
+    'ss' => "Siswati",
190
+    'st' => "Sesotho",
191
+    'su' => "Sundanese",
192
+    'sv' => "svenska",
193
+    'sw' => "Kiswahili",
194
+    'ta' => "&#2980;&#2990;&#3007;&#2996;&#3021;", // Tamil
195
+    'te' => "Telugu",
196
+    'tg' => "Tajik",
197
+    'th' => "&#3652;&#3607;&#3618;",
198
+    'ti' => "Tigrinya",
199
+    'tk' => "Turkmen",
200
+    'tl' => "Tagalog",
201
+    'tn' => "Setswana",
202
+    'to' => "Tonga",
203
+    'tr' => "T&#252;rk&#231;e",
204
+    'ts' => "Tsonga",
205
+    'tt' => "&#1058;&#1072;&#1090;&#1072;&#1088;",
206
+    'tw' => "Twi",
207
+    'ty' => "reo m&#257;`ohi", // tahitien
208
+    'ug' => "Uighur",
209
+    'uk' => "&#1091;&#1082;&#1088;&#1072;&#1111;&#1085;&#1089;&#1100;&#1082;&#1072;",
210
+    'ur' => "&#1649;&#1585;&#1583;&#1608;",
211
+    'uz' => "O'zbekcha",
212
+    'vi' => "Ti&#7871;ng Vi&#7879;t",
213
+    'vo' => "Volapuk",
214
+    'wa' => "walon",
215
+    'wo' => "Wolof",
216
+    'xh' => "Xhosa",
217
+    'yi' => "Yiddish",
218
+    'yo' => "Yoruba",
219
+    'za' => "Zhuang",
220
+    'zh' => "&#20013;&#25991;", // chinois (ecriture simplifiee)
221
+    'zh_tw' => "&#21488;&#28771;&#20013;&#25991;", // chinois taiwan (ecr. traditionnelle)
222
+    'zu' => "Zulu"
223 223
 
224 224
 );
Please login to merge, or discard this patch.
ecrire/balise/url_logout.php 1 patch
Indentation   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -36,7 +36,7 @@  discard block
 block discarded – undo
36 36
  *     Pile complétée du code compilé
37 37
  **/
38 38
 function balise_URL_LOGOUT($p) {
39
-	return calculer_balise_dynamique($p, 'URL_LOGOUT', array());
39
+    return calculer_balise_dynamique($p, 'URL_LOGOUT', array());
40 40
 }
41 41
 
42 42
 
@@ -52,9 +52,9 @@  discard block
 block discarded – undo
52 52
  *   Liste (url) des arguments collectés.
53 53
  */
54 54
 function balise_URL_LOGOUT_stat($args, $context_compil) {
55
-	$url = isset($args[0]) ? $args[0] : '';
55
+    $url = isset($args[0]) ? $args[0] : '';
56 56
 
57
-	return array($url);
57
+    return array($url);
58 58
 }
59 59
 
60 60
 /**
@@ -69,9 +69,9 @@  discard block
 block discarded – undo
69 69
  **/
70 70
 function balise_URL_LOGOUT_dyn($cible) {
71 71
 
72
-	if (empty($GLOBALS['visiteur_session']['login']) and empty($GLOBALS['visiteur_session']['statut'])) {
73
-		return '';
74
-	}
72
+    if (empty($GLOBALS['visiteur_session']['login']) and empty($GLOBALS['visiteur_session']['statut'])) {
73
+        return '';
74
+    }
75 75
 
76
-	return generer_url_action('logout', "logout=public&url=" . rawurlencode($cible ? $cible : self('&')));
76
+    return generer_url_action('logout', "logout=public&url=" . rawurlencode($cible ? $cible : self('&')));
77 77
 }
Please login to merge, or discard this patch.
ecrire/exec/403.php 1 patch
Indentation   +28 added lines, -28 removed lines patch added patch discarded remove patch
@@ -17,7 +17,7 @@  discard block
 block discarded – undo
17 17
  */
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 /**
@@ -27,40 +27,40 @@  discard block
 block discarded – undo
27 27
  */
28 28
 function exec_403_dist($message = '') {
29 29
 
30
-	$exec = _request('exec');
30
+    $exec = _request('exec');
31 31
 
32
-	$titre = "exec_$exec";
33
-	$navigation = '';
34
-	$extra = '';
32
+    $titre = "exec_$exec";
33
+    $navigation = '';
34
+    $extra = '';
35 35
 
36
-	if (!$message) {
37
-		$message = _T('avis_acces_interdit_prive', array('exec' => _request('exec')));
38
-	}
36
+    if (!$message) {
37
+        $message = _T('avis_acces_interdit_prive', array('exec' => _request('exec')));
38
+    }
39 39
 
40
-	$contenu = "<h1 class='grostitre'>" . _T('info_acces_interdit') . '</h1>' . $message;
40
+    $contenu = "<h1 class='grostitre'>" . _T('info_acces_interdit') . '</h1>' . $message;
41 41
 
42
-	if (_request('var_zajax')) {
43
-		include_spip('inc/actions');
44
-		ajax_retour($contenu);
45
-	} else {
46
-		include_spip('inc/presentation'); // alleger les inclusions avec un inc/presentation_mini
42
+    if (_request('var_zajax')) {
43
+        include_spip('inc/actions');
44
+        ajax_retour($contenu);
45
+    } else {
46
+        include_spip('inc/presentation'); // alleger les inclusions avec un inc/presentation_mini
47 47
 
48
-		$commencer_page = charger_fonction('commencer_page', 'inc');
49
-		echo $commencer_page($titre);
48
+        $commencer_page = charger_fonction('commencer_page', 'inc');
49
+        echo $commencer_page($titre);
50 50
 
51
-		echo debut_gauche("403_$exec", true);
52
-		echo recuperer_fond('prive/squelettes/navigation/dist', array());
53
-		echo pipeline('affiche_gauche', array('args' => array('exec' => '403', 'exec_erreur' => $exec), 'data' => ''));
51
+        echo debut_gauche("403_$exec", true);
52
+        echo recuperer_fond('prive/squelettes/navigation/dist', array());
53
+        echo pipeline('affiche_gauche', array('args' => array('exec' => '403', 'exec_erreur' => $exec), 'data' => ''));
54 54
 
55
-		echo creer_colonne_droite('403', true);
56
-		echo pipeline('affiche_droite', array('args' => array('exec' => '403', 'exec_erreur' => $exec), 'data' => ''));
55
+        echo creer_colonne_droite('403', true);
56
+        echo pipeline('affiche_droite', array('args' => array('exec' => '403', 'exec_erreur' => $exec), 'data' => ''));
57 57
 
58
-		echo debut_droite('403', true);
59
-		echo pipeline(
60
-			'affiche_milieu',
61
-			array('args' => array('exec' => '403', 'exec_erreur' => $exec), 'data' => $contenu)
62
-		);
58
+        echo debut_droite('403', true);
59
+        echo pipeline(
60
+            'affiche_milieu',
61
+            array('args' => array('exec' => '403', 'exec_erreur' => $exec), 'data' => $contenu)
62
+        );
63 63
 
64
-		echo fin_gauche(), fin_page();
65
-	}
64
+        echo fin_gauche(), fin_page();
65
+    }
66 66
 }
Please login to merge, or discard this patch.
ecrire/inc/icone_renommer.php 1 patch
Indentation   +51 added lines, -51 removed lines patch added patch discarded remove patch
@@ -11,69 +11,69 @@
 block discarded – undo
11 11
 \***************************************************************************/
12 12
 
13 13
 if (!defined('_ECRIRE_INC_VERSION')) {
14
-	return;
14
+    return;
15 15
 }
16 16
 
17 17
 include_spip('inc/boutons');
18 18
 include_spip('base/objets');
19 19
 
20 20
 function inc_icone_renommer_dist($fond, $fonction) {
21
-	$size = 24;
22
-	if (preg_match("/(?:-([0-9]{1,3}))?([.](gif|png|svg))?$/i", $fond, $match)
23
-		and ((isset($match[0]) and $match[0]) or (isset($match[1]) and $match[1]))
24
-	) {
25
-		if (isset($match[1]) and $match[1]) {
26
-			$size = $match[1];
27
-		}
28
-		$type = substr($fond, 0, -strlen($match[0]));
29
-		if (!isset($match[2]) or !$match[2]) {
30
-			$fond .= ".png";
31
-		}
32
-	} else {
33
-		$type = $fond;
34
-		$fond .= ".png";
35
-	}
21
+    $size = 24;
22
+    if (preg_match("/(?:-([0-9]{1,3}))?([.](gif|png|svg))?$/i", $fond, $match)
23
+        and ((isset($match[0]) and $match[0]) or (isset($match[1]) and $match[1]))
24
+    ) {
25
+        if (isset($match[1]) and $match[1]) {
26
+            $size = $match[1];
27
+        }
28
+        $type = substr($fond, 0, -strlen($match[0]));
29
+        if (!isset($match[2]) or !$match[2]) {
30
+            $fond .= ".png";
31
+        }
32
+    } else {
33
+        $type = $fond;
34
+        $fond .= ".png";
35
+    }
36 36
 
37
-	$rtl = false;
38
-	if (preg_match(',[-_]rtl$,i', $type, $match)) {
39
-		$rtl = true;
40
-		$type = substr($type, 0, -strlen($match[0]));
41
-	}
37
+    $rtl = false;
38
+    if (preg_match(',[-_]rtl$,i', $type, $match)) {
39
+        $rtl = true;
40
+        $type = substr($type, 0, -strlen($match[0]));
41
+    }
42 42
 
43
-	// objet_type garde invariant tout ce qui ne commence par par id_, spip_
44
-	// et ne finit pas par un s, sauf si c'est une exception declaree
45
-	$type = objet_type($type, false);
43
+    // objet_type garde invariant tout ce qui ne commence par par id_, spip_
44
+    // et ne finit pas par un s, sauf si c'est une exception declaree
45
+    $type = objet_type($type, false);
46 46
 
47
-	$dir = "images/";
48
-	$f = "$type-$size.png";
49
-	if ($icone = find_in_theme($dir . $f)) {
50
-		$dir = dirname($icone);
51
-		$fond = $icone;
47
+    $dir = "images/";
48
+    $f = "$type-$size.png";
49
+    if ($icone = find_in_theme($dir . $f)) {
50
+        $dir = dirname($icone);
51
+        $fond = $icone;
52 52
 
53
-		if ($rtl
54
-			and $fr = $dir . '/' . str_replace("$type-", "$type-rtl-", basename($icone))
55
-			and file_exists($fr)
56
-		) {
57
-			$fond = $fr;
58
-		}
53
+        if ($rtl
54
+            and $fr = $dir . '/' . str_replace("$type-", "$type-rtl-", basename($icone))
55
+            and file_exists($fr)
56
+        ) {
57
+            $fond = $fr;
58
+        }
59 59
 
60
-		$action = $fonction;
61
-		if ($action == "supprimer.gif") {
62
-			$action = "del";
63
-		} elseif ($action == "creer.gif") {
64
-			$action = "new";
65
-		} elseif ($action == "edit.gif") {
66
-			$action = "edit";
67
-		}
60
+        $action = $fonction;
61
+        if ($action == "supprimer.gif") {
62
+            $action = "del";
63
+        } elseif ($action == "creer.gif") {
64
+            $action = "new";
65
+        } elseif ($action == "edit.gif") {
66
+            $action = "edit";
67
+        }
68 68
 
69
-		$fonction = "";
70
-		if (in_array($action, array('add','del', 'new', 'edit', 'config'))) {
71
-			$fonction = $action;
72
-		}
69
+        $fonction = "";
70
+        if (in_array($action, array('add','del', 'new', 'edit', 'config'))) {
71
+            $fonction = $action;
72
+        }
73 73
 
74
-		// c'est bon !
75
-		return array($fond, $fonction);
76
-	}
74
+        // c'est bon !
75
+        return array($fond, $fonction);
76
+    }
77 77
 
78
-	return array($fond, $fonction);
78
+    return array($fond, $fonction);
79 79
 }
Please login to merge, or discard this patch.
ecrire/lang/public_ar.php 1 patch
Indentation   +110 added lines, -110 removed lines patch added patch discarded remove patch
@@ -4,118 +4,118 @@
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'accueil_site' => 'الصفحة الرئيسية',
14
-	'article' => 'مقال',
15
-	'articles' => 'المقالات',
16
-	'articles_auteur' => 'مقالات هذا المؤلف',
17
-	'articles_populaires' => 'المقالات الأكثر شعبية',
18
-	'articles_rubrique' => 'مقالات هذا القسم',
19
-	'aucun_article' => 'لا توجد مقالات على هذا العنوان',
20
-	'aucun_auteur' => 'لا يوجد مؤلفون على هذا العنوان',
21
-	'aucun_site' => 'لا توجد مواقع على هذا العنوان',
22
-	'aucune_breve' => 'لا توجد أخبار على هذا العنوان',
23
-	'aucune_rubrique' => 'لا توجد أقسام على هذا العنوان',
24
-	'auteur' => 'مؤلف',
25
-	'autres' => 'آخرون',
26
-	'autres_breves' => 'أخبار أخرى',
27
-	'autres_groupes_mots_clefs' => 'مجموعات مفاتيح أخرى',
28
-	'autres_sites' => 'مواقع أخرى',
29
-
30
-	// B
31
-	'bonjour' => 'أهلاً وسهلاً',
32
-
33
-	// C
34
-	'commenter_site' => 'تعليق على هذا الموقع',
35
-	'contact' => 'للاتصال',
36
-	'copie_document_impossible' => 'لا يمكن نسخ المستند',
37
-
38
-	// D
39
-	'date' => 'التاريخ',
40
-	'dernier_ajout' => 'آخر إضافة',
41
-	'dernieres_breves' => 'آخر الأخبار',
42
-	'derniers_articles' => 'آخر المقالات',
43
-	'derniers_commentaires' => 'آخر التعليقات',
44
-	'derniers_messages_forum' => 'آخر المشاركات المنشورة في المنتديات',
45
-
46
-	// E
47
-	'edition_mode_texte' => 'النشرة في وضعية النصوص',
48
-	'en_reponse' => 'رداً على:',
49
-	'en_resume' => 'باختصار',
50
-	'envoyer_message' => 'إرسال مشاركة',
51
-	'espace_prive' => 'المجال الخاص',
52
-
53
-	// F
54
-	'formats_acceptes' => 'التنسيقات المسموحة: @formats@.',
55
-
56
-	// H
57
-	'hierarchie_site' => 'هرمية الموقع',
58
-
59
-	// J
60
-	'jours' => 'يوم',
61
-
62
-	// L
63
-	'lien_connecter' => 'دخول',
64
-
65
-	// M
66
-	'meme_auteur' => 'من نفس المؤلف',
67
-	'meme_rubrique' => 'في هذا القسم أيضاً',
68
-	'memes_auteurs' => 'من المؤلفين نفسهم ايضاً',
69
-	'message' => 'مشاركة',
70
-	'messages_forum' => 'مشاركة منتدى',
71
-	'messages_recents' => 'أحدث المشاركات',
72
-	'mots_clef' => 'مفتاح',
73
-	'mots_clefs' => 'المفاتيح',
74
-	'mots_clefs_meme_groupe' => 'المفاتيح الأخرى في هذه المجموعة',
75
-
76
-	// N
77
-	'navigation' => 'تصفح',
78
-	'nom' => 'الاسم',
79
-	'nouveautes' => 'الجديد',
80
-	'nouveautes_web' => 'الجديد على النسيج',
81
-	'nouveaux_articles' => 'المقالات الجديدة',
82
-	'nouvelles_breves' => 'الأخبار الجديدة',
83
-
84
-	// P
85
-	'page_precedente' => 'الصفحة السابقة',
86
-	'page_suivante' => 'الصفحة التالية',
87
-	'par_auteur' => 'بقلم ',
88
-	'participer_site' => 'يمكنك المشاركة في هذا الموقع، بالتسجيل أدناه ونشر مقالاتك. وبعد التسجيل، سوف تصلك رسالة فورية بالبريد الإلكتروني تتضمن معرفك الخاص الذي يسمح لك بالدخول الى المجال الخاص.',
89
-	'plan_site' => 'خريطة الموقع',
90
-	'popularite' => 'الشعبية',
91
-	'poster_message' => 'إبعث برسالة',
92
-	'proposer_site' => 'يمكنك افتراح إضافة موقع الى هذا القسم:',
93
-
94
-	// R
95
-	'repondre_article' => 'الرد على هذا المقال',
96
-	'repondre_breve' => 'الرد على هذا الخبر',
97
-	'resultats_recherche' => 'نتائج البحث',
98
-	'retour_debut_forums' => 'عودة الى بداية المنتديات',
99
-	'rubrique' => 'القسم',
100
-	'rubriques' => 'الأقسام',
101
-
102
-	// S
103
-	'signatures_petition' => 'التوقيعات',
104
-	'site_realise_avec_spip' => 'موقع صمم بنظام SPIP',
105
-	'sites_web' => 'مواقع النسيج',
106
-	'sous_rubriques' => 'الأقسام الفرعية',
107
-	'spam' => 'خنزرة',
108
-	'suite' => 'تتمة',
109
-	'sur_web' => 'على النسيج',
110
-	'syndiquer_rubrique' => 'ترخيص هذا القسم',
111
-	'syndiquer_site' => 'ترخيص كامل الموقع',
112
-
113
-	// T
114
-	'texte_lettre_information' => 'ها هي نشرة الموقع',
115
-	'texte_lettre_information_2' => 'تحصي هذه النشرة المقالات والأخبار المنشورة منذ ',
116
-
117
-	// V
118
-	'ver_imprimer' => 'نسخة للطباعة',
119
-	'voir_en_ligne' => 'عرض مباشر',
120
-	'voir_squelette' => 'عرض الصفحة النموذجية لهذه الصفحة'
12
+    // A
13
+    'accueil_site' => 'الصفحة الرئيسية',
14
+    'article' => 'مقال',
15
+    'articles' => 'المقالات',
16
+    'articles_auteur' => 'مقالات هذا المؤلف',
17
+    'articles_populaires' => 'المقالات الأكثر شعبية',
18
+    'articles_rubrique' => 'مقالات هذا القسم',
19
+    'aucun_article' => 'لا توجد مقالات على هذا العنوان',
20
+    'aucun_auteur' => 'لا يوجد مؤلفون على هذا العنوان',
21
+    'aucun_site' => 'لا توجد مواقع على هذا العنوان',
22
+    'aucune_breve' => 'لا توجد أخبار على هذا العنوان',
23
+    'aucune_rubrique' => 'لا توجد أقسام على هذا العنوان',
24
+    'auteur' => 'مؤلف',
25
+    'autres' => 'آخرون',
26
+    'autres_breves' => 'أخبار أخرى',
27
+    'autres_groupes_mots_clefs' => 'مجموعات مفاتيح أخرى',
28
+    'autres_sites' => 'مواقع أخرى',
29
+
30
+    // B
31
+    'bonjour' => 'أهلاً وسهلاً',
32
+
33
+    // C
34
+    'commenter_site' => 'تعليق على هذا الموقع',
35
+    'contact' => 'للاتصال',
36
+    'copie_document_impossible' => 'لا يمكن نسخ المستند',
37
+
38
+    // D
39
+    'date' => 'التاريخ',
40
+    'dernier_ajout' => 'آخر إضافة',
41
+    'dernieres_breves' => 'آخر الأخبار',
42
+    'derniers_articles' => 'آخر المقالات',
43
+    'derniers_commentaires' => 'آخر التعليقات',
44
+    'derniers_messages_forum' => 'آخر المشاركات المنشورة في المنتديات',
45
+
46
+    // E
47
+    'edition_mode_texte' => 'النشرة في وضعية النصوص',
48
+    'en_reponse' => 'رداً على:',
49
+    'en_resume' => 'باختصار',
50
+    'envoyer_message' => 'إرسال مشاركة',
51
+    'espace_prive' => 'المجال الخاص',
52
+
53
+    // F
54
+    'formats_acceptes' => 'التنسيقات المسموحة: @formats@.',
55
+
56
+    // H
57
+    'hierarchie_site' => 'هرمية الموقع',
58
+
59
+    // J
60
+    'jours' => 'يوم',
61
+
62
+    // L
63
+    'lien_connecter' => 'دخول',
64
+
65
+    // M
66
+    'meme_auteur' => 'من نفس المؤلف',
67
+    'meme_rubrique' => 'في هذا القسم أيضاً',
68
+    'memes_auteurs' => 'من المؤلفين نفسهم ايضاً',
69
+    'message' => 'مشاركة',
70
+    'messages_forum' => 'مشاركة منتدى',
71
+    'messages_recents' => 'أحدث المشاركات',
72
+    'mots_clef' => 'مفتاح',
73
+    'mots_clefs' => 'المفاتيح',
74
+    'mots_clefs_meme_groupe' => 'المفاتيح الأخرى في هذه المجموعة',
75
+
76
+    // N
77
+    'navigation' => 'تصفح',
78
+    'nom' => 'الاسم',
79
+    'nouveautes' => 'الجديد',
80
+    'nouveautes_web' => 'الجديد على النسيج',
81
+    'nouveaux_articles' => 'المقالات الجديدة',
82
+    'nouvelles_breves' => 'الأخبار الجديدة',
83
+
84
+    // P
85
+    'page_precedente' => 'الصفحة السابقة',
86
+    'page_suivante' => 'الصفحة التالية',
87
+    'par_auteur' => 'بقلم ',
88
+    'participer_site' => 'يمكنك المشاركة في هذا الموقع، بالتسجيل أدناه ونشر مقالاتك. وبعد التسجيل، سوف تصلك رسالة فورية بالبريد الإلكتروني تتضمن معرفك الخاص الذي يسمح لك بالدخول الى المجال الخاص.',
89
+    'plan_site' => 'خريطة الموقع',
90
+    'popularite' => 'الشعبية',
91
+    'poster_message' => 'إبعث برسالة',
92
+    'proposer_site' => 'يمكنك افتراح إضافة موقع الى هذا القسم:',
93
+
94
+    // R
95
+    'repondre_article' => 'الرد على هذا المقال',
96
+    'repondre_breve' => 'الرد على هذا الخبر',
97
+    'resultats_recherche' => 'نتائج البحث',
98
+    'retour_debut_forums' => 'عودة الى بداية المنتديات',
99
+    'rubrique' => 'القسم',
100
+    'rubriques' => 'الأقسام',
101
+
102
+    // S
103
+    'signatures_petition' => 'التوقيعات',
104
+    'site_realise_avec_spip' => 'موقع صمم بنظام SPIP',
105
+    'sites_web' => 'مواقع النسيج',
106
+    'sous_rubriques' => 'الأقسام الفرعية',
107
+    'spam' => 'خنزرة',
108
+    'suite' => 'تتمة',
109
+    'sur_web' => 'على النسيج',
110
+    'syndiquer_rubrique' => 'ترخيص هذا القسم',
111
+    'syndiquer_site' => 'ترخيص كامل الموقع',
112
+
113
+    // T
114
+    'texte_lettre_information' => 'ها هي نشرة الموقع',
115
+    'texte_lettre_information_2' => 'تحصي هذه النشرة المقالات والأخبار المنشورة منذ ',
116
+
117
+    // V
118
+    'ver_imprimer' => 'نسخة للطباعة',
119
+    'voir_en_ligne' => 'عرض مباشر',
120
+    'voir_squelette' => 'عرض الصفحة النموذجية لهذه الصفحة'
121 121
 );
Please login to merge, or discard this patch.
ecrire/inc/svg.php 1 patch
Indentation   +422 added lines, -422 removed lines patch added patch discarded remove patch
@@ -17,13 +17,13 @@  discard block
 block discarded – undo
17 17
  **/
18 18
 
19 19
 if (!defined('_ECRIRE_INC_VERSION')) {
20
-	return;
20
+    return;
21 21
 }
22 22
 
23 23
 if (!defined('IMG_SVG')) {
24
-	// complete 	IMG_BMP | IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM | IMG_WEBP
25
-	define('IMG_SVG',128);
26
-	define('IMAGETYPE_SVG', 19);
24
+    // complete 	IMG_BMP | IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP | IMG_XPM | IMG_WEBP
25
+    define('IMG_SVG',128);
26
+    define('IMAGETYPE_SVG', 19);
27 27
 }
28 28
 
29 29
 /**
@@ -39,39 +39,39 @@  discard block
 block discarded – undo
39 39
  *   false si on a pas pu charger l'image
40 40
  */
41 41
 function svg_charger($fichier, $maxlen=null) {
42
-	if (strpos($fichier, "data:image/svg+xml") === 0) {
43
-		$image = explode(";", $fichier, 2);
44
-		$image = end($image);
45
-		if (strpos($image, "base64,") === 0) {
46
-			$image = base64_decode(substr($image, 7));
47
-		}
48
-		if (strpos($image, "<svg") !== false) {
49
-			return $image;
50
-		}
51
-		// encodage inconnu ou autre format d'image ?
52
-		return false;
53
-	}
54
-	// c'est peut etre deja une image svg ?
55
-	if (strpos($fichier, "<svg") !== false) {
56
-		return $fichier;
57
-	}
58
-	if (!file_exists($fichier)) {
59
-		$fichier  = supprimer_timestamp($fichier);
60
-		if (!file_exists($fichier)) {
61
-			return false;
62
-		}
63
-	}
64
-	if (is_null($maxlen)) {
65
-		$image = file_get_contents($fichier);
66
-	}
67
-	else {
68
-		$image = file_get_contents($fichier, false,null,0, $maxlen);
69
-	}
70
-	// est-ce bien une image svg ?
71
-	if (strpos($image, "<svg") !== false) {
72
-		return $image;
73
-	}
74
-	return false;
42
+    if (strpos($fichier, "data:image/svg+xml") === 0) {
43
+        $image = explode(";", $fichier, 2);
44
+        $image = end($image);
45
+        if (strpos($image, "base64,") === 0) {
46
+            $image = base64_decode(substr($image, 7));
47
+        }
48
+        if (strpos($image, "<svg") !== false) {
49
+            return $image;
50
+        }
51
+        // encodage inconnu ou autre format d'image ?
52
+        return false;
53
+    }
54
+    // c'est peut etre deja une image svg ?
55
+    if (strpos($fichier, "<svg") !== false) {
56
+        return $fichier;
57
+    }
58
+    if (!file_exists($fichier)) {
59
+        $fichier  = supprimer_timestamp($fichier);
60
+        if (!file_exists($fichier)) {
61
+            return false;
62
+        }
63
+    }
64
+    if (is_null($maxlen)) {
65
+        $image = file_get_contents($fichier);
66
+    }
67
+    else {
68
+        $image = file_get_contents($fichier, false,null,0, $maxlen);
69
+    }
70
+    // est-ce bien une image svg ?
71
+    if (strpos($image, "<svg") !== false) {
72
+        return $image;
73
+    }
74
+    return false;
75 75
 }
76 76
 
77 77
 /**
@@ -80,29 +80,29 @@  discard block
 block discarded – undo
80 80
  * @return array|bool
81 81
  */
82 82
 function svg_lire_balise_svg($fichier) {
83
-	if (!$debut_fichier = svg_charger($fichier, 4096)) {
84
-		return false;
85
-	}
83
+    if (!$debut_fichier = svg_charger($fichier, 4096)) {
84
+        return false;
85
+    }
86 86
 
87
-	if (($ps = stripos($debut_fichier, "<svg")) !== false) {
87
+    if (($ps = stripos($debut_fichier, "<svg")) !== false) {
88 88
 
89
-		$pe = stripos($debut_fichier, ">", $ps);
90
-		$balise_svg = substr($debut_fichier, $ps, $pe - $ps +1);
89
+        $pe = stripos($debut_fichier, ">", $ps);
90
+        $balise_svg = substr($debut_fichier, $ps, $pe - $ps +1);
91 91
 
92
-		if (preg_match_all(",([\w:\-]+)=,Uims", $balise_svg, $matches)) {
93
-			if (!function_exists('extraire_attribut')) {
94
-				include_spip('inc/filtres');
95
-			}
96
-			$attributs = [];
97
-			foreach ($matches[1] as $att) {
98
-				$attributs[$att] = extraire_attribut($balise_svg, $att);
99
-			}
92
+        if (preg_match_all(",([\w:\-]+)=,Uims", $balise_svg, $matches)) {
93
+            if (!function_exists('extraire_attribut')) {
94
+                include_spip('inc/filtres');
95
+            }
96
+            $attributs = [];
97
+            foreach ($matches[1] as $att) {
98
+                $attributs[$att] = extraire_attribut($balise_svg, $att);
99
+            }
100 100
 
101
-			return [$balise_svg, $attributs];
102
-		}
103
-	}
101
+            return [$balise_svg, $attributs];
102
+        }
103
+    }
104 104
 
105
-	return false;
105
+    return false;
106 106
 }
107 107
 
108 108
 /**
@@ -112,12 +112,12 @@  discard block
 block discarded – undo
112 112
  */
113 113
 function svg_lire_attributs($img) {
114 114
 
115
-	if ($svg_infos = svg_lire_balise_svg($img)) {
116
-		list($balise_svg, $attributs) = $svg_infos;
117
-		return $attributs;
118
-	}
115
+    if ($svg_infos = svg_lire_balise_svg($img)) {
116
+        list($balise_svg, $attributs) = $svg_infos;
117
+        return $attributs;
118
+    }
119 119
 
120
-	return false;
120
+    return false;
121 121
 }
122 122
 
123 123
 /**
@@ -127,38 +127,38 @@  discard block
 block discarded – undo
127 127
  * @return bool|float|int
128 128
  */
129 129
 function svg_dimension_to_pixels($dimension, $precision = 2) {
130
-	if (preg_match(',^(-?\d+(\.\d+)?)([^\d]*),i', trim($dimension), $m)){
131
-		switch (strtolower($m[2])) {
132
-			case '%':
133
-				// on ne sait pas faire :(
134
-				return false;
135
-				break;
136
-			case 'em':
137
-				return round($m[1]*16, $precision); // 16px font-size par defaut
138
-				break;
139
-			case 'ex':
140
-				return round($m[1]*16, $precision); // 16px font-size par defaut
141
-				break;
142
-			case 'pc':
143
-				return round($m[1]*16, $precision); // 1/6 inch = 96px/6 in CSS
144
-				break;
145
-			case 'cm':
146
-				return round($m[1]*96/2.54, $precision); // 96px / 2.54cm;
147
-				break;
148
-			case 'mm':
149
-				return round($m[1]*96/25.4, $precision); // 96px / 25.4mm;
150
-				break;
151
-			case 'in':
152
-				return round($m[1]*96, $precision); // 1 inch = 96px in CSS
153
-				break;
154
-			case 'px':
155
-			case 'pt':
156
-			default:
157
-				return $m[1];
158
-				break;
159
-		}
160
-	}
161
-	return false;
130
+    if (preg_match(',^(-?\d+(\.\d+)?)([^\d]*),i', trim($dimension), $m)){
131
+        switch (strtolower($m[2])) {
132
+            case '%':
133
+                // on ne sait pas faire :(
134
+                return false;
135
+                break;
136
+            case 'em':
137
+                return round($m[1]*16, $precision); // 16px font-size par defaut
138
+                break;
139
+            case 'ex':
140
+                return round($m[1]*16, $precision); // 16px font-size par defaut
141
+                break;
142
+            case 'pc':
143
+                return round($m[1]*16, $precision); // 1/6 inch = 96px/6 in CSS
144
+                break;
145
+            case 'cm':
146
+                return round($m[1]*96/2.54, $precision); // 96px / 2.54cm;
147
+                break;
148
+            case 'mm':
149
+                return round($m[1]*96/25.4, $precision); // 96px / 25.4mm;
150
+                break;
151
+            case 'in':
152
+                return round($m[1]*96, $precision); // 1 inch = 96px in CSS
153
+                break;
154
+            case 'px':
155
+            case 'pt':
156
+            default:
157
+                return $m[1];
158
+                break;
159
+        }
160
+    }
161
+    return false;
162 162
 }
163 163
 
164 164
 /**
@@ -169,15 +169,15 @@  discard block
 block discarded – undo
169 169
  * @return string
170 170
  */
171 171
 function svg_change_balise_svg($svg, $old_balise_svg, $attributs) {
172
-	$new_balise_svg = "<svg";
173
-	foreach ($attributs as $k=>$v) {
174
-		$new_balise_svg .= " $k=\"".entites_html($v)."\"";
175
-	}
176
-	$new_balise_svg .= ">";
177
-
178
-	$p = strpos($svg, $old_balise_svg);
179
-	$svg = substr_replace($svg, $new_balise_svg, $p, strlen($old_balise_svg));
180
-	return $svg;
172
+    $new_balise_svg = "<svg";
173
+    foreach ($attributs as $k=>$v) {
174
+        $new_balise_svg .= " $k=\"".entites_html($v)."\"";
175
+    }
176
+    $new_balise_svg .= ">";
177
+
178
+    $p = strpos($svg, $old_balise_svg);
179
+    $svg = substr_replace($svg, $new_balise_svg, $p, strlen($old_balise_svg));
180
+    return $svg;
181 181
 }
182 182
 
183 183
 /**
@@ -189,15 +189,15 @@  discard block
 block discarded – undo
189 189
  */
190 190
 function svg_insert_shapes($svg, $shapes, $start=true) {
191 191
 
192
-	if ($start === false or $start === 'end') {
193
-		$svg = str_replace("</svg>", $shapes . "</svg>", $svg);
194
-	}
195
-	else {
196
-		$p = stripos($svg, "<svg");
197
-		$p = strpos($svg, ">", $p);
198
-		$svg = substr_replace($svg, $shapes, $p+1, 0);
199
-	}
200
-	return $svg;
192
+    if ($start === false or $start === 'end') {
193
+        $svg = str_replace("</svg>", $shapes . "</svg>", $svg);
194
+    }
195
+    else {
196
+        $p = stripos($svg, "<svg");
197
+        $p = strpos($svg, ">", $p);
198
+        $svg = substr_replace($svg, $shapes, $p+1, 0);
199
+    }
200
+    return $svg;
201 201
 }
202 202
 
203 203
 /**
@@ -210,13 +210,13 @@  discard block
 block discarded – undo
210 210
  * @return string
211 211
  */
212 212
 function svg_clip_in_box($svg, $x, $y, $width, $height) {
213
-	$rect = "<rect x=\"$x\" y=\"$y\" width=\"$width\" height=\"$height\" />";
214
-	$id = 'clip-'.substr(md5($rect . strlen($svg)),0,8);
215
-	$clippath = "<clipPath id=\"$id\">$rect</clipPath>";
216
-	$g = "<g clip-path=\"url(#$id)\">";
217
-	$svg = svg_insert_shapes($svg, $clippath . $g);
218
-	$svg = svg_insert_shapes($svg, "</g>", false);
219
-	return $svg;
213
+    $rect = "<rect x=\"$x\" y=\"$y\" width=\"$width\" height=\"$height\" />";
214
+    $id = 'clip-'.substr(md5($rect . strlen($svg)),0,8);
215
+    $clippath = "<clipPath id=\"$id\">$rect</clipPath>";
216
+    $g = "<g clip-path=\"url(#$id)\">";
217
+    $svg = svg_insert_shapes($svg, $clippath . $g);
218
+    $svg = svg_insert_shapes($svg, "</g>", false);
219
+    return $svg;
220 220
 }
221 221
 
222 222
 /**
@@ -227,21 +227,21 @@  discard block
 block discarded – undo
227 227
  * @return bool|string
228 228
  */
229 229
 function svg_redimensionner($img, $new_width, $new_height) {
230
-	if ($svg = svg_charger($img)
231
-	  and $svg_infos = svg_lire_balise_svg($svg)) {
230
+    if ($svg = svg_charger($img)
231
+      and $svg_infos = svg_lire_balise_svg($svg)) {
232 232
 
233
-		list($balise_svg, $attributs) = $svg_infos;
234
-		if (!isset($attributs['viewBox'])) {
235
-			$attributs['viewBox'] = "0 0 " . $attributs['width'] . " " . $attributs['height'];
236
-		}
237
-		$attributs['width'] = strval($new_width);
238
-		$attributs['height'] = strval($new_height);
233
+        list($balise_svg, $attributs) = $svg_infos;
234
+        if (!isset($attributs['viewBox'])) {
235
+            $attributs['viewBox'] = "0 0 " . $attributs['width'] . " " . $attributs['height'];
236
+        }
237
+        $attributs['width'] = strval($new_width);
238
+        $attributs['height'] = strval($new_height);
239 239
 
240
-		$svg = svg_change_balise_svg($svg, $balise_svg, $attributs);
241
-		return $svg;
242
-	}
240
+        $svg = svg_change_balise_svg($svg, $balise_svg, $attributs);
241
+        return $svg;
242
+    }
243 243
 
244
-	return $img;
244
+    return $img;
245 245
 }
246 246
 
247 247
 /**
@@ -250,15 +250,15 @@  discard block
 block discarded – undo
250 250
  * @return string
251 251
  */
252 252
 function svg_couleur_to_hexa($couleur) {
253
-	if (strpos($couleur, "rgb(")===0) {
254
-		$c = explode(',', substr($couleur, 4));
255
-		$couleur = _couleur_dec_to_hex(intval($c[0]), intval($c[1]), intval($c[2]));
256
-	}
257
-	else {
258
-		$couleur = couleur_html_to_hex($couleur);
259
-	}
260
-	$couleur = '#'.ltrim($couleur,'#');
261
-	return $couleur;
253
+    if (strpos($couleur, "rgb(")===0) {
254
+        $c = explode(',', substr($couleur, 4));
255
+        $couleur = _couleur_dec_to_hex(intval($c[0]), intval($c[1]), intval($c[2]));
256
+    }
257
+    else {
258
+        $couleur = couleur_html_to_hex($couleur);
259
+    }
260
+    $couleur = '#'.ltrim($couleur,'#');
261
+    return $couleur;
262 262
 }
263 263
 
264 264
 /**
@@ -267,11 +267,11 @@  discard block
 block discarded – undo
267 267
  * @return array
268 268
  */
269 269
 function svg_couleur_to_rgb($couleur) {
270
-	if (strpos($couleur, "rgb(")===0) {
271
-		$c = explode(',', substr($couleur, 4));
272
-		return ['red' => intval($c[0]),'green' => intval($c[1]),'blue' => intval($c[2])];
273
-	}
274
-	return _couleur_hex_to_dec($couleur);
270
+    if (strpos($couleur, "rgb(")===0) {
271
+        $c = explode(',', substr($couleur, 4));
272
+        return ['red' => intval($c[0]),'green' => intval($c[1]),'blue' => intval($c[2])];
273
+    }
274
+    return _couleur_hex_to_dec($couleur);
275 275
 }
276 276
 
277 277
 
@@ -281,66 +281,66 @@  discard block
 block discarded – undo
281 281
  * @return array
282 282
  */
283 283
 function svg_getimagesize_from_attr($attributs) {
284
-	$width = 350; // default width
285
-	$height = 150; // default height
286
-
287
-	$viewBox = "0 0 $width $height";
288
-	if (isset($attributs['viewBox'])) {
289
-		$viewBox = $attributs['viewBox'];
290
-		$viewBox = preg_replace(",\s+,", " ", $viewBox);
291
-	}
292
-	// et on la convertit en px
293
-	$viewBox = explode(' ', $viewBox);
294
-	$viewBox = array_map('svg_dimension_to_pixels', $viewBox);
295
-	if (!$viewBox[2]) {
296
-		$viewBox[2] = $width;
297
-	}
298
-	if (!$viewBox[3]) {
299
-		$viewBox[3] = $height;
300
-	}
301
-
302
-	$coeff = 1;
303
-	if (isset($attributs['width'])
304
-	  and $w = svg_dimension_to_pixels($attributs['width'])) {
305
-		$width = $w;
306
-	}
307
-	else {
308
-		// si on recupere la taille de la viewbox mais si la viewbox est petite on met un multiplicateur pour la taille finale
309
-		$width = $viewBox[2];
310
-		if ($width < 1) {
311
-			$coeff = max($coeff, 1000);
312
-		}
313
-		elseif ($width < 10) {
314
-			$coeff = max($coeff, 100);
315
-		}
316
-		elseif ($width < 100) {
317
-			$coeff = max($coeff, 10);
318
-		}
319
-	}
320
-	if (isset($attributs['height'])
321
-	  and $h = svg_dimension_to_pixels($attributs['height'])) {
322
-		$height = $h;
323
-	}
324
-	else {
325
-		$height = $viewBox[3];
326
-		if ($height < 1) {
327
-			$coeff = max($coeff, 1000);
328
-		}
329
-		elseif ($height < 10) {
330
-			$coeff = max($coeff, 100);
331
-		}
332
-		elseif ($height < 100) {
333
-			$coeff = max($coeff, 10);
334
-		}
335
-	}
336
-
337
-	// arrondir le width et height en pixel in fine
338
-	$width = round($coeff * $width);
339
-	$height = round($coeff * $height);
340
-
341
-	$viewBox = implode(' ', $viewBox);
342
-
343
-	return array($width, $height, $viewBox);
284
+    $width = 350; // default width
285
+    $height = 150; // default height
286
+
287
+    $viewBox = "0 0 $width $height";
288
+    if (isset($attributs['viewBox'])) {
289
+        $viewBox = $attributs['viewBox'];
290
+        $viewBox = preg_replace(",\s+,", " ", $viewBox);
291
+    }
292
+    // et on la convertit en px
293
+    $viewBox = explode(' ', $viewBox);
294
+    $viewBox = array_map('svg_dimension_to_pixels', $viewBox);
295
+    if (!$viewBox[2]) {
296
+        $viewBox[2] = $width;
297
+    }
298
+    if (!$viewBox[3]) {
299
+        $viewBox[3] = $height;
300
+    }
301
+
302
+    $coeff = 1;
303
+    if (isset($attributs['width'])
304
+      and $w = svg_dimension_to_pixels($attributs['width'])) {
305
+        $width = $w;
306
+    }
307
+    else {
308
+        // si on recupere la taille de la viewbox mais si la viewbox est petite on met un multiplicateur pour la taille finale
309
+        $width = $viewBox[2];
310
+        if ($width < 1) {
311
+            $coeff = max($coeff, 1000);
312
+        }
313
+        elseif ($width < 10) {
314
+            $coeff = max($coeff, 100);
315
+        }
316
+        elseif ($width < 100) {
317
+            $coeff = max($coeff, 10);
318
+        }
319
+    }
320
+    if (isset($attributs['height'])
321
+      and $h = svg_dimension_to_pixels($attributs['height'])) {
322
+        $height = $h;
323
+    }
324
+    else {
325
+        $height = $viewBox[3];
326
+        if ($height < 1) {
327
+            $coeff = max($coeff, 1000);
328
+        }
329
+        elseif ($height < 10) {
330
+            $coeff = max($coeff, 100);
331
+        }
332
+        elseif ($height < 100) {
333
+            $coeff = max($coeff, 10);
334
+        }
335
+    }
336
+
337
+    // arrondir le width et height en pixel in fine
338
+    $width = round($coeff * $width);
339
+    $height = round($coeff * $height);
340
+
341
+    $viewBox = implode(' ', $viewBox);
342
+
343
+    return array($width, $height, $viewBox);
344 344
 }
345 345
 
346 346
 /**
@@ -356,24 +356,24 @@  discard block
 block discarded – undo
356 356
  * @return string
357 357
  */
358 358
 function svg_force_viewBox_px($img, $force_width_and_height = false) {
359
-	if ($svg = svg_charger($img)
360
-	  and $svg_infos = svg_lire_balise_svg($svg)){
359
+    if ($svg = svg_charger($img)
360
+      and $svg_infos = svg_lire_balise_svg($svg)){
361 361
 
362
-		list($balise_svg, $attributs) = $svg_infos;
362
+        list($balise_svg, $attributs) = $svg_infos;
363 363
 
364
-		list($width, $height, $viewBox) = svg_getimagesize_from_attr($attributs);
364
+        list($width, $height, $viewBox) = svg_getimagesize_from_attr($attributs);
365 365
 
366
-		if ($force_width_and_height) {
367
-			$attributs['width'] = $width;
368
-			$attributs['height'] = $height;
369
-		}
366
+        if ($force_width_and_height) {
367
+            $attributs['width'] = $width;
368
+            $attributs['height'] = $height;
369
+        }
370 370
 
371
-		$attributs['viewBox'] = $viewBox;
371
+        $attributs['viewBox'] = $viewBox;
372 372
 
373
-		$svg = svg_change_balise_svg($svg, $balise_svg, $attributs);
374
-		return $svg;
375
-	}
376
-	return $img;
373
+        $svg = svg_change_balise_svg($svg, $balise_svg, $attributs);
374
+        return $svg;
375
+    }
376
+    return $img;
377 377
 }
378 378
 
379 379
 /**
@@ -382,12 +382,12 @@  discard block
 block discarded – undo
382 382
  * @return array|mixed
383 383
  */
384 384
 function svg_extract_couleurs($img) {
385
-	if ($svg = svg_charger($img)) {
386
-		if (preg_match_all("/(#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])|(rgb\([\s\d]+,[\s\d]+,[\s\d]+\))|(#[0-9a-f][0-9a-f][0-9a-f])/imS", $svg, $matches)) {
387
-			return $matches[0];
388
-		}
389
-	}
390
-	return [];
385
+    if ($svg = svg_charger($img)) {
386
+        if (preg_match_all("/(#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])|(rgb\([\s\d]+,[\s\d]+,[\s\d]+\))|(#[0-9a-f][0-9a-f][0-9a-f])/imS", $svg, $matches)) {
387
+            return $matches[0];
388
+        }
389
+    }
390
+    return [];
391 391
 }
392 392
 
393 393
 /**
@@ -398,56 +398,56 @@  discard block
 block discarded – undo
398 398
  * @return bool|string
399 399
  */
400 400
 function svg_recadrer($img, $new_width, $new_height, $offset_width, $offset_height, $background_color='') {
401
-	if ($svg = svg_force_viewBox_px($img)
402
-	  and $svg_infos = svg_lire_balise_svg($svg)) {
403
-
404
-		list($balise_svg, $attributs) = $svg_infos;
405
-		$viewBox = explode(' ', $attributs['viewBox']);
406
-
407
-		$viewport_w = $new_width;
408
-		$viewport_h = $new_height;
409
-		$viewport_ox = $offset_width;
410
-		$viewport_oy = $offset_height;
411
-
412
-		// si on a un width/height qui rescale, il faut rescaler
413
-		if (isset ($attributs['width'])
414
-		  and $w = svg_dimension_to_pixels($attributs['width'])
415
-		  and isset ($attributs['height'])
416
-		  and $h = svg_dimension_to_pixels($attributs['height'])) {
417
-
418
-			$xscale = $viewBox[2] / $w;
419
-			$viewport_w = round($viewport_w * $xscale, 2);
420
-			$viewport_ox = round($viewport_ox * $xscale, 2);
421
-			$yscale = $viewBox[3] / $h;
422
-			$viewport_h = round($viewport_h * $yscale, 2);
423
-			$viewport_oy = round($viewport_oy * $yscale, 2);
424
-		}
425
-
426
-		if ($viewport_w>$viewBox[2] or $viewport_h>$viewBox[3]) {
427
-			$svg = svg_clip_in_box($svg, $viewBox[0], $viewBox[1], $viewBox[2], $viewBox[3]);
428
-		}
429
-
430
-		// maintenant on redefinit la viewBox
431
-		$viewBox[0] += $viewport_ox;
432
-		$viewBox[1] += $viewport_oy;
433
-		$viewBox[2] = $viewport_w;
434
-		$viewBox[3] = $viewport_h;
435
-
436
-		$attributs['viewBox'] = implode(' ', $viewBox);
437
-		$attributs['width'] = strval($new_width);
438
-		$attributs['height'] = strval($new_height);
439
-
440
-		$svg = svg_change_balise_svg($svg, $balise_svg, $attributs);
441
-
442
-		// ajouter un background
443
-		if ($background_color and $background_color!=='transparent') {
444
-			$svg = svg_ajouter_background($svg, $background_color);
445
-		}
446
-
447
-		return $svg;
448
-	}
449
-
450
-	return $img;
401
+    if ($svg = svg_force_viewBox_px($img)
402
+      and $svg_infos = svg_lire_balise_svg($svg)) {
403
+
404
+        list($balise_svg, $attributs) = $svg_infos;
405
+        $viewBox = explode(' ', $attributs['viewBox']);
406
+
407
+        $viewport_w = $new_width;
408
+        $viewport_h = $new_height;
409
+        $viewport_ox = $offset_width;
410
+        $viewport_oy = $offset_height;
411
+
412
+        // si on a un width/height qui rescale, il faut rescaler
413
+        if (isset ($attributs['width'])
414
+          and $w = svg_dimension_to_pixels($attributs['width'])
415
+          and isset ($attributs['height'])
416
+          and $h = svg_dimension_to_pixels($attributs['height'])) {
417
+
418
+            $xscale = $viewBox[2] / $w;
419
+            $viewport_w = round($viewport_w * $xscale, 2);
420
+            $viewport_ox = round($viewport_ox * $xscale, 2);
421
+            $yscale = $viewBox[3] / $h;
422
+            $viewport_h = round($viewport_h * $yscale, 2);
423
+            $viewport_oy = round($viewport_oy * $yscale, 2);
424
+        }
425
+
426
+        if ($viewport_w>$viewBox[2] or $viewport_h>$viewBox[3]) {
427
+            $svg = svg_clip_in_box($svg, $viewBox[0], $viewBox[1], $viewBox[2], $viewBox[3]);
428
+        }
429
+
430
+        // maintenant on redefinit la viewBox
431
+        $viewBox[0] += $viewport_ox;
432
+        $viewBox[1] += $viewport_oy;
433
+        $viewBox[2] = $viewport_w;
434
+        $viewBox[3] = $viewport_h;
435
+
436
+        $attributs['viewBox'] = implode(' ', $viewBox);
437
+        $attributs['width'] = strval($new_width);
438
+        $attributs['height'] = strval($new_height);
439
+
440
+        $svg = svg_change_balise_svg($svg, $balise_svg, $attributs);
441
+
442
+        // ajouter un background
443
+        if ($background_color and $background_color!=='transparent') {
444
+            $svg = svg_ajouter_background($svg, $background_color);
445
+        }
446
+
447
+        return $svg;
448
+    }
449
+
450
+    return $img;
451 451
 }
452 452
 
453 453
 /**
@@ -457,25 +457,25 @@  discard block
 block discarded – undo
457 457
  * @return bool|string
458 458
  */
459 459
 function svg_ajouter_background($img, $background_color) {
460
-	if ($svg = svg_charger($img)
461
-	  and $svg_infos = svg_lire_balise_svg($svg)){
462
-
463
-		if ($background_color and $background_color!=='transparent') {
464
-			list($balise_svg, $attributs) = $svg_infos;
465
-
466
-			$background_color = svg_couleur_to_hexa($background_color);
467
-			if (isset($attributs['viewBox'])) {
468
-				$viewBox = explode(' ', $attributs['viewBox']);
469
-				$rect = "<rect x=\"".$viewBox[0]."\" y=\"".$viewBox[1]."\" width=\"".$viewBox[2]."\" height=\"".$viewBox[3]."\" fill=\"$background_color\"/>";
470
-			}
471
-			else {
472
-				$rect = "<rect width=\"100%\" height=\"100%\" fill=\"$background_color\"/>";
473
-			}
474
-			$svg = svg_insert_shapes($svg, $rect);
475
-		}
476
-		return $svg;
477
-	}
478
-	return $img;
460
+    if ($svg = svg_charger($img)
461
+      and $svg_infos = svg_lire_balise_svg($svg)){
462
+
463
+        if ($background_color and $background_color!=='transparent') {
464
+            list($balise_svg, $attributs) = $svg_infos;
465
+
466
+            $background_color = svg_couleur_to_hexa($background_color);
467
+            if (isset($attributs['viewBox'])) {
468
+                $viewBox = explode(' ', $attributs['viewBox']);
469
+                $rect = "<rect x=\"".$viewBox[0]."\" y=\"".$viewBox[1]."\" width=\"".$viewBox[2]."\" height=\"".$viewBox[3]."\" fill=\"$background_color\"/>";
470
+            }
471
+            else {
472
+                $rect = "<rect width=\"100%\" height=\"100%\" fill=\"$background_color\"/>";
473
+            }
474
+            $svg = svg_insert_shapes($svg, $rect);
475
+        }
476
+        return $svg;
477
+    }
478
+    return $img;
479 479
 }
480 480
 
481 481
 
@@ -486,25 +486,25 @@  discard block
 block discarded – undo
486 486
  * @return bool|string
487 487
  */
488 488
 function svg_ajouter_voile($img, $background_color, $opacity) {
489
-	if ($svg = svg_charger($img)
490
-	  and $svg_infos = svg_lire_balise_svg($svg)){
491
-
492
-		if ($background_color and $background_color!=='transparent') {
493
-			list($balise_svg, $attributs) = $svg_infos;
494
-
495
-			$background_color = svg_couleur_to_hexa($background_color);
496
-			if (isset($attributs['viewBox'])) {
497
-				$viewBox = explode(' ', $attributs['viewBox']);
498
-				$rect = "<rect x=\"".$viewBox[0]."\" y=\"".$viewBox[1]."\" width=\"".$viewBox[2]."\" height=\"".$viewBox[3]."\" fill=\"$background_color\" opacity=\"$opacity\"/>";
499
-			}
500
-			else {
501
-				$rect = "<rect width=\"100%\" height=\"100%\" fill=\"$background_color\"/>";
502
-			}
503
-			$svg = svg_insert_shapes($svg, $rect, false);
504
-		}
505
-		return $svg;
506
-	}
507
-	return $img;
489
+    if ($svg = svg_charger($img)
490
+      and $svg_infos = svg_lire_balise_svg($svg)){
491
+
492
+        if ($background_color and $background_color!=='transparent') {
493
+            list($balise_svg, $attributs) = $svg_infos;
494
+
495
+            $background_color = svg_couleur_to_hexa($background_color);
496
+            if (isset($attributs['viewBox'])) {
497
+                $viewBox = explode(' ', $attributs['viewBox']);
498
+                $rect = "<rect x=\"".$viewBox[0]."\" y=\"".$viewBox[1]."\" width=\"".$viewBox[2]."\" height=\"".$viewBox[3]."\" fill=\"$background_color\" opacity=\"$opacity\"/>";
499
+            }
500
+            else {
501
+                $rect = "<rect width=\"100%\" height=\"100%\" fill=\"$background_color\"/>";
502
+            }
503
+            $svg = svg_insert_shapes($svg, $rect, false);
504
+        }
505
+        return $svg;
506
+    }
507
+    return $img;
508 508
 }
509 509
 
510 510
 
@@ -515,26 +515,26 @@  discard block
 block discarded – undo
515 515
  * @return bool|string
516 516
  */
517 517
 function svg_transformer($img, $attributs) {
518
-	if ($svg = svg_charger($img)
519
-	  and $svg_infos = svg_lire_balise_svg($svg)){
520
-
521
-		if ($attributs) {
522
-			list($balise_svg, ) = $svg_infos;
523
-			$g = "<g";
524
-			foreach ($attributs as $k=>$v) {
525
-				if (strlen($v)) {
526
-					$g .= " $k=\"".attribut_html($v)."\"";
527
-				}
528
-			}
529
-			if (strlen($g) > 2) {
530
-				$g .= ">";
531
-				$svg = svg_insert_shapes($svg, $g);
532
-				$svg = svg_insert_shapes($svg, "</g>", false);
533
-			}
534
-		}
535
-		return $svg;
536
-	}
537
-	return $img;
518
+    if ($svg = svg_charger($img)
519
+      and $svg_infos = svg_lire_balise_svg($svg)){
520
+
521
+        if ($attributs) {
522
+            list($balise_svg, ) = $svg_infos;
523
+            $g = "<g";
524
+            foreach ($attributs as $k=>$v) {
525
+                if (strlen($v)) {
526
+                    $g .= " $k=\"".attribut_html($v)."\"";
527
+                }
528
+            }
529
+            if (strlen($g) > 2) {
530
+                $g .= ">";
531
+                $svg = svg_insert_shapes($svg, $g);
532
+                $svg = svg_insert_shapes($svg, "</g>", false);
533
+            }
534
+        }
535
+        return $svg;
536
+    }
537
+    return $img;
538 538
 }
539 539
 
540 540
 /**
@@ -545,20 +545,20 @@  discard block
 block discarded – undo
545 545
  * @return bool|string
546 546
  */
547 547
 function svg_apply_filter($img, $filter_def) {
548
-	if ($svg = svg_charger($img)
549
-	  and $svg_infos = svg_lire_balise_svg($svg)){
550
-
551
-		if ($filter_def) {
552
-			list($balise_svg, ) = $svg_infos;
553
-			$filter_id = "filter-". substr(md5($filter_def . strlen($svg)), 0, 8);
554
-			$filter = "<defs><filter id=\"$filter_id\">$filter_def</filter></defs>";
555
-			$g = "<g filter=\"url(#$filter_id)\">";
556
-			$svg = svg_insert_shapes($svg, $filter . $g);
557
-			$svg = svg_insert_shapes($svg, "</g>", false);
558
-		}
559
-		return $svg;
560
-	}
561
-	return $img;
548
+    if ($svg = svg_charger($img)
549
+      and $svg_infos = svg_lire_balise_svg($svg)){
550
+
551
+        if ($filter_def) {
552
+            list($balise_svg, ) = $svg_infos;
553
+            $filter_id = "filter-". substr(md5($filter_def . strlen($svg)), 0, 8);
554
+            $filter = "<defs><filter id=\"$filter_id\">$filter_def</filter></defs>";
555
+            $g = "<g filter=\"url(#$filter_id)\">";
556
+            $svg = svg_insert_shapes($svg, $filter . $g);
557
+            $svg = svg_insert_shapes($svg, "</g>", false);
558
+        }
559
+        return $svg;
560
+    }
561
+    return $img;
562 562
 }
563 563
 
564 564
 /**
@@ -568,8 +568,8 @@  discard block
 block discarded – undo
568 568
  * @return string
569 569
  */
570 570
 function svg_filter_blur($img, $blur_width) {
571
-	$blur_width = intval($blur_width);
572
-	return svg_apply_filter($img, "<feGaussianBlur stdDeviation=\"$blur_width\"/>");
571
+    $blur_width = intval($blur_width);
572
+    return svg_apply_filter($img, "<feGaussianBlur stdDeviation=\"$blur_width\"/>");
573 573
 }
574 574
 
575 575
 /**
@@ -579,10 +579,10 @@  discard block
 block discarded – undo
579 579
  * @return bool|string
580 580
  */
581 581
 function svg_filter_grayscale($img, $intensity) {
582
-	$value = round(1.0 - $intensity, 2);
583
-	//$filter = "<feColorMatrix type=\"matrix\" values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"/>";
584
-	$filter = "<feColorMatrix type=\"saturate\" values=\"$value\"/>";
585
-	return svg_apply_filter($img, $filter);
582
+    $value = round(1.0 - $intensity, 2);
583
+    //$filter = "<feColorMatrix type=\"matrix\" values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\"/>";
584
+    $filter = "<feColorMatrix type=\"saturate\" values=\"$value\"/>";
585
+    return svg_apply_filter($img, $filter);
586 586
 }
587 587
 
588 588
 /**
@@ -592,8 +592,8 @@  discard block
 block discarded – undo
592 592
  * @return bool|string
593 593
  */
594 594
 function svg_filter_sepia($img, $intensity) {
595
-	$filter = "<feColorMatrix type=\"matrix\" values=\"0.30 0.30 0.30 0.0 0 0.25 0.25 0.25 0.0 0 0.20 0.20 0.20 0.0 0 0.00 0.00 0.00 1 0\"/>";
596
-	return svg_apply_filter($img, $filter);
595
+    $filter = "<feColorMatrix type=\"matrix\" values=\"0.30 0.30 0.30 0.0 0 0.25 0.25 0.25 0.0 0 0.20 0.20 0.20 0.0 0 0.00 0.00 0.00 1 0\"/>";
596
+    return svg_apply_filter($img, $filter);
597 597
 }
598 598
 
599 599
 /**
@@ -603,30 +603,30 @@  discard block
 block discarded – undo
603 603
  * @return bool|string
604 604
  */
605 605
 function svg_flip($img, $HorV) {
606
-	if ($svg = svg_force_viewBox_px($img)
607
-	  and $svg_infos = svg_lire_balise_svg($svg)){
608
-
609
-		list($balise_svg, $atts) = $svg_infos;
610
-		$viewBox = explode(' ', $atts['viewBox']);
611
-
612
-		if (!in_array($HorV, ['h', 'H'])) {
613
-			$transform = "scale(-1,1)";
614
-
615
-			$x = intval($viewBox[0]) + intval($viewBox[2]/2);
616
-			$mx = -$x;
617
-			$transform = "translate($x, 0) $transform translate($mx, 0)";
618
-		}
619
-		else {
620
-			$transform = "scale(1,-1)";
621
-
622
-			$y = intval($viewBox[1]) + intval($viewBox[3]/2);
623
-			$my = -$y;
624
-			$transform = "translate(0, $y) $transform translate(0, $my)";
625
-		}
626
-		$svg = svg_transformer($svg, ['transform' => $transform]);
627
-		return $svg;
628
-	}
629
-	return $img;
606
+    if ($svg = svg_force_viewBox_px($img)
607
+      and $svg_infos = svg_lire_balise_svg($svg)){
608
+
609
+        list($balise_svg, $atts) = $svg_infos;
610
+        $viewBox = explode(' ', $atts['viewBox']);
611
+
612
+        if (!in_array($HorV, ['h', 'H'])) {
613
+            $transform = "scale(-1,1)";
614
+
615
+            $x = intval($viewBox[0]) + intval($viewBox[2]/2);
616
+            $mx = -$x;
617
+            $transform = "translate($x, 0) $transform translate($mx, 0)";
618
+        }
619
+        else {
620
+            $transform = "scale(1,-1)";
621
+
622
+            $y = intval($viewBox[1]) + intval($viewBox[3]/2);
623
+            $my = -$y;
624
+            $transform = "translate(0, $y) $transform translate(0, $my)";
625
+        }
626
+        $svg = svg_transformer($svg, ['transform' => $transform]);
627
+        return $svg;
628
+    }
629
+    return $img;
630 630
 }
631 631
 
632 632
 /**
@@ -640,19 +640,19 @@  discard block
 block discarded – undo
640 640
  * @return bool|string
641 641
  */
642 642
 function svg_rotate($img, $angle, $center_x, $center_y) {
643
-	if ($svg = svg_force_viewBox_px($img)
644
-		and $svg_infos = svg_lire_balise_svg($svg)){
643
+    if ($svg = svg_force_viewBox_px($img)
644
+        and $svg_infos = svg_lire_balise_svg($svg)){
645 645
 
646
-		list($balise_svg, $atts) = $svg_infos;
647
-		$viewBox = explode(' ', $atts['viewBox']);
646
+        list($balise_svg, $atts) = $svg_infos;
647
+        $viewBox = explode(' ', $atts['viewBox']);
648 648
 
649
-		$center_x = round($viewBox[0] + $center_x * $viewBox[2]);
650
-		$center_y = round($viewBox[1] + $center_y * $viewBox[3]);
651
-		$svg = svg_transformer($svg, ['transform' => "rotate($angle $center_x $center_y)"]);
649
+        $center_x = round($viewBox[0] + $center_x * $viewBox[2]);
650
+        $center_y = round($viewBox[1] + $center_y * $viewBox[3]);
651
+        $svg = svg_transformer($svg, ['transform' => "rotate($angle $center_x $center_y)"]);
652 652
 
653
-		return $svg;
654
-	}
655
-	return $img;
653
+        return $svg;
654
+    }
655
+    return $img;
656 656
 }
657 657
 
658 658
 /**
@@ -664,40 +664,40 @@  discard block
 block discarded – undo
664 664
  * @return bool|mixed|string
665 665
  */
666 666
 function svg_filtrer_couleurs($img, $callback_filter) {
667
-	if ($svg = svg_force_viewBox_px($img)
668
-	  and $colors = svg_extract_couleurs($svg)) {
669
-
670
-		$colors = array_unique($colors);
671
-
672
-		$short = [];
673
-		$long = [];
674
-		while (count($colors)) {
675
-			$c = array_shift($colors);
676
-			if (strlen($c) == 4) {
677
-				$short[] = $c;
678
-			}
679
-			else {
680
-				$long[] = $c;
681
-			}
682
-		}
683
-
684
-		$colors = array_merge($long, $short);
685
-		$new_colors = [];
686
-		$colors = array_flip($colors);
687
-		foreach ($colors as $c => $k) {
688
-			$colors[$c] = "@@@COLOR$$k$@@@";
689
-		}
690
-
691
-
692
-		foreach ($colors as $original => $replace) {
693
-			$new = svg_couleur_to_hexa($original);
694
-			$new_colors[$replace] = $callback_filter($new);
695
-		}
696
-
697
-		$svg = str_replace(array_keys($colors), array_values($colors), $svg);
698
-		$svg = str_replace(array_keys($new_colors), array_values($new_colors), $svg);
699
-
700
-		return $svg;
701
-	}
702
-	return $img;
667
+    if ($svg = svg_force_viewBox_px($img)
668
+      and $colors = svg_extract_couleurs($svg)) {
669
+
670
+        $colors = array_unique($colors);
671
+
672
+        $short = [];
673
+        $long = [];
674
+        while (count($colors)) {
675
+            $c = array_shift($colors);
676
+            if (strlen($c) == 4) {
677
+                $short[] = $c;
678
+            }
679
+            else {
680
+                $long[] = $c;
681
+            }
682
+        }
683
+
684
+        $colors = array_merge($long, $short);
685
+        $new_colors = [];
686
+        $colors = array_flip($colors);
687
+        foreach ($colors as $c => $k) {
688
+            $colors[$c] = "@@@COLOR$$k$@@@";
689
+        }
690
+
691
+
692
+        foreach ($colors as $original => $replace) {
693
+            $new = svg_couleur_to_hexa($original);
694
+            $new_colors[$replace] = $callback_filter($new);
695
+        }
696
+
697
+        $svg = str_replace(array_keys($colors), array_values($colors), $svg);
698
+        $svg = str_replace(array_keys($new_colors), array_values($new_colors), $svg);
699
+
700
+        return $svg;
701
+    }
702
+    return $img;
703 703
 }
704 704
\ No newline at end of file
Please login to merge, or discard this patch.
ecrire/lang/ecrire_bg.php 1 patch
Indentation   +544 added lines, -544 removed lines patch added patch discarded remove patch
@@ -4,311 +4,311 @@  discard block
 block discarded – undo
4 4
 // ** ne pas modifier le fichier **
5 5
 
6 6
 if (!defined('_ECRIRE_INC_VERSION')) {
7
-	return;
7
+    return;
8 8
 }
9 9
 
10 10
 $GLOBALS[$GLOBALS['idx_lang']] = array(
11 11
 
12
-	// A
13
-	'activer_plugin' => 'Активирайте плъгина',
14
-	'aide_non_disponible' => 'Тази част от рубриката "Помощник" все още не е публикувана на български език.',
15
-	'auteur' => 'Автор:',
16
-	'avis_acces_interdit' => 'Забранен достъп.',
17
-	'avis_article_modifie' => 'Предупреждение! @nom_auteur_modif@ е работил по тази статия преди @date_diff@ минути',
18
-	'avis_aucun_resultat' => 'Няма намерени резултати.',
19
-	'avis_chemin_invalide_1' => 'Името на файла, което сте избрали',
20
-	'avis_chemin_invalide_2' => 'е грешно. Моля, върнете се на предишната страница, за за проверите подадената информация. ',
21
-	'avis_connexion_echec_1' => 'Връзката към SQL сървъра се разпадна.', # MODIF
22
-	'avis_connexion_echec_2' => 'Моля, върнете се на предишната страница, за да проверите подадената информация.',
23
-	'avis_connexion_echec_3' => '<b>ВНИМАНИЕ!</b> За достъп до голяма част от сървърите е необходимо да се изпрати <b>заявка</b> за активиране достъпа до базите данни SQL, преди използването им. Ако не успеете да се свържете, проверете дали сте изпратили заявката.', # MODIF
24
-	'avis_connexion_ldap_echec_1' => 'Връзката с LDAP сървъра пропадна.',
25
-	'avis_connexion_ldap_echec_2' => 'Моля, върнете се на предишната страница, за за проверите подадената информация.',
26
-	'avis_connexion_ldap_echec_3' => 'Без използване на LDAP-поддръжка за вписване на потребители.',
27
-	'avis_deplacement_rubrique' => 'Предупреждение! Рубриката съдържа @contient_breves@ новина@scb@: ако желаете да я преместите, отметнете в полето за потвърждение. ',
28
-	'avis_erreur_connexion_mysql' => 'Грешка при свързване с SQL',
29
-	'avis_espace_interdit' => '<b>Забранена област</b><p>СПИП е вече инсталиран.', # MODIF
30
-	'avis_lecture_noms_bases_1' => 'Инсталаторът не може да прочете имената на инсталираните бази данни.',
31
-	'avis_lecture_noms_bases_2' => 'Или не съществува база данни, или свойството, позволяващо преглед на базите данни е забранено
12
+    // A
13
+    'activer_plugin' => 'Активирайте плъгина',
14
+    'aide_non_disponible' => 'Тази част от рубриката "Помощник" все още не е публикувана на български език.',
15
+    'auteur' => 'Автор:',
16
+    'avis_acces_interdit' => 'Забранен достъп.',
17
+    'avis_article_modifie' => 'Предупреждение! @nom_auteur_modif@ е работил по тази статия преди @date_diff@ минути',
18
+    'avis_aucun_resultat' => 'Няма намерени резултати.',
19
+    'avis_chemin_invalide_1' => 'Името на файла, което сте избрали',
20
+    'avis_chemin_invalide_2' => 'е грешно. Моля, върнете се на предишната страница, за за проверите подадената информация. ',
21
+    'avis_connexion_echec_1' => 'Връзката към SQL сървъра се разпадна.', # MODIF
22
+    'avis_connexion_echec_2' => 'Моля, върнете се на предишната страница, за да проверите подадената информация.',
23
+    'avis_connexion_echec_3' => '<b>ВНИМАНИЕ!</b> За достъп до голяма част от сървърите е необходимо да се изпрати <b>заявка</b> за активиране достъпа до базите данни SQL, преди използването им. Ако не успеете да се свържете, проверете дали сте изпратили заявката.', # MODIF
24
+    'avis_connexion_ldap_echec_1' => 'Връзката с LDAP сървъра пропадна.',
25
+    'avis_connexion_ldap_echec_2' => 'Моля, върнете се на предишната страница, за за проверите подадената информация.',
26
+    'avis_connexion_ldap_echec_3' => 'Без използване на LDAP-поддръжка за вписване на потребители.',
27
+    'avis_deplacement_rubrique' => 'Предупреждение! Рубриката съдържа @contient_breves@ новина@scb@: ако желаете да я преместите, отметнете в полето за потвърждение. ',
28
+    'avis_erreur_connexion_mysql' => 'Грешка при свързване с SQL',
29
+    'avis_espace_interdit' => '<b>Забранена област</b><p>СПИП е вече инсталиран.', # MODIF
30
+    'avis_lecture_noms_bases_1' => 'Инсталаторът не може да прочете имената на инсталираните бази данни.',
31
+    'avis_lecture_noms_bases_2' => 'Или не съществува база данни, или свойството, позволяващо преглед на базите данни е забранено
32 32
   поради съображения за сигурност (какъвто е случаят с много доставчици).',
33
-	'avis_lecture_noms_bases_3' => 'Ако втората възможност се окаже вярна, тогава е възможно да се използва базата данни, указана след Вашето влизане в системата.',
34
-	'avis_non_acces_page' => 'Забранен достъп до тази страница.',
35
-	'avis_operation_echec' => 'Операцията пропадна.',
36
-	'avis_suppression_base' => 'ПРЕДУПРЕЖДЕНИЕ: изтриването на данните е необратимо',
33
+    'avis_lecture_noms_bases_3' => 'Ако втората възможност се окаже вярна, тогава е възможно да се използва базата данни, указана след Вашето влизане в системата.',
34
+    'avis_non_acces_page' => 'Забранен достъп до тази страница.',
35
+    'avis_operation_echec' => 'Операцията пропадна.',
36
+    'avis_suppression_base' => 'ПРЕДУПРЕЖДЕНИЕ: изтриването на данните е необратимо',
37 37
 
38
-	// B
39
-	'bouton_acces_ldap' => 'Добавяне достъп до LDAP >>',
40
-	'bouton_ajouter' => 'Добавяне',
41
-	'bouton_demande_publication' => 'Заявка за публикуване на статията',
42
-	'bouton_desactive_tout' => 'Деактивирайте всички',
43
-	'bouton_effacer_tout' => 'Изтриване на ВСИЧКО',
44
-	'bouton_envoyer_message' => 'Последно съобщение: изпращане',
45
-	'bouton_modifier' => 'Промяна',
46
-	'bouton_radio_afficher' => 'Показване',
47
-	'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Добяване към списъка на текущо свързаните редактори',
48
-	'bouton_radio_envoi_annonces_adresse' => 'Изпращане на съобщения до следния адрес:',
49
-	'bouton_radio_envoi_liste_nouveautes' => 'Изпращане на списък с новини',
50
-	'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Изключване от списъка на текущо свързаните редактори',
51
-	'bouton_radio_non_envoi_annonces_editoriales' => 'Отказ от изпращане на редакторски съобщения',
52
-	'bouton_redirection' => 'ПРЕНАСОЧВАНЕ',
53
-	'bouton_relancer_installation' => 'Подновяване на инсталацията',
54
-	'bouton_suivant' => 'По-нататък',
55
-	'bouton_tenter_recuperation' => 'Опит за възстановяване',
56
-	'bouton_test_proxy' => 'Тестване на прокси',
57
-	'bouton_vider_cache' => 'Изпразване на кеш-паметта',
38
+    // B
39
+    'bouton_acces_ldap' => 'Добавяне достъп до LDAP >>',
40
+    'bouton_ajouter' => 'Добавяне',
41
+    'bouton_demande_publication' => 'Заявка за публикуване на статията',
42
+    'bouton_desactive_tout' => 'Деактивирайте всички',
43
+    'bouton_effacer_tout' => 'Изтриване на ВСИЧКО',
44
+    'bouton_envoyer_message' => 'Последно съобщение: изпращане',
45
+    'bouton_modifier' => 'Промяна',
46
+    'bouton_radio_afficher' => 'Показване',
47
+    'bouton_radio_apparaitre_liste_redacteurs_connectes' => 'Добяване към списъка на текущо свързаните редактори',
48
+    'bouton_radio_envoi_annonces_adresse' => 'Изпращане на съобщения до следния адрес:',
49
+    'bouton_radio_envoi_liste_nouveautes' => 'Изпращане на списък с новини',
50
+    'bouton_radio_non_apparaitre_liste_redacteurs_connectes' => 'Изключване от списъка на текущо свързаните редактори',
51
+    'bouton_radio_non_envoi_annonces_editoriales' => 'Отказ от изпращане на редакторски съобщения',
52
+    'bouton_redirection' => 'ПРЕНАСОЧВАНЕ',
53
+    'bouton_relancer_installation' => 'Подновяване на инсталацията',
54
+    'bouton_suivant' => 'По-нататък',
55
+    'bouton_tenter_recuperation' => 'Опит за възстановяване',
56
+    'bouton_test_proxy' => 'Тестване на прокси',
57
+    'bouton_vider_cache' => 'Изпразване на кеш-паметта',
58 58
 
59
-	// C
60
-	'cache_modifiable_webmestre' => 'Параметърът може да бъде променен от уеб-администратора. ',
61
-	'calendrier_synchro' => 'Ако инсталирате приложение за дневник, съвместимо с <b>iCal</b>, ще можете да го синхронизирате с информацията от сайта.',
59
+    // C
60
+    'cache_modifiable_webmestre' => 'Параметърът може да бъде променен от уеб-администратора. ',
61
+    'calendrier_synchro' => 'Ако инсталирате приложение за дневник, съвместимо с <b>iCal</b>, ще можете да го синхронизирате с информацията от сайта.',
62 62
 
63
-	// D
64
-	'date_mot_heures' => 'ч.',
63
+    // D
64
+    'date_mot_heures' => 'ч.',
65 65
 
66
-	// E
67
-	'email' => 'електронен адрес',
68
-	'email_2' => 'електронен адрес:',
69
-	'entree_adresse_annuaire' => 'Адрес на директорията',
70
-	'entree_adresse_email' => 'Електронен адрес (е-mail)',
71
-	'entree_base_donnee_1' => 'Адрес на базата данни',
72
-	'entree_base_donnee_2' => '(Често адресът съвпада с адрес от Вашия сайт, понякога съответства на името «localhost», а понякога се оставя празен.)',
73
-	'entree_biographie' => 'Кратка биография с няколко думи.',
74
-	'entree_chemin_acces' => '<b>Въвеждане</b> на път:',
75
-	'entree_cle_pgp' => 'PGP ключ',
76
-	'entree_contenu_rubrique' => '(Кратко съдържание на рубриката.)',
77
-	'entree_identifiants_connexion' => 'Идентефикатори за свързване',
78
-	'entree_informations_connexion_ldap' => 'Моля, попълнете бланката с информацията за LDAP връзка. Тази информация ще получите от системния или мрежовия администратор.',
79
-	'entree_infos_perso' => 'Кой си ти?',
80
-	'entree_interieur_rubrique' => 'В рубриката:',
81
-	'entree_liens_sites' => '<b>Хипертекстова препратка</b> (препратка, сайт за посещаване и т.н.)',
82
-	'entree_login' => 'Вход',
83
-	'entree_login_connexion_1' => 'Потребителско име за свързване',
84
-	'entree_login_connexion_2' => '(Понякога съвпада с Вашето потребителско име към FTP достъпа, понякога се оставя празно)',
85
-	'entree_mot_passe' => 'Парола',
86
-	'entree_mot_passe_1' => 'Парола за свързване',
87
-	'entree_mot_passe_2' => '(Понякога съвпада с паролата Ви за FTP-достъп, понякога се оставя празно)',
88
-	'entree_nom_fichier' => 'Моля, попълнете име на файла @texte_compresse@:',
89
-	'entree_nom_pseudo' => 'Име или прякор',
90
-	'entree_nom_pseudo_1' => '(Име или прякор)',
91
-	'entree_nom_site' => 'Име на сайта',
92
-	'entree_nouveau_passe' => 'Нова парола',
93
-	'entree_passe_ldap' => 'Парола',
94
-	'entree_port_annuaire' => 'Номер на порта на директорията',
95
-	'entree_signature' => 'Подпис',
96
-	'entree_titre_obligatoire' => '<b>Заглавие</b> [Задължително]<br />',
97
-	'entree_url' => 'URL на сайта',
98
-	'erreur_plugin_fichier_absent' => 'Липсва файл',
99
-	'erreur_plugin_fichier_def_absent' => 'Файлът - дефиниция липсва',
100
-	'erreur_plugin_nom_fonction_interdit' => 'Забранено име на функцията',
101
-	'erreur_plugin_nom_manquant' => 'Липсва име на плъгина',
102
-	'erreur_plugin_prefix_manquant' => 'Не е определено име, указващо мястото на плъгина',
103
-	'erreur_plugin_tag_plugin_absent' => '&lt;плъгин&gt; липсва във файла - дефиниция',
104
-	'erreur_plugin_version_manquant' => 'Липсва версията на плъгина',
66
+    // E
67
+    'email' => 'електронен адрес',
68
+    'email_2' => 'електронен адрес:',
69
+    'entree_adresse_annuaire' => 'Адрес на директорията',
70
+    'entree_adresse_email' => 'Електронен адрес (е-mail)',
71
+    'entree_base_donnee_1' => 'Адрес на базата данни',
72
+    'entree_base_donnee_2' => '(Често адресът съвпада с адрес от Вашия сайт, понякога съответства на името «localhost», а понякога се оставя празен.)',
73
+    'entree_biographie' => 'Кратка биография с няколко думи.',
74
+    'entree_chemin_acces' => '<b>Въвеждане</b> на път:',
75
+    'entree_cle_pgp' => 'PGP ключ',
76
+    'entree_contenu_rubrique' => '(Кратко съдържание на рубриката.)',
77
+    'entree_identifiants_connexion' => 'Идентефикатори за свързване',
78
+    'entree_informations_connexion_ldap' => 'Моля, попълнете бланката с информацията за LDAP връзка. Тази информация ще получите от системния или мрежовия администратор.',
79
+    'entree_infos_perso' => 'Кой си ти?',
80
+    'entree_interieur_rubrique' => 'В рубриката:',
81
+    'entree_liens_sites' => '<b>Хипертекстова препратка</b> (препратка, сайт за посещаване и т.н.)',
82
+    'entree_login' => 'Вход',
83
+    'entree_login_connexion_1' => 'Потребителско име за свързване',
84
+    'entree_login_connexion_2' => '(Понякога съвпада с Вашето потребителско име към FTP достъпа, понякога се оставя празно)',
85
+    'entree_mot_passe' => 'Парола',
86
+    'entree_mot_passe_1' => 'Парола за свързване',
87
+    'entree_mot_passe_2' => '(Понякога съвпада с паролата Ви за FTP-достъп, понякога се оставя празно)',
88
+    'entree_nom_fichier' => 'Моля, попълнете име на файла @texte_compresse@:',
89
+    'entree_nom_pseudo' => 'Име или прякор',
90
+    'entree_nom_pseudo_1' => '(Име или прякор)',
91
+    'entree_nom_site' => 'Име на сайта',
92
+    'entree_nouveau_passe' => 'Нова парола',
93
+    'entree_passe_ldap' => 'Парола',
94
+    'entree_port_annuaire' => 'Номер на порта на директорията',
95
+    'entree_signature' => 'Подпис',
96
+    'entree_titre_obligatoire' => '<b>Заглавие</b> [Задължително]<br />',
97
+    'entree_url' => 'URL на сайта',
98
+    'erreur_plugin_fichier_absent' => 'Липсва файл',
99
+    'erreur_plugin_fichier_def_absent' => 'Файлът - дефиниция липсва',
100
+    'erreur_plugin_nom_fonction_interdit' => 'Забранено име на функцията',
101
+    'erreur_plugin_nom_manquant' => 'Липсва име на плъгина',
102
+    'erreur_plugin_prefix_manquant' => 'Не е определено име, указващо мястото на плъгина',
103
+    'erreur_plugin_tag_plugin_absent' => '&lt;плъгин&gt; липсва във файла - дефиниция',
104
+    'erreur_plugin_version_manquant' => 'Липсва версията на плъгина',
105 105
 
106
-	// I
107
-	'ical_info1' => 'Тази страница представя няколко начина да останете във връзка с дейността на сайта.',
108
-	'ical_info2' => 'За повече информация, отидете на <a href="@spipnet@">Документация за СПИП</a>.', # MODIF
109
-	'ical_info_calendrier' => 'Имате на разположение два календара. Първият е карта на сайта, указваща всички публикувани статии. Вторият съдържа обявления за редакторите, както и най-новите лични съобщения до Вас. Този календар се показва само на Вас, благодарение на личнен ключ, който можете да променяте по всяко време чрез смяна на паролата.',
110
-	'ical_methode_http' => 'Сваляне',
111
-	'ical_methode_webcal' => 'Синхронизация (webcal://)', # MODIF
112
-	'ical_texte_js' => 'Един ред на скрипт Java позволява на всяка страница от сайта лесно да се показват най-новите публикувани статии.',
113
-	'ical_texte_prive' => 'Календарът е строго личен. Той уведомява за вътрешните редакторски дейности на сайта (напр. задачи, лични срещи, изпратени статии и новини и др.)',
114
-	'ical_texte_public' => 'Календарът Ви дава възможност да следите публичните дейности на сайта (напр. публикувани статии и новини).',
115
-	'ical_texte_rss' => 'Можете да обедините последните новини от сайта на всеки файлов четец от типа XML/RSS (Rich Site Summary). Това е същият формат, който позволява на СПИП да чете последните новини, публикувани от други сайтове като за целта използва съвместим формат за обмен.',
116
-	'ical_titre_js' => 'Скрипт Java',
117
-	'ical_titre_mailing' => 'Пощенски списък',
118
-	'ical_titre_rss' => 'Файлове за обединение',
119
-	'icone_activer_cookie' => 'Поставяне на cookie',
120
-	'icone_admin_plugin' => 'Управление на плъгините',
121
-	'icone_afficher_auteurs' => 'Показване на авторите',
122
-	'icone_afficher_visiteurs' => 'Показване на посетителите',
123
-	'icone_arret_discussion' => 'Прекъсване участието в тази дискусия',
124
-	'icone_calendrier' => 'Календар',
125
-	'icone_creer_auteur' => 'Създаване на автор и свързване със статията',
126
-	'icone_creer_mot_cle' => 'Създаване на ключова дума и свързване със статията',
127
-	'icone_creer_rubrique_2' => 'Създаване на рубрика',
128
-	'icone_modifier_article' => 'Промяна на статията',
129
-	'icone_modifier_rubrique' => 'Промяна на рубриката',
130
-	'icone_retour' => 'Обратно',
131
-	'icone_retour_article' => 'Обратно към статията',
132
-	'icone_supprimer_cookie' => 'Изтриване на cookie',
133
-	'icone_supprimer_rubrique' => 'Изтриване на рубриката',
134
-	'icone_supprimer_signature' => 'Изтриване на записа',
135
-	'icone_valider_signature' => 'Одобряване на записа',
136
-	'image_administrer_rubrique' => 'Управление на рубриката',
137
-	'impossible_modifier_login_auteur' => 'Impossible de modifier le login.', # MODIF
138
-	'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.', # MODIF
139
-	'info_1_article' => '1 статия',
140
-	'info_activer_cookie' => 'Възможност за активиране на <b>cookie администриране</b>, което позволява
106
+    // I
107
+    'ical_info1' => 'Тази страница представя няколко начина да останете във връзка с дейността на сайта.',
108
+    'ical_info2' => 'За повече информация, отидете на <a href="@spipnet@">Документация за СПИП</a>.', # MODIF
109
+    'ical_info_calendrier' => 'Имате на разположение два календара. Първият е карта на сайта, указваща всички публикувани статии. Вторият съдържа обявления за редакторите, както и най-новите лични съобщения до Вас. Този календар се показва само на Вас, благодарение на личнен ключ, който можете да променяте по всяко време чрез смяна на паролата.',
110
+    'ical_methode_http' => 'Сваляне',
111
+    'ical_methode_webcal' => 'Синхронизация (webcal://)', # MODIF
112
+    'ical_texte_js' => 'Един ред на скрипт Java позволява на всяка страница от сайта лесно да се показват най-новите публикувани статии.',
113
+    'ical_texte_prive' => 'Календарът е строго личен. Той уведомява за вътрешните редакторски дейности на сайта (напр. задачи, лични срещи, изпратени статии и новини и др.)',
114
+    'ical_texte_public' => 'Календарът Ви дава възможност да следите публичните дейности на сайта (напр. публикувани статии и новини).',
115
+    'ical_texte_rss' => 'Можете да обедините последните новини от сайта на всеки файлов четец от типа XML/RSS (Rich Site Summary). Това е същият формат, който позволява на СПИП да чете последните новини, публикувани от други сайтове като за целта използва съвместим формат за обмен.',
116
+    'ical_titre_js' => 'Скрипт Java',
117
+    'ical_titre_mailing' => 'Пощенски списък',
118
+    'ical_titre_rss' => 'Файлове за обединение',
119
+    'icone_activer_cookie' => 'Поставяне на cookie',
120
+    'icone_admin_plugin' => 'Управление на плъгините',
121
+    'icone_afficher_auteurs' => 'Показване на авторите',
122
+    'icone_afficher_visiteurs' => 'Показване на посетителите',
123
+    'icone_arret_discussion' => 'Прекъсване участието в тази дискусия',
124
+    'icone_calendrier' => 'Календар',
125
+    'icone_creer_auteur' => 'Създаване на автор и свързване със статията',
126
+    'icone_creer_mot_cle' => 'Създаване на ключова дума и свързване със статията',
127
+    'icone_creer_rubrique_2' => 'Създаване на рубрика',
128
+    'icone_modifier_article' => 'Промяна на статията',
129
+    'icone_modifier_rubrique' => 'Промяна на рубриката',
130
+    'icone_retour' => 'Обратно',
131
+    'icone_retour_article' => 'Обратно към статията',
132
+    'icone_supprimer_cookie' => 'Изтриване на cookie',
133
+    'icone_supprimer_rubrique' => 'Изтриване на рубриката',
134
+    'icone_supprimer_signature' => 'Изтриване на записа',
135
+    'icone_valider_signature' => 'Одобряване на записа',
136
+    'image_administrer_rubrique' => 'Управление на рубриката',
137
+    'impossible_modifier_login_auteur' => 'Impossible de modifier le login.', # MODIF
138
+    'impossible_modifier_pass_auteur' => 'Impossible de modifier le mot de passe.', # MODIF
139
+    'info_1_article' => '1 статия',
140
+    'info_activer_cookie' => 'Възможност за активиране на <b>cookie администриране</b>, което позволява
141 141
  улеснено превключване между публичния сайт и личната зона.',
142
-	'info_administrateur' => 'Администратор',
143
-	'info_administrateur_1' => 'Администратор',
144
-	'info_administrateur_2' => 'на сайта (<i>внимавайте</i>)',
145
-	'info_administrateur_site_01' => 'Ако сте администратор на сайта, моля',
146
-	'info_administrateur_site_02' => 'посещаване на препратката',
147
-	'info_administrateurs' => 'Администратори',
148
-	'info_administrer_rubrique' => 'Вие можете да управлявате рубриката',
149
-	'info_adresse' => 'към адрес:',
150
-	'info_adresse_url' => 'Публичен URL на сайта ',
151
-	'info_aide_en_ligne' => 'Помощник',
152
-	'info_ajout_image' => 'Когато се добавят изображения под формата на приложени документи към 
142
+    'info_administrateur' => 'Администратор',
143
+    'info_administrateur_1' => 'Администратор',
144
+    'info_administrateur_2' => 'на сайта (<i>внимавайте</i>)',
145
+    'info_administrateur_site_01' => 'Ако сте администратор на сайта, моля',
146
+    'info_administrateur_site_02' => 'посещаване на препратката',
147
+    'info_administrateurs' => 'Администратори',
148
+    'info_administrer_rubrique' => 'Вие можете да управлявате рубриката',
149
+    'info_adresse' => 'към адрес:',
150
+    'info_adresse_url' => 'Публичен URL на сайта ',
151
+    'info_aide_en_ligne' => 'Помощник',
152
+    'info_ajout_image' => 'Когато се добавят изображения под формата на приложени документи към 
153 153
   статия, СПИП автоматично създава умалени образи (винетки)
154 154
   на поместените изображения. Това позволява, например да се създаде
155 155
   автоматично галерия от изображения.',
156
-	'info_ajouter_rubrique' => 'Добавяне на друга рубрика за управление:',
157
-	'info_annonce_nouveautes' => 'Най-новите съобщения',
158
-	'info_article' => 'статия',
159
-	'info_article_2' => 'статии',
160
-	'info_article_a_paraitre' => 'Статии за одобрение със стара дата ',
161
-	'info_articles_02' => 'статии',
162
-	'info_articles_2' => 'Статии',
163
-	'info_articles_auteur' => 'Статиите на автора',
164
-	'info_articles_trouves' => 'Намерени статии',
165
-	'info_attente_validation' => 'Вашите статии, очакващи одобрение за публикуване',
166
-	'info_aujourdhui' => 'днес:',
167
-	'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>', # MODIF
168
-	'info_auteurs' => 'Автори',
169
-	'info_auteurs_par_tri' => 'Автори@partri@',
170
-	'info_auteurs_trouves' => 'Намерени автори',
171
-	'info_authentification_externe' => 'Външно удостоверяване на автентичността',
172
-	'info_avertissement' => 'Предупреждение',
173
-	'info_base_installee' => 'Структурата на Вашата база данни е инсталирана.',
174
-	'info_chapeau' => 'Преглед',
175
-	'info_chapeau_2' => 'Въведение:',
176
-	'info_chemin_acces_1' => 'Опции: <b>Път за достъп до директорията</b>',
177
-	'info_chemin_acces_2' => 'От сега нататък Вие трябва да определяте пътя за достъп до данните в директорията. Тази информация дава възможност за преглед на потребителските профили, съхранени там.',
178
-	'info_chemin_acces_annuaire' => 'Опции: <b>Път за достъп</b>',
179
-	'info_choix_base' => 'Трета стъпка:',
180
-	'info_classement_1' => '<sup>st</sup> от общо @liste@',
181
-	'info_classement_2' => '<sup>th</sup> от общо @liste@',
182
-	'info_code_acces' => 'Не забравяйте личния си код за достъп!',
183
-	'info_config_suivi' => 'Ако адресът отговаря а даден пощенски списък, можете да окажете отдолу адресът, където участниците на сайта биха могли да се регистрират. Този адрес може да бъде URL (наример страницата, където се прави регистрация през Интернет страница), или електронен адрес, заедно с определена тема на писмото (например: <tt>@adresse_suivi@?subject=subscribe</tt>):',
184
-	'info_config_suivi_explication' => 'Можете да се абонирате за пощенския списък на сайта. За целта ще получите автоматично електронно съобщение с обявленията, свързани с новините и статиите, изпратени за публикуване.',
185
-	'info_confirmer_passe' => 'Потвърдете новата парола:',
186
-	'info_connexion_base' => 'Втора стъпка: <b>Опит за свързване с базата данни</b>',
187
-	'info_connexion_ldap_ok' => '<b>Успешна LDAP връзка</b><p> Преминете към следващата стъпка.', # MODIF
188
-	'info_connexion_mysql' => 'Първа стъпка: <b>Вашата SQL връзка</b>',
189
-	'info_connexion_ok' => 'Успешно свързване.',
190
-	'info_contact' => 'Контакт',
191
-	'info_contenu_articles' => 'Съдържание на статиите',
192
-	'info_creation_paragraphe' => '(За нов ред оставете празни редове.)', # MODIF
193
-	'info_creation_rubrique' => 'Трябва да създадете поне една рубрика,<br />преди да започнете да пишете статии.<br />',
194
-	'info_creation_tables' => 'Четвърта стъпка: <b>Създаване на таблици с бази данни</b>',
195
-	'info_creer_base' => '<b>Създаване</b> на нова база данни:',
196
-	'info_dans_rubrique' => 'В рубриката:',
197
-	'info_date_publication_anterieure' => 'Дата на предишно публикуване:',
198
-	'info_date_referencement' => 'ДАТА НА СВЪРЗВАНЕ НА САЙТА:',
199
-	'info_derniere_etape' => 'Последна стъпка: <b>Приключено!',
200
-	'info_descriptif' => 'Описание:',
201
-	'info_discussion_cours' => 'Дискусии в ход',
202
-	'info_ecrire_article' => 'Преди да започнете за пишете статии, трябва да създадете поне една рубрика.',
203
-	'info_email_envoi' => 'Електронен адрес на изпращача (по желание)',
204
-	'info_email_envoi_txt' => 'Впишете електронния адрес на изпращача, който използвате (по подразбиране, адресът на получателя ще се използва за адрес на изпращача):',
205
-	'info_email_webmestre' => 'Електронен адрес на уеб-администратора (незадължителен)', # MODIF
206
-	'info_envoi_email_automatique' => 'Автоматично изпращане на съобщение',
207
-	'info_envoyer_maintenant' => 'Изпращане',
208
-	'info_etape_suivante' => 'Преминете към следващата стъпка',
209
-	'info_etape_suivante_1' => 'Можете да преминете към следващата стъпка.',
210
-	'info_etape_suivante_2' => 'Можете да преминете към следващата стъпка.',
211
-	'info_exportation_base' => 'експортиране на базата данни в @archive@',
212
-	'info_facilite_suivi_activite' => 'За улесняване по-нататъшните действия на редакторите,
156
+    'info_ajouter_rubrique' => 'Добавяне на друга рубрика за управление:',
157
+    'info_annonce_nouveautes' => 'Най-новите съобщения',
158
+    'info_article' => 'статия',
159
+    'info_article_2' => 'статии',
160
+    'info_article_a_paraitre' => 'Статии за одобрение със стара дата ',
161
+    'info_articles_02' => 'статии',
162
+    'info_articles_2' => 'Статии',
163
+    'info_articles_auteur' => 'Статиите на автора',
164
+    'info_articles_trouves' => 'Намерени статии',
165
+    'info_attente_validation' => 'Вашите статии, очакващи одобрение за публикуване',
166
+    'info_aujourdhui' => 'днес:',
167
+    'info_auteur_gere_toutes_rubriques_2' => 'Je gère <b>toutes les rubriques</b>', # MODIF
168
+    'info_auteurs' => 'Автори',
169
+    'info_auteurs_par_tri' => 'Автори@partri@',
170
+    'info_auteurs_trouves' => 'Намерени автори',
171
+    'info_authentification_externe' => 'Външно удостоверяване на автентичността',
172
+    'info_avertissement' => 'Предупреждение',
173
+    'info_base_installee' => 'Структурата на Вашата база данни е инсталирана.',
174
+    'info_chapeau' => 'Преглед',
175
+    'info_chapeau_2' => 'Въведение:',
176
+    'info_chemin_acces_1' => 'Опции: <b>Път за достъп до директорията</b>',
177
+    'info_chemin_acces_2' => 'От сега нататък Вие трябва да определяте пътя за достъп до данните в директорията. Тази информация дава възможност за преглед на потребителските профили, съхранени там.',
178
+    'info_chemin_acces_annuaire' => 'Опции: <b>Път за достъп</b>',
179
+    'info_choix_base' => 'Трета стъпка:',
180
+    'info_classement_1' => '<sup>st</sup> от общо @liste@',
181
+    'info_classement_2' => '<sup>th</sup> от общо @liste@',
182
+    'info_code_acces' => 'Не забравяйте личния си код за достъп!',
183
+    'info_config_suivi' => 'Ако адресът отговаря а даден пощенски списък, можете да окажете отдолу адресът, където участниците на сайта биха могли да се регистрират. Този адрес може да бъде URL (наример страницата, където се прави регистрация през Интернет страница), или електронен адрес, заедно с определена тема на писмото (например: <tt>@adresse_suivi@?subject=subscribe</tt>):',
184
+    'info_config_suivi_explication' => 'Можете да се абонирате за пощенския списък на сайта. За целта ще получите автоматично електронно съобщение с обявленията, свързани с новините и статиите, изпратени за публикуване.',
185
+    'info_confirmer_passe' => 'Потвърдете новата парола:',
186
+    'info_connexion_base' => 'Втора стъпка: <b>Опит за свързване с базата данни</b>',
187
+    'info_connexion_ldap_ok' => '<b>Успешна LDAP връзка</b><p> Преминете към следващата стъпка.', # MODIF
188
+    'info_connexion_mysql' => 'Първа стъпка: <b>Вашата SQL връзка</b>',
189
+    'info_connexion_ok' => 'Успешно свързване.',
190
+    'info_contact' => 'Контакт',
191
+    'info_contenu_articles' => 'Съдържание на статиите',
192
+    'info_creation_paragraphe' => '(За нов ред оставете празни редове.)', # MODIF
193
+    'info_creation_rubrique' => 'Трябва да създадете поне една рубрика,<br />преди да започнете да пишете статии.<br />',
194
+    'info_creation_tables' => 'Четвърта стъпка: <b>Създаване на таблици с бази данни</b>',
195
+    'info_creer_base' => '<b>Създаване</b> на нова база данни:',
196
+    'info_dans_rubrique' => 'В рубриката:',
197
+    'info_date_publication_anterieure' => 'Дата на предишно публикуване:',
198
+    'info_date_referencement' => 'ДАТА НА СВЪРЗВАНЕ НА САЙТА:',
199
+    'info_derniere_etape' => 'Последна стъпка: <b>Приключено!',
200
+    'info_descriptif' => 'Описание:',
201
+    'info_discussion_cours' => 'Дискусии в ход',
202
+    'info_ecrire_article' => 'Преди да започнете за пишете статии, трябва да създадете поне една рубрика.',
203
+    'info_email_envoi' => 'Електронен адрес на изпращача (по желание)',
204
+    'info_email_envoi_txt' => 'Впишете електронния адрес на изпращача, който използвате (по подразбиране, адресът на получателя ще се използва за адрес на изпращача):',
205
+    'info_email_webmestre' => 'Електронен адрес на уеб-администратора (незадължителен)', # MODIF
206
+    'info_envoi_email_automatique' => 'Автоматично изпращане на съобщение',
207
+    'info_envoyer_maintenant' => 'Изпращане',
208
+    'info_etape_suivante' => 'Преминете към следващата стъпка',
209
+    'info_etape_suivante_1' => 'Можете да преминете към следващата стъпка.',
210
+    'info_etape_suivante_2' => 'Можете да преминете към следващата стъпка.',
211
+    'info_exportation_base' => 'експортиране на базата данни в @archive@',
212
+    'info_facilite_suivi_activite' => 'За улесняване по-нататъшните действия на редакторите,
213 213
   СПИП изпраща по електронна поща съобщение с молбите за публикуване и одобрените статии до
214 214
   някой пощенски списък
215 215
   на редактори, например.
216 216
 ',
217
-	'info_fichiers_authent' => 'Файл за удостоверяване автентичността: „.htpasswd“',
218
-	'info_forums_abo_invites' => 'Сайтът Ви съдържа форуми посредством предварителен абонамент; посетителите могат да се регистират за тях през публичния сайт.',
219
-	'info_gauche_admin_tech' => '<b>Само администратори имат достъп до тази страница.</b><p> Тя осигурява достъп до различни
217
+    'info_fichiers_authent' => 'Файл за удостоверяване автентичността: „.htpasswd“',
218
+    'info_forums_abo_invites' => 'Сайтът Ви съдържа форуми посредством предварителен абонамент; посетителите могат да се регистират за тях през публичния сайт.',
219
+    'info_gauche_admin_tech' => '<b>Само администратори имат достъп до тази страница.</b><p> Тя осигурява достъп до различни
220 220
  технически задачи за поддръжка. Някои от тях позволяват специфичен процес на
221 221
 идентификация и изискват FTP достъп до сайта.', # MODIF
222
-	'info_gauche_admin_vider' => '<b>Само администратори имат достъп до тази страница.</b><p> Тя осигурява достъп доразлични
222
+    'info_gauche_admin_vider' => '<b>Само администратори имат достъп до тази страница.</b><p> Тя осигурява достъп доразлични
223 223
 технически задачи за поддръжка. Някои от тях позволяват специфичен процес на
224 224
 идентификация и изискват FTP достъп до сайта.', # MODIF
225
-	'info_gauche_auteurs' => 'Тук ще намерите всички автори на сайта.
225
+    'info_gauche_auteurs' => 'Тук ще намерите всички автори на сайта.
226 226
  Статусът на всеки от тях е обозначен с цвета на неговата икона (редактор - жълта; администратор - зелена).',
227
-	'info_gauche_auteurs_exterieurs' => 'Външни автори, без достъп до сайта, са обозначени със синя икона; изтритите автори - с кошче за боклук.', # MODIF
228
-	'info_gauche_messagerie' => 'Изпращането на съобщения позволява да се обменя информация между редакторите, да се съхраняват бележки (за лично ползване) или да се публикуват обяви в началната страница на личната зона (ако сте администратор).',
229
-	'info_gauche_statistiques_referers' => 'Тази страница показва списък с <i>препратки към сайтове</i>: т.е. сайтовете, съдържащи връзка към Вашия сайт, само за вчера и днес: този списък се акуализира на всеки 24 часа.',
230
-	'info_gauche_visiteurs_enregistres' => 'Тук ще намерите посетителите, регистрирани
227
+    'info_gauche_auteurs_exterieurs' => 'Външни автори, без достъп до сайта, са обозначени със синя икона; изтритите автори - с кошче за боклук.', # MODIF
228
+    'info_gauche_messagerie' => 'Изпращането на съобщения позволява да се обменя информация между редакторите, да се съхраняват бележки (за лично ползване) или да се публикуват обяви в началната страница на личната зона (ако сте администратор).',
229
+    'info_gauche_statistiques_referers' => 'Тази страница показва списък с <i>препратки към сайтове</i>: т.е. сайтовете, съдържащи връзка към Вашия сайт, само за вчера и днес: този списък се акуализира на всеки 24 часа.',
230
+    'info_gauche_visiteurs_enregistres' => 'Тук ще намерите посетителите, регистрирани
231 231
  в публичната зона на сайта (форумите са с предварително записване).',
232
-	'info_generation_miniatures_images' => 'Генерирана на умалени образи на изображенията',
233
-	'info_hebergeur_desactiver_envoi_email' => 'Някои доставчици не позволяват изпращането на автоматични съобщения
232
+    'info_generation_miniatures_images' => 'Генерирана на умалени образи на изображенията',
233
+    'info_hebergeur_desactiver_envoi_email' => 'Някои доставчици не позволяват изпращането на автоматични съобщения
234 234
   от техните сървъри. В този случай, следните свойства
235 235
   на СПИП не работят:',
236
-	'info_hier' => 'вчера:',
237
-	'info_identification_publique' => 'Публична самоличност...',
238
-	'info_image_process' => 'Изберете най-удобният начин да създавате миниатюри, чрез натискане въру съответната картинка.',
239
-	'info_image_process2' => '<b>N.B.</b> <i>Ако не можете да видите никакво изображение, следователно сървърът Ви не е конфигуриран да използва такива инструменти. Ако искате да ползвате това свойство, трябва да се свържете с доставчика си и да поискате да ви инсталират разширения от типа "GD" или "Imagick"</i>', # MODIF
240
-	'info_images_auto' => 'Автоматично изчислени изображения',
241
-	'info_informations_personnelles' => 'Стъпка пет: <b>Лични данни</b>',
242
-	'info_inscription_automatique' => 'Автоматична регистрация на нови редактори',
243
-	'info_jeu_caractere' => 'Кодировка на сайта',
244
-	'info_jours' => 'дни',
245
-	'info_laisser_champs_vides' => 'оставите празни полетата)',
246
-	'info_langues' => 'Езици на сайта',
247
-	'info_ldap_ok' => 'Инсталирана е аутентификация за LDAP.',
248
-	'info_lien_hypertexte' => 'Хипертекстова препратка:',
249
-	'info_liste_redacteurs_connectes' => 'Списък на свързаните редактори',
250
-	'info_login_existant' => 'Потребителското име вече съществува.',
251
-	'info_login_trop_court' => 'Потребителското име е твърде кратко.',
252
-	'info_maximum' => 'максимум:',
253
-	'info_meme_rubrique' => 'В същата рубрика',
254
-	'info_message_en_redaction' => 'Съобщения в процес на обработка',
255
-	'info_message_technique' => 'Техническо съобщение:',
256
-	'info_messagerie_interne' => 'Система за вътрешни съобщения',
257
-	'info_mise_a_niveau_base' => 'Актуализиране на базата данни SQL',
258
-	'info_mise_a_niveau_base_2' => '{{Предупреждение!}} Инсталираната версия на СПИП
236
+    'info_hier' => 'вчера:',
237
+    'info_identification_publique' => 'Публична самоличност...',
238
+    'info_image_process' => 'Изберете най-удобният начин да създавате миниатюри, чрез натискане въру съответната картинка.',
239
+    'info_image_process2' => '<b>N.B.</b> <i>Ако не можете да видите никакво изображение, следователно сървърът Ви не е конфигуриран да използва такива инструменти. Ако искате да ползвате това свойство, трябва да се свържете с доставчика си и да поискате да ви инсталират разширения от типа "GD" или "Imagick"</i>', # MODIF
240
+    'info_images_auto' => 'Автоматично изчислени изображения',
241
+    'info_informations_personnelles' => 'Стъпка пет: <b>Лични данни</b>',
242
+    'info_inscription_automatique' => 'Автоматична регистрация на нови редактори',
243
+    'info_jeu_caractere' => 'Кодировка на сайта',
244
+    'info_jours' => 'дни',
245
+    'info_laisser_champs_vides' => 'оставите празни полетата)',
246
+    'info_langues' => 'Езици на сайта',
247
+    'info_ldap_ok' => 'Инсталирана е аутентификация за LDAP.',
248
+    'info_lien_hypertexte' => 'Хипертекстова препратка:',
249
+    'info_liste_redacteurs_connectes' => 'Списък на свързаните редактори',
250
+    'info_login_existant' => 'Потребителското име вече съществува.',
251
+    'info_login_trop_court' => 'Потребителското име е твърде кратко.',
252
+    'info_maximum' => 'максимум:',
253
+    'info_meme_rubrique' => 'В същата рубрика',
254
+    'info_message_en_redaction' => 'Съобщения в процес на обработка',
255
+    'info_message_technique' => 'Техническо съобщение:',
256
+    'info_messagerie_interne' => 'Система за вътрешни съобщения',
257
+    'info_mise_a_niveau_base' => 'Актуализиране на базата данни SQL',
258
+    'info_mise_a_niveau_base_2' => '{{Предупреждение!}} Инсталираната версия на СПИП
259 259
  е по-стара от тази, показана на този сайт
260 260
   Има риск за изгубване на данни, както и Вашият сайт да
261 261
   спре да работи.<br />{{Преинсталирай
262 262
   файловете на СПИП.}}',
263
-	'info_modifier_rubrique' => 'Промяна на настройките на рубриката:',
264
-	'info_modifier_titre' => 'Промяна: @titre@',
265
-	'info_mon_site_spip' => 'Моят сайт под СПИП',
266
-	'info_moyenne' => 'средно:',
267
-	'info_multi_cet_article' => 'Език на статията:',
268
-	'info_multi_langues_choisies' => 'Изберете по-долу езиците, които желаете да са активни за редакторите на сайта.
263
+    'info_modifier_rubrique' => 'Промяна на настройките на рубриката:',
264
+    'info_modifier_titre' => 'Промяна: @titre@',
265
+    'info_mon_site_spip' => 'Моят сайт под СПИП',
266
+    'info_moyenne' => 'средно:',
267
+    'info_multi_cet_article' => 'Език на статията:',
268
+    'info_multi_langues_choisies' => 'Изберете по-долу езиците, които желаете да са активни за редакторите на сайта.
269 269
   Езиците, които вече са използвани в сайта (в началото на списъка) не могат да бъдат деактивирани.',
270
-	'info_multi_secteurs' => ' ... само за рубрики, намиращи се в схемата?',
271
-	'info_nom' => 'Име',
272
-	'info_nom_destinataire' => 'Име на получателя',
273
-	'info_nom_site' => 'Име на сайта Ви',
274
-	'info_nombre_articles' => '@nb_articles@ статии,',
275
-	'info_nombre_rubriques' => '@nb_rubriques@ рубрики,',
276
-	'info_nombre_sites' => '@nb_sites@ сайтове,',
277
-	'info_non_deplacer' => 'Не правете нищо...',
278
-	'info_non_envoi_annonce_dernieres_nouveautes' => 'СПИП може да изпраща регулярно информация за новостите на сайта.
270
+    'info_multi_secteurs' => ' ... само за рубрики, намиращи се в схемата?',
271
+    'info_nom' => 'Име',
272
+    'info_nom_destinataire' => 'Име на получателя',
273
+    'info_nom_site' => 'Име на сайта Ви',
274
+    'info_nombre_articles' => '@nb_articles@ статии,',
275
+    'info_nombre_rubriques' => '@nb_rubriques@ рубрики,',
276
+    'info_nombre_sites' => '@nb_sites@ сайтове,',
277
+    'info_non_deplacer' => 'Не правете нищо...',
278
+    'info_non_envoi_annonce_dernieres_nouveautes' => 'СПИП може да изпраща регулярно информация за новостите на сайта.
279 279
   (напр. съобщения за наскоро публикуваните статии и новини).',
280
-	'info_non_envoi_liste_nouveautes' => 'Бе изпращане на списък с най-новите съобщения',
281
-	'info_non_modifiable' => 'промяната е невъзможна',
282
-	'info_non_suppression_mot_cle' => 'Отказ от изтриване на ключовата дума.',
283
-	'info_notes' => 'Бележки под линия',
284
-	'info_nouvel_article' => 'Нова статия',
285
-	'info_nouvelle_traduction' => 'Нов превод:',
286
-	'info_numero_article' => 'НОМЕР НА СТАТИЯТА:',
287
-	'info_obligatoire_02' => '[Задължително]', # MODIF
288
-	'info_option_accepter_visiteurs' => 'Позволяване регистрацията на посетители от публичния сайт',
289
-	'info_option_ne_pas_accepter_visiteurs' => 'Отказ за регистрация на посетител',
290
-	'info_options_avancees' => 'ПОДРОБНИ ОПЦИИ',
291
-	'info_ou' => 'или ...',
292
-	'info_page_interdite' => 'Забранена страница',
293
-	'info_par_nombre_article' => '(по номер на статията)',
294
-	'info_passe_trop_court' => 'Паролата не е достатъчно дълга.',
295
-	'info_passes_identiques' => 'Двете пароли не съвадат.',
296
-	'info_plus_cinq_car' => 'повече от 5 знака',
297
-	'info_plus_cinq_car_2' => '(повече от 5 знака)',
298
-	'info_plus_trois_car' => '(повече от 3 знака)',
299
-	'info_popularite' => 'популярност: @popularite@; посещения: @visites@',
300
-	'info_post_scriptum' => 'Постскриптум',
301
-	'info_post_scriptum_2' => 'Постскриптум:',
302
-	'info_pour' => 'за',
303
-	'info_preview_texte' => 'Възможно е да се прави предварителен преглед на сайта все едно, че всички статии и новини (които имат статус "изпратени") са вече публикувани. Да бъде ли даден достъп към тази функция на администраторите само, да бъде ли възможна за всички автори на сайта или да бъде изключена напълно?', # MODIF
304
-	'info_procedez_par_etape' => 'моля, продължете напред стъпка по стъпка',
305
-	'info_procedure_maj_version' => 'процедурата по обновяване трябва да се стартира,
280
+    'info_non_envoi_liste_nouveautes' => 'Бе изпращане на списък с най-новите съобщения',
281
+    'info_non_modifiable' => 'промяната е невъзможна',
282
+    'info_non_suppression_mot_cle' => 'Отказ от изтриване на ключовата дума.',
283
+    'info_notes' => 'Бележки под линия',
284
+    'info_nouvel_article' => 'Нова статия',
285
+    'info_nouvelle_traduction' => 'Нов превод:',
286
+    'info_numero_article' => 'НОМЕР НА СТАТИЯТА:',
287
+    'info_obligatoire_02' => '[Задължително]', # MODIF
288
+    'info_option_accepter_visiteurs' => 'Позволяване регистрацията на посетители от публичния сайт',
289
+    'info_option_ne_pas_accepter_visiteurs' => 'Отказ за регистрация на посетител',
290
+    'info_options_avancees' => 'ПОДРОБНИ ОПЦИИ',
291
+    'info_ou' => 'или ...',
292
+    'info_page_interdite' => 'Забранена страница',
293
+    'info_par_nombre_article' => '(по номер на статията)',
294
+    'info_passe_trop_court' => 'Паролата не е достатъчно дълга.',
295
+    'info_passes_identiques' => 'Двете пароли не съвадат.',
296
+    'info_plus_cinq_car' => 'повече от 5 знака',
297
+    'info_plus_cinq_car_2' => '(повече от 5 знака)',
298
+    'info_plus_trois_car' => '(повече от 3 знака)',
299
+    'info_popularite' => 'популярност: @popularite@; посещения: @visites@',
300
+    'info_post_scriptum' => 'Постскриптум',
301
+    'info_post_scriptum_2' => 'Постскриптум:',
302
+    'info_pour' => 'за',
303
+    'info_preview_texte' => 'Възможно е да се прави предварителен преглед на сайта все едно, че всички статии и новини (които имат статус "изпратени") са вече публикувани. Да бъде ли даден достъп към тази функция на администраторите само, да бъде ли възможна за всички автори на сайта или да бъде изключена напълно?', # MODIF
304
+    'info_procedez_par_etape' => 'моля, продължете напред стъпка по стъпка',
305
+    'info_procedure_maj_version' => 'процедурата по обновяване трябва да се стартира,
306 306
  за да може базата данни да се адаптира към новата версия на СПИП.',
307
-	'info_ps' => 'П.С. ',
308
-	'info_publier' => 'публикуване',
309
-	'info_publies' => 'Вашите публикувани статии',
310
-	'info_question_accepter_visiteurs' => 'Ако шаблоните на сайта Ви позволяват посетителите да се регистират без да влизат в личната зона, активирайте следната опция:',
311
-	'info_question_inscription_nouveaux_redacteurs' => 'Позволявате ли регистрацията на нови редактори от
307
+    'info_ps' => 'П.С. ',
308
+    'info_publier' => 'публикуване',
309
+    'info_publies' => 'Вашите публикувани статии',
310
+    'info_question_accepter_visiteurs' => 'Ако шаблоните на сайта Ви позволяват посетителите да се регистират без да влизат в личната зона, активирайте следната опция:',
311
+    'info_question_inscription_nouveaux_redacteurs' => 'Позволявате ли регистрацията на нови редактори от
312 312
   публикувания сайт. Ако сте съгласни, посетителите трябва да се
313 313
   регистрират през автоматичната форма, за да имат достъп до личната зона и
314 314
   да предложат свои собствени статии. <blockquote><i>По време на регистрацията
@@ -317,208 +317,208 @@  discard block
 block discarded – undo
317 317
   доставчици спират съобщения, изпратени
318 318
   до техни сървъри: в този случай автоматичната регистрация
319 319
   не би могла да се осъществи.', # MODIF
320
-	'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes', # MODIF
321
-	'info_racine_site' => 'Схема на сайта',
322
-	'info_recharger_page' => 'Моля, презаредете страницата след малко.',
323
-	'info_recherche_auteur_zero' => 'Няма намерени резултати за „@cherche_auteur@“.',
324
-	'info_recommencer' => 'Моля, опитайте отново.',
325
-	'info_redacteur_1' => 'Редактор',
326
-	'info_redacteur_2' => 'достъп до личната зона(<i>препоръчително</i>)',
327
-	'info_redacteurs' => 'Редактори',
328
-	'info_redaction_en_cours' => 'В ХОД Е ПИСАНЕ',
329
-	'info_redirection' => 'Пренасочване',
330
-	'info_refuses' => 'Вашите отхвърлени статии',
331
-	'info_reglage_ldap' => 'Опции: <b>Приспособяване на вписването чрез LDAP</b>',
332
-	'info_renvoi_article' => '<b>Пренасочване.</b> Статията се отнася към страница:',
333
-	'info_reserve_admin' => 'Този адрес може да се променя само от администратори.',
334
-	'info_restreindre_rubrique' => 'Забрана за управление на рубриката:',
335
-	'info_resultat_recherche' => 'Намерени резултати:',
336
-	'info_rubriques' => 'Рубрики',
337
-	'info_rubriques_02' => 'рубрики',
338
-	'info_rubriques_trouvees' => 'Намерени рубрики',
339
-	'info_sans_titre' => 'Без заглавие',
340
-	'info_selection_chemin_acces' => '<b>Изберете</b> по-долу път за достъп в директорията:',
341
-	'info_signatures' => 'подписи',
342
-	'info_site' => 'Сайт',
343
-	'info_site_2' => 'сайт:',
344
-	'info_site_min' => 'сайт',
345
-	'info_site_reference_2' => 'Свързан сайт',
346
-	'info_site_web' => 'ИНТЕРНЕТ САЙТ:', # MODIF
347
-	'info_sites' => 'сайтове',
348
-	'info_sites_lies_mot' => 'Свързани сайтове, асоциирани с ключовата дума',
349
-	'info_sites_proxy' => 'Използване на прокси',
350
-	'info_sites_trouves' => 'Намерени сайтове',
351
-	'info_sous_titre' => 'Подзаглавие:',
352
-	'info_statut_administrateur' => 'Администратор',
353
-	'info_statut_auteur' => 'Статус на автора:', # MODIF
354
-	'info_statut_auteur_a_confirmer' => 'Регистрация, предстояща за потвърждение',
355
-	'info_statut_auteur_autre' => 'Друг статус:',
356
-	'info_statut_redacteur' => 'Редактор',
357
-	'info_statut_utilisateurs_1' => 'Статус "по подразбиране" на вписаните потребители',
358
-	'info_statut_utilisateurs_2' => 'Изберете статус за хората, вписани в LDAP-директорията при свързването им за първи път. По-късно ще можете да променяте тази характеристика за всеки автор по отделно.',
359
-	'info_suivi_activite' => 'Дейности на редакторите',
360
-	'info_surtitre' => 'Челно заглавие:',
361
-	'info_syndication_integrale_1' => 'Сайтът Ви предлага файлове за обединение (вж “<a href="@url@">@titre@</a>“).',
362
-	'info_syndication_integrale_2' => 'Желаете ли да изпратите цели статии или само резюме от няколко стотин знака?',
363
-	'info_taille_maximale_vignette' => 'Максимален размер на винетките, който е генериран от системата:',
364
-	'info_terminer_installation' => 'Сега можете да приключите с процеса по стандартна инсталация.',
365
-	'info_texte' => 'Текст',
366
-	'info_texte_explicatif' => 'Обяснителен текст',
367
-	'info_texte_long' => '(текстът е прекалено дълъг: той ще се появи в няколко части, които ще бъдат събрани след одобрението.)',
368
-	'info_texte_message' => 'Текст на съобщението:', # MODIF
369
-	'info_texte_message_02' => 'Текст на съобщение',
370
-	'info_titre' => 'Заглавие:',
371
-	'info_total' => 'общо:',
372
-	'info_tous_articles_en_redaction' => 'Всички статии в процес на обработка',
373
-	'info_tous_articles_presents' => 'Всички статии в рубриката',
374
-	'info_tous_les' => 'всички:',
375
-	'info_tout_site' => 'Целият сайт',
376
-	'info_tout_site2' => 'Статията не е преведена на дадения език.',
377
-	'info_tout_site3' => 'Статията е преведена на дадения език, но след това са направени промени в основната статия. Преводът изисква актуализация.',
378
-	'info_tout_site4' => 'Статията е преведена на дадения език, а преводът - актуализиран.',
379
-	'info_tout_site5' => 'Оригинална статия.',
380
-	'info_tout_site6' => '<b>Предупреждение:</b> показани са само оригинални статии.
320
+    'info_qui_edite' => '@nom_auteur_modif@ a travaillé sur ce contenu il y a @date_diff@ minutes', # MODIF
321
+    'info_racine_site' => 'Схема на сайта',
322
+    'info_recharger_page' => 'Моля, презаредете страницата след малко.',
323
+    'info_recherche_auteur_zero' => 'Няма намерени резултати за „@cherche_auteur@“.',
324
+    'info_recommencer' => 'Моля, опитайте отново.',
325
+    'info_redacteur_1' => 'Редактор',
326
+    'info_redacteur_2' => 'достъп до личната зона(<i>препоръчително</i>)',
327
+    'info_redacteurs' => 'Редактори',
328
+    'info_redaction_en_cours' => 'В ХОД Е ПИСАНЕ',
329
+    'info_redirection' => 'Пренасочване',
330
+    'info_refuses' => 'Вашите отхвърлени статии',
331
+    'info_reglage_ldap' => 'Опции: <b>Приспособяване на вписването чрез LDAP</b>',
332
+    'info_renvoi_article' => '<b>Пренасочване.</b> Статията се отнася към страница:',
333
+    'info_reserve_admin' => 'Този адрес може да се променя само от администратори.',
334
+    'info_restreindre_rubrique' => 'Забрана за управление на рубриката:',
335
+    'info_resultat_recherche' => 'Намерени резултати:',
336
+    'info_rubriques' => 'Рубрики',
337
+    'info_rubriques_02' => 'рубрики',
338
+    'info_rubriques_trouvees' => 'Намерени рубрики',
339
+    'info_sans_titre' => 'Без заглавие',
340
+    'info_selection_chemin_acces' => '<b>Изберете</b> по-долу път за достъп в директорията:',
341
+    'info_signatures' => 'подписи',
342
+    'info_site' => 'Сайт',
343
+    'info_site_2' => 'сайт:',
344
+    'info_site_min' => 'сайт',
345
+    'info_site_reference_2' => 'Свързан сайт',
346
+    'info_site_web' => 'ИНТЕРНЕТ САЙТ:', # MODIF
347
+    'info_sites' => 'сайтове',
348
+    'info_sites_lies_mot' => 'Свързани сайтове, асоциирани с ключовата дума',
349
+    'info_sites_proxy' => 'Използване на прокси',
350
+    'info_sites_trouves' => 'Намерени сайтове',
351
+    'info_sous_titre' => 'Подзаглавие:',
352
+    'info_statut_administrateur' => 'Администратор',
353
+    'info_statut_auteur' => 'Статус на автора:', # MODIF
354
+    'info_statut_auteur_a_confirmer' => 'Регистрация, предстояща за потвърждение',
355
+    'info_statut_auteur_autre' => 'Друг статус:',
356
+    'info_statut_redacteur' => 'Редактор',
357
+    'info_statut_utilisateurs_1' => 'Статус "по подразбиране" на вписаните потребители',
358
+    'info_statut_utilisateurs_2' => 'Изберете статус за хората, вписани в LDAP-директорията при свързването им за първи път. По-късно ще можете да променяте тази характеристика за всеки автор по отделно.',
359
+    'info_suivi_activite' => 'Дейности на редакторите',
360
+    'info_surtitre' => 'Челно заглавие:',
361
+    'info_syndication_integrale_1' => 'Сайтът Ви предлага файлове за обединение (вж “<a href="@url@">@titre@</a>“).',
362
+    'info_syndication_integrale_2' => 'Желаете ли да изпратите цели статии или само резюме от няколко стотин знака?',
363
+    'info_taille_maximale_vignette' => 'Максимален размер на винетките, който е генериран от системата:',
364
+    'info_terminer_installation' => 'Сега можете да приключите с процеса по стандартна инсталация.',
365
+    'info_texte' => 'Текст',
366
+    'info_texte_explicatif' => 'Обяснителен текст',
367
+    'info_texte_long' => '(текстът е прекалено дълъг: той ще се появи в няколко части, които ще бъдат събрани след одобрението.)',
368
+    'info_texte_message' => 'Текст на съобщението:', # MODIF
369
+    'info_texte_message_02' => 'Текст на съобщение',
370
+    'info_titre' => 'Заглавие:',
371
+    'info_total' => 'общо:',
372
+    'info_tous_articles_en_redaction' => 'Всички статии в процес на обработка',
373
+    'info_tous_articles_presents' => 'Всички статии в рубриката',
374
+    'info_tous_les' => 'всички:',
375
+    'info_tout_site' => 'Целият сайт',
376
+    'info_tout_site2' => 'Статията не е преведена на дадения език.',
377
+    'info_tout_site3' => 'Статията е преведена на дадения език, но след това са направени промени в основната статия. Преводът изисква актуализация.',
378
+    'info_tout_site4' => 'Статията е преведена на дадения език, а преводът - актуализиран.',
379
+    'info_tout_site5' => 'Оригинална статия.',
380
+    'info_tout_site6' => '<b>Предупреждение:</b> показани са само оригинални статии.
381 381
 Преводите са свързани с оригинала в цвят, посочващ техния статус:',
382
-	'info_traductions' => 'Преводи',
383
-	'info_travail_colaboratif' => 'Съвместна работа по статии',
384
-	'info_un_article' => 'една статия,',
385
-	'info_un_site' => 'сайт,',
386
-	'info_une_rubrique' => 'рубрика,',
387
-	'info_une_rubrique_02' => '1 рубрика',
388
-	'info_url' => 'URL:',
389
-	'info_urlref' => 'Препратка в хипертекст:',
390
-	'info_utilisation_spip' => 'СПИП вече е готов за използване.',
391
-	'info_visites_par_mois' => 'Месечен дисплей:',
392
-	'info_visiteur_1' => 'Посетител',
393
-	'info_visiteur_2' => 'публичен сайт',
394
-	'info_visiteurs' => 'Посетители',
395
-	'info_visiteurs_02' => 'Посетители на публичния сайт',
396
-	'install_echec_annonce' => 'Инсталацията Ви вероятно няма да проработи или сайтът, който правите ще даде лош резултат...',
397
-	'install_extension_mbstring' => 'СПИП не работи с:',
398
-	'install_extension_php_obligatoire' => 'СПИП изисква разширение от типа php:',
399
-	'install_select_langue' => 'Изберете език и след това натиснете бутон „по-нататък“, за да стартирате процедурата по инсталацията.',
400
-	'intem_redacteur' => 'редактор',
401
-	'item_accepter_inscriptions' => 'Позволяване на регистрации',
402
-	'item_activer_messages_avertissement' => 'Активиране на предупредителни съобщения',
403
-	'item_administrateur_2' => 'администратор',
404
-	'item_afficher_calendrier' => 'Показване в календара',
405
-	'item_autoriser_syndication_integrale' => 'Включване на цели статии във файловете за обединяване',
406
-	'item_choix_administrateurs' => 'администратори',
407
-	'item_choix_generation_miniature' => 'Автоматично генериране на умалени образи.',
408
-	'item_choix_non_generation_miniature' => 'Без генериране на умалени образи.',
409
-	'item_choix_redacteurs' => 'редактори',
410
-	'item_choix_visiteurs' => 'посетители на публичния сайт',
411
-	'item_creer_fichiers_authent' => 'Създаване на файлове от типа .htpasswd',
412
-	'item_login' => 'Потребителско име',
413
-	'item_mots_cles_association_articles' => 'статиите',
414
-	'item_mots_cles_association_rubriques' => 'рубриките',
415
-	'item_mots_cles_association_sites' => 'свързаните или обединени сайтове.',
416
-	'item_non' => 'Не',
417
-	'item_non_accepter_inscriptions' => 'Забрана на регистрации',
418
-	'item_non_activer_messages_avertissement' => 'Без предупредителни съобщения',
419
-	'item_non_afficher_calendrier' => 'Без показване в календара',
420
-	'item_non_autoriser_syndication_integrale' => 'Изпращане на резюме',
421
-	'item_non_creer_fichiers_authent' => 'Забрана за създаване на файловете',
422
-	'item_non_publier_articles' => 'Забраняване публикуването на статии преди техните дати на публикуване.',
423
-	'item_nouvel_auteur' => 'Нов автор',
424
-	'item_nouvelle_rubrique' => 'Нова рубрика',
425
-	'item_oui' => 'Да',
426
-	'item_publier_articles' => 'Публикуване на статиите независимо от техните дати на публикуване.',
427
-	'item_reponse_article' => 'Отговор на статията',
428
-	'item_visiteur' => 'посетител',
382
+    'info_traductions' => 'Преводи',
383
+    'info_travail_colaboratif' => 'Съвместна работа по статии',
384
+    'info_un_article' => 'една статия,',
385
+    'info_un_site' => 'сайт,',
386
+    'info_une_rubrique' => 'рубрика,',
387
+    'info_une_rubrique_02' => '1 рубрика',
388
+    'info_url' => 'URL:',
389
+    'info_urlref' => 'Препратка в хипертекст:',
390
+    'info_utilisation_spip' => 'СПИП вече е готов за използване.',
391
+    'info_visites_par_mois' => 'Месечен дисплей:',
392
+    'info_visiteur_1' => 'Посетител',
393
+    'info_visiteur_2' => 'публичен сайт',
394
+    'info_visiteurs' => 'Посетители',
395
+    'info_visiteurs_02' => 'Посетители на публичния сайт',
396
+    'install_echec_annonce' => 'Инсталацията Ви вероятно няма да проработи или сайтът, който правите ще даде лош резултат...',
397
+    'install_extension_mbstring' => 'СПИП не работи с:',
398
+    'install_extension_php_obligatoire' => 'СПИП изисква разширение от типа php:',
399
+    'install_select_langue' => 'Изберете език и след това натиснете бутон „по-нататък“, за да стартирате процедурата по инсталацията.',
400
+    'intem_redacteur' => 'редактор',
401
+    'item_accepter_inscriptions' => 'Позволяване на регистрации',
402
+    'item_activer_messages_avertissement' => 'Активиране на предупредителни съобщения',
403
+    'item_administrateur_2' => 'администратор',
404
+    'item_afficher_calendrier' => 'Показване в календара',
405
+    'item_autoriser_syndication_integrale' => 'Включване на цели статии във файловете за обединяване',
406
+    'item_choix_administrateurs' => 'администратори',
407
+    'item_choix_generation_miniature' => 'Автоматично генериране на умалени образи.',
408
+    'item_choix_non_generation_miniature' => 'Без генериране на умалени образи.',
409
+    'item_choix_redacteurs' => 'редактори',
410
+    'item_choix_visiteurs' => 'посетители на публичния сайт',
411
+    'item_creer_fichiers_authent' => 'Създаване на файлове от типа .htpasswd',
412
+    'item_login' => 'Потребителско име',
413
+    'item_mots_cles_association_articles' => 'статиите',
414
+    'item_mots_cles_association_rubriques' => 'рубриките',
415
+    'item_mots_cles_association_sites' => 'свързаните или обединени сайтове.',
416
+    'item_non' => 'Не',
417
+    'item_non_accepter_inscriptions' => 'Забрана на регистрации',
418
+    'item_non_activer_messages_avertissement' => 'Без предупредителни съобщения',
419
+    'item_non_afficher_calendrier' => 'Без показване в календара',
420
+    'item_non_autoriser_syndication_integrale' => 'Изпращане на резюме',
421
+    'item_non_creer_fichiers_authent' => 'Забрана за създаване на файловете',
422
+    'item_non_publier_articles' => 'Забраняване публикуването на статии преди техните дати на публикуване.',
423
+    'item_nouvel_auteur' => 'Нов автор',
424
+    'item_nouvelle_rubrique' => 'Нова рубрика',
425
+    'item_oui' => 'Да',
426
+    'item_publier_articles' => 'Публикуване на статиите независимо от техните дати на публикуване.',
427
+    'item_reponse_article' => 'Отговор на статията',
428
+    'item_visiteur' => 'посетител',
429 429
 
430
-	// J
431
-	'jour_non_connu_nc' => 'непознат',
430
+    // J
431
+    'jour_non_connu_nc' => 'непознат',
432 432
 
433
-	// L
434
-	'lien_ajouter_auteur' => 'Добавяне на автора',
435
-	'lien_email' => 'Електронен адрес',
436
-	'lien_nom_site' => 'ИМЕ НА САЙТА:',
437
-	'lien_retirer_auteur' => 'Премахване на автор',
438
-	'lien_site' => 'сайт',
439
-	'lien_tout_deplier' => 'Разширяване на всички',
440
-	'lien_tout_replier' => 'Разтваряне на всички',
441
-	'lien_trier_nom' => 'Подреждане по име',
442
-	'lien_trier_nombre_articles' => 'Подреждане по номер на статията',
443
-	'lien_trier_statut' => 'Подреждане по статус',
444
-	'lien_voir_en_ligne' => 'ИЗГЛЕД НА САЙТА:',
445
-	'logo_article' => 'ЛОГО НА СТАТИЯТА', # MODIF
446
-	'logo_auteur' => 'ЛОГО НА АВТОРА', # MODIF
447
-	'logo_rubrique' => 'ЛОГО НА РУБРИКАТА', # MODIF
448
-	'logo_site' => 'ЛОГО НА САЙТА', # MODIF
449
-	'logo_standard_rubrique' => 'СТАНДАРТНО ЛОГО ЗА РУБРИКИ', # MODIF
450
-	'logo_survol' => 'АЛТЕРНАТИВНО ЛОГО', # MODIF
433
+    // L
434
+    'lien_ajouter_auteur' => 'Добавяне на автора',
435
+    'lien_email' => 'Електронен адрес',
436
+    'lien_nom_site' => 'ИМЕ НА САЙТА:',
437
+    'lien_retirer_auteur' => 'Премахване на автор',
438
+    'lien_site' => 'сайт',
439
+    'lien_tout_deplier' => 'Разширяване на всички',
440
+    'lien_tout_replier' => 'Разтваряне на всички',
441
+    'lien_trier_nom' => 'Подреждане по име',
442
+    'lien_trier_nombre_articles' => 'Подреждане по номер на статията',
443
+    'lien_trier_statut' => 'Подреждане по статус',
444
+    'lien_voir_en_ligne' => 'ИЗГЛЕД НА САЙТА:',
445
+    'logo_article' => 'ЛОГО НА СТАТИЯТА', # MODIF
446
+    'logo_auteur' => 'ЛОГО НА АВТОРА', # MODIF
447
+    'logo_rubrique' => 'ЛОГО НА РУБРИКАТА', # MODIF
448
+    'logo_site' => 'ЛОГО НА САЙТА', # MODIF
449
+    'logo_standard_rubrique' => 'СТАНДАРТНО ЛОГО ЗА РУБРИКИ', # MODIF
450
+    'logo_survol' => 'АЛТЕРНАТИВНО ЛОГО', # MODIF
451 451
 
452
-	// M
453
-	'menu_aide_installation_choix_base' => 'Избор на база данни',
454
-	'module_fichier_langue' => 'Езиков файл',
455
-	'module_raccourci' => 'Кратка команда',
456
-	'module_texte_affiche' => 'Показан текст',
457
-	'module_texte_explicatif' => 'Можете да впишете следните кратки команди в шаблоните на сайта си. Те ще бъдат автоматично преведени на различни езици, за които има езиков файл.',
458
-	'module_texte_traduction' => 'Езиковият файл ,, @module@ ’’ е достъпен на:',
459
-	'mois_non_connu' => 'непознат',
452
+    // M
453
+    'menu_aide_installation_choix_base' => 'Избор на база данни',
454
+    'module_fichier_langue' => 'Езиков файл',
455
+    'module_raccourci' => 'Кратка команда',
456
+    'module_texte_affiche' => 'Показан текст',
457
+    'module_texte_explicatif' => 'Можете да впишете следните кратки команди в шаблоните на сайта си. Те ще бъдат автоматично преведени на различни езици, за които има езиков файл.',
458
+    'module_texte_traduction' => 'Езиковият файл ,, @module@ ’’ е достъпен на:',
459
+    'mois_non_connu' => 'непознат',
460 460
 
461
-	// O
462
-	'onglet_repartition_actuelle' => 'сега',
461
+    // O
462
+    'onglet_repartition_actuelle' => 'сега',
463 463
 
464
-	// P
465
-	'plugin_etat_developpement' => 'в развитие',
466
-	'plugin_etat_experimental' => 'експериментален',
467
-	'plugin_etat_stable' => 'стабилен',
468
-	'plugin_etat_test' => 'в процес на тестване',
469
-	'plugins_liste' => 'Списък с плъгини',
464
+    // P
465
+    'plugin_etat_developpement' => 'в развитие',
466
+    'plugin_etat_experimental' => 'експериментален',
467
+    'plugin_etat_stable' => 'стабилен',
468
+    'plugin_etat_test' => 'в процес на тестване',
469
+    'plugins_liste' => 'Списък с плъгини',
470 470
 
471
-	// R
472
-	'repertoire_plugins' => 'Директория:',
473
-	'required' => '[Задължително]', # MODIF
471
+    // R
472
+    'repertoire_plugins' => 'Директория:',
473
+    'required' => '[Задължително]', # MODIF
474 474
 
475
-	// S
476
-	'statut_admin_restreint' => '(ограничен администратор)', # MODIF
475
+    // S
476
+    'statut_admin_restreint' => '(ограничен администратор)', # MODIF
477 477
 
478
-	// T
479
-	'taille_cache_image' => 'Изображенията, изчислени автоматично от СПИП (умалени изображения, заглавия, преобразени в графики, математически формули в TeX формат и др.) заемат общо @taille@ в директорията @dir@.',
480
-	'taille_cache_infinie' => 'Този сайт няма фиксиран лимит за размера на <code>CACHE/</code> директорията.',
481
-	'taille_cache_maxi' => 'СПИП се опитва да намали размера на данните в  <code>CACHE/</code> директорията до около  <b>@octets@</b>.',
482
-	'taille_cache_octets' => 'Размерът на кеш-паметта в момента е @octets@.', # MODIF
483
-	'taille_cache_vide' => 'Кеш-паметта е празна.',
484
-	'taille_repertoire_cache' => 'Размер на кеш-паметта в момента',
485
-	'text_article_propose_publication' => 'Изпратена е статия със заявка за публикуване. Не се колебайте да дадете мнението си за нея във форума, който е прикрепен към нея (най-долу на страницата).', # MODIF
486
-	'texte_acces_ldap_anonyme_1' => 'Някои LDAP-сървъри не позволяват анонимен достъп. В такива случаи, за да можете да правите справка в директорията, трябва да използвате началното си потребителско име за достъп. Въпреки това, в повечето случаи можете да оставяте следните полета празни. ',
487
-	'texte_admin_effacer_01' => 'Тази команда изтрива <i>цялото</i> съдържание в базата данни,
478
+    // T
479
+    'taille_cache_image' => 'Изображенията, изчислени автоматично от СПИП (умалени изображения, заглавия, преобразени в графики, математически формули в TeX формат и др.) заемат общо @taille@ в директорията @dir@.',
480
+    'taille_cache_infinie' => 'Този сайт няма фиксиран лимит за размера на <code>CACHE/</code> директорията.',
481
+    'taille_cache_maxi' => 'СПИП се опитва да намали размера на данните в  <code>CACHE/</code> директорията до около  <b>@octets@</b>.',
482
+    'taille_cache_octets' => 'Размерът на кеш-паметта в момента е @octets@.', # MODIF
483
+    'taille_cache_vide' => 'Кеш-паметта е празна.',
484
+    'taille_repertoire_cache' => 'Размер на кеш-паметта в момента',
485
+    'text_article_propose_publication' => 'Изпратена е статия със заявка за публикуване. Не се колебайте да дадете мнението си за нея във форума, който е прикрепен към нея (най-долу на страницата).', # MODIF
486
+    'texte_acces_ldap_anonyme_1' => 'Някои LDAP-сървъри не позволяват анонимен достъп. В такива случаи, за да можете да правите справка в директорията, трябва да използвате началното си потребителско име за достъп. Въпреки това, в повечето случаи можете да оставяте следните полета празни. ',
487
+    'texte_admin_effacer_01' => 'Тази команда изтрива <i>цялото</i> съдържание в базата данни,
488 488
 включително <i>всички</i> параметри за достъп за редактори и администратори. След нейното изпълнение, трябва
489 489
 да се преинсталира СПИП, за да се създаде нова база данни и първи администраторски достъп.',
490
-	'texte_adresse_annuaire_1' => '( Ако директорията Ви е инсталирана на същата машина, на която и Интернет сайта, вероятно е «localhost».)',
491
-	'texte_ajout_auteur' => 'Следният автор бе добавен към статията:',
492
-	'texte_annuaire_ldap_1' => 'Ако разполагате с достъп до (LDAP) директория, можете да я използвате, за да вписвате автоматично потребители в СПИП.',
493
-	'texte_article_statut' => 'Статията е:',
494
-	'texte_article_virtuel' => 'Виртуална статия',
495
-	'texte_article_virtuel_reference' => '<b>Виртуална статия:</b> свързана статия на Вашия СПИП сайт, която се пренасочва към друг URL адрес. За да премахнете пренасочването, изтрийте горепосочения URL.',
496
-	'texte_aucun_resultat_auteur' => 'Няма намерен разултат за „@cherche_auteur@“.',
497
-	'texte_auteur_messagerie' => 'Сайт може продължително да следи списъка от свързани редактори, което позволява изпращането та съобщения в реално време (ако съобщението е забранено по-горе, тогава целият списък от редактори е забранен). Вие можете да решите да не се появявате в този списък (т.е. да сте „невидим“ за останалите потребители).',
498
-	'texte_auteurs' => 'АВТОРИТЕ',
499
-	'texte_choix_base_1' => 'Изберете база данни:',
500
-	'texte_choix_base_2' => 'Сървърът SQL съдържа няколко бази данни.',
501
-	'texte_choix_base_3' => '<b>Изберете</b> по-долу това, което доставчикът Ви e разрешил:',
502
-	'texte_compte_element' => '@count@ елемент',
503
-	'texte_compte_elements' => '@count@ елементи',
504
-	'texte_connexion_mysql' => 'Погледнете информацията, предоставена от доставчика Ви: ако доставчикът ви поддържа SQL, трябва да са дадени кодовете за връзка със сървъра SQL.', # MODIF
505
-	'texte_contenu_article' => '(Съдържание на статията с няколко думи.)',
506
-	'texte_contenu_articles' => 'Въз основа на оформлението на сайта Ви, може да решите
490
+    'texte_adresse_annuaire_1' => '( Ако директорията Ви е инсталирана на същата машина, на която и Интернет сайта, вероятно е «localhost».)',
491
+    'texte_ajout_auteur' => 'Следният автор бе добавен към статията:',
492
+    'texte_annuaire_ldap_1' => 'Ако разполагате с достъп до (LDAP) директория, можете да я използвате, за да вписвате автоматично потребители в СПИП.',
493
+    'texte_article_statut' => 'Статията е:',
494
+    'texte_article_virtuel' => 'Виртуална статия',
495
+    'texte_article_virtuel_reference' => '<b>Виртуална статия:</b> свързана статия на Вашия СПИП сайт, която се пренасочва към друг URL адрес. За да премахнете пренасочването, изтрийте горепосочения URL.',
496
+    'texte_aucun_resultat_auteur' => 'Няма намерен разултат за „@cherche_auteur@“.',
497
+    'texte_auteur_messagerie' => 'Сайт може продължително да следи списъка от свързани редактори, което позволява изпращането та съобщения в реално време (ако съобщението е забранено по-горе, тогава целият списък от редактори е забранен). Вие можете да решите да не се появявате в този списък (т.е. да сте „невидим“ за останалите потребители).',
498
+    'texte_auteurs' => 'АВТОРИТЕ',
499
+    'texte_choix_base_1' => 'Изберете база данни:',
500
+    'texte_choix_base_2' => 'Сървърът SQL съдържа няколко бази данни.',
501
+    'texte_choix_base_3' => '<b>Изберете</b> по-долу това, което доставчикът Ви e разрешил:',
502
+    'texte_compte_element' => '@count@ елемент',
503
+    'texte_compte_elements' => '@count@ елементи',
504
+    'texte_connexion_mysql' => 'Погледнете информацията, предоставена от доставчика Ви: ако доставчикът ви поддържа SQL, трябва да са дадени кодовете за връзка със сървъра SQL.', # MODIF
505
+    'texte_contenu_article' => '(Съдържание на статията с няколко думи.)',
506
+    'texte_contenu_articles' => 'Въз основа на оформлението на сайта Ви, може да решите
507 507
   да не използвате някои елементи на статиите.
508 508
   Използвайте този списък, за да изберете кои елементи искате да направите активни.',
509
-	'texte_crash_base' => 'Ако Вашата база данни
509
+    'texte_crash_base' => 'Ако Вашата база данни
510 510
    блокира, можете да се опитате да я поправите
511 511
    автоматично.',
512
-	'texte_creer_rubrique' => 'Преди да пишете статии,<br /> трябва да създадете рубрика.',
513
-	'texte_date_creation_article' => 'ДАТА НА СЪЗДАВАНЕ НА СТАТИЯТА:',
514
-	'texte_date_publication_anterieure' => 'Дата на предишно публикуване:',
515
-	'texte_date_publication_anterieure_nonaffichee' => 'Скриване датата на предишно публикуване.',
516
-	'texte_date_publication_article' => 'ДАТА НА ПУБЛИКУВАНЕ В ИНТЕРНЕТ:',
517
-	'texte_descriptif_rapide' => 'Кратко описание',
518
-	'texte_effacer_base' => 'Изтриване на базата данни СПИП',
519
-	'texte_en_cours_validation' => 'Изпратени са следните статии със заявка за публикуване. Не се колебайте да дадете мнението си за тях във форума, който е прикрепен към тях. ', # MODIF
520
-	'texte_enrichir_mise_a_jour' => 'Можете да обогатите външния вид на текста като използвате «Типографски кратки команди».',
521
-	'texte_fichier_authent' => '<b>Да създаде ли СПИП специални  <tt>.htpasswd</tt>
512
+    'texte_creer_rubrique' => 'Преди да пишете статии,<br /> трябва да създадете рубрика.',
513
+    'texte_date_creation_article' => 'ДАТА НА СЪЗДАВАНЕ НА СТАТИЯТА:',
514
+    'texte_date_publication_anterieure' => 'Дата на предишно публикуване:',
515
+    'texte_date_publication_anterieure_nonaffichee' => 'Скриване датата на предишно публикуване.',
516
+    'texte_date_publication_article' => 'ДАТА НА ПУБЛИКУВАНЕ В ИНТЕРНЕТ:',
517
+    'texte_descriptif_rapide' => 'Кратко описание',
518
+    'texte_effacer_base' => 'Изтриване на базата данни СПИП',
519
+    'texte_en_cours_validation' => 'Изпратени са следните статии със заявка за публикуване. Не се колебайте да дадете мнението си за тях във форума, който е прикрепен към тях. ', # MODIF
520
+    'texte_enrichir_mise_a_jour' => 'Можете да обогатите външния вид на текста като използвате «Типографски кратки команди».',
521
+    'texte_fichier_authent' => '<b>Да създаде ли СПИП специални  <tt>.htpasswd</tt>
522 522
   и <tt>.htpasswd-admin</tt> файлове в директорията@dossier@?</b><p>
523 523
   Тези файлове ще бъдат използвани за ограничаване достъпа на авторите
524 524
   и администраторите до други части на сайта
@@ -526,44 +526,44 @@  discard block
 block discarded – undo
526 526
   Ако не сте използвали такива файлове преди, можете да осигурите възможност
527 527
   за стойност "по подразбиране" (без 
528 528
   да се създават файлове).', # MODIF
529
-	'texte_informations_personnelles_1' => 'Системата сега ще създаде личен достъп до сайта. ',
530
-	'texte_informations_personnelles_2' => '(Забележка: ако това е преинсталация и достъпът Ви все още е активен, можете', # MODIF
531
-	'texte_introductif_article' => '(Въведение към статията.)',
532
-	'texte_jeu_caractere' => 'Препоръчваме да използвате на сайта универсална кодировка на знаците от азбуката (<tt>utf-8</tt>), за да може да се показва под формата на текст на всякакъв език. Никой от настоящите Интернет - навигатори нямат проблеми с нея. ',
533
-	'texte_jeu_caractere_3' => 'Настоящата кодировка на сайта е:',
534
-	'texte_jeu_caractere_4' => 'Ако това не отговаря на ситуацията, която имате с данните си (например след възстановяване на базата от данни от архива) или ако <em>правите настройка на сайта си в момента</em> и желаете да използвате различна кодировка на символите, моля да обозначите кодировката тук:',
535
-	'texte_login_ldap_1' => '(Оставете празно поле за потребител за анонимен достъп или попълнете пълния път за достъп, например «<tt>uid=smith, ou=users, dc=my-domain, dc=com</tt>».)',
536
-	'texte_login_precaution' => 'Внимание! Това е потребителското име, с което в момента сте се свързали.
529
+    'texte_informations_personnelles_1' => 'Системата сега ще създаде личен достъп до сайта. ',
530
+    'texte_informations_personnelles_2' => '(Забележка: ако това е преинсталация и достъпът Ви все още е активен, можете', # MODIF
531
+    'texte_introductif_article' => '(Въведение към статията.)',
532
+    'texte_jeu_caractere' => 'Препоръчваме да използвате на сайта универсална кодировка на знаците от азбуката (<tt>utf-8</tt>), за да може да се показва под формата на текст на всякакъв език. Никой от настоящите Интернет - навигатори нямат проблеми с нея. ',
533
+    'texte_jeu_caractere_3' => 'Настоящата кодировка на сайта е:',
534
+    'texte_jeu_caractere_4' => 'Ако това не отговаря на ситуацията, която имате с данните си (например след възстановяване на базата от данни от архива) или ако <em>правите настройка на сайта си в момента</em> и желаете да използвате различна кодировка на символите, моля да обозначите кодировката тук:',
535
+    'texte_login_ldap_1' => '(Оставете празно поле за потребител за анонимен достъп или попълнете пълния път за достъп, например «<tt>uid=smith, ou=users, dc=my-domain, dc=com</tt>».)',
536
+    'texte_login_precaution' => 'Внимание! Това е потребителското име, с което в момента сте се свързали.
537 537
  Предпазливо използвайте формата ...',
538
-	'texte_mise_a_niveau_base_1' => 'СПИП файловете са актуализирани.
538
+    'texte_mise_a_niveau_base_1' => 'СПИП файловете са актуализирани.
539 539
  Сега остава да обновите базата данни на
540 540
  сайта.',
541
-	'texte_modifier_article' => 'Промяна на статията:',
542
-	'texte_multilinguisme' => 'Ако желаете да боравите със статии на няколко езика с усложнена навигация, можете да добавите меню "избор на език" към статиите и/или към рубриките, в зависимост от организацията на сайта Ви.', # MODIF
543
-	'texte_multilinguisme_trad' => 'Също така, можете да активирате система за управление на препратките към различните преводи на статията.', # MODIF
544
-	'texte_non_compresse' => '<i>uncompressed</i> (сървърът ви не поддрържа това свойство)',
545
-	'texte_nouvelle_version_spip_1' => 'Току-що инсталирахте нова версия на СПИП.',
546
-	'texte_nouvelle_version_spip_2' => 'Тази нова версия налага по-сериозна от обикновената актуализация. Ако сте администратор на сайта, изтрийте файла <tt>inc_connect.php3</tt> от директория <tt>ecrire</tt> и стартирайте отново инсталацията, с цел да актуализирате параметрите на базата данни за връзка. <p>(NB: ако сте забравили параметрите на базата данни за връзка, погледнете следния файл <tt>inc_connect.php3</tt> преди да го изтриете).', # MODIF
547
-	'texte_operation_echec' => 'Върнете се на предишната страница, за да изберете друга база или да създадете нова. Потвърдете информацията, изпратена от Вашия доставчик. ',
548
-	'texte_plus_trois_car' => 'повече от 3 знака',
549
-	'texte_plusieurs_articles' => 'Бяха намерени няколко автора за „@cherche_auteur@“:',
550
-	'texte_port_annuaire' => '(Обичайната стойност е подходяща като цяло.)',
551
-	'texte_presente_plugin' => 'На тази страница са указани наличните на сайта плъгини. Активирайте тези от тях, които Ви трябват, чрез отбелязване в съответната кутийка.',
552
-	'texte_proposer_publication' => 'Когато напишете статията,<br /> можете да я изпратите за публикуване.',
553
-	'texte_proxy' => 'В някои случаи (интранет, защитени мрежи и др.),
541
+    'texte_modifier_article' => 'Промяна на статията:',
542
+    'texte_multilinguisme' => 'Ако желаете да боравите със статии на няколко езика с усложнена навигация, можете да добавите меню "избор на език" към статиите и/или към рубриките, в зависимост от организацията на сайта Ви.', # MODIF
543
+    'texte_multilinguisme_trad' => 'Също така, можете да активирате система за управление на препратките към различните преводи на статията.', # MODIF
544
+    'texte_non_compresse' => '<i>uncompressed</i> (сървърът ви не поддрържа това свойство)',
545
+    'texte_nouvelle_version_spip_1' => 'Току-що инсталирахте нова версия на СПИП.',
546
+    'texte_nouvelle_version_spip_2' => 'Тази нова версия налага по-сериозна от обикновената актуализация. Ако сте администратор на сайта, изтрийте файла <tt>inc_connect.php3</tt> от директория <tt>ecrire</tt> и стартирайте отново инсталацията, с цел да актуализирате параметрите на базата данни за връзка. <p>(NB: ако сте забравили параметрите на базата данни за връзка, погледнете следния файл <tt>inc_connect.php3</tt> преди да го изтриете).', # MODIF
547
+    'texte_operation_echec' => 'Върнете се на предишната страница, за да изберете друга база или да създадете нова. Потвърдете информацията, изпратена от Вашия доставчик. ',
548
+    'texte_plus_trois_car' => 'повече от 3 знака',
549
+    'texte_plusieurs_articles' => 'Бяха намерени няколко автора за „@cherche_auteur@“:',
550
+    'texte_port_annuaire' => '(Обичайната стойност е подходяща като цяло.)',
551
+    'texte_presente_plugin' => 'На тази страница са указани наличните на сайта плъгини. Активирайте тези от тях, които Ви трябват, чрез отбелязване в съответната кутийка.',
552
+    'texte_proposer_publication' => 'Когато напишете статията,<br /> можете да я изпратите за публикуване.',
553
+    'texte_proxy' => 'В някои случаи (интранет, защитени мрежи и др.),
554 554
   е нужно да се използва <i>HTTP прокси</i>, за да се достигне до обединените сайтове.
555 555
   Ако има прокси, впишете адрес му отдолу по следния начин
556 556
   <tt><html>http://proxy:8080</html></tt>. По принцип,
557 557
   това поле се оставя празно.',
558
-	'texte_publication_articles_post_dates' => 'Какво би трябвало да направи СПИП във връзка със статии,
558
+    'texte_publication_articles_post_dates' => 'Какво би трябвало да направи СПИП във връзка със статии,
559 559
   чиято публикация е зададена
560 560
   за бъдеща дата?',
561
-	'texte_rappel_selection_champs' => '[Не забравяйте да изберете правилното поле.]',
562
-	'texte_recalcul_page' => 'Ако желаете да
561
+    'texte_rappel_selection_champs' => '[Не забравяйте да изберете правилното поле.]',
562
+    'texte_recalcul_page' => 'Ако желаете да
563 563
 презаредите само една страница, по-добре направете това от публичната зона, като използвате « бутона "Презареждане" ».',
564
-	'texte_recuperer_base' => 'Поправка на базата данни',
565
-	'texte_reference_mais_redirige' => 'свързана статия на Вашия СПИП сайт, но пренасочена към друг URL адрес.',
566
-	'texte_requetes_echouent' => '<b>Когато някои SQL справки
564
+    'texte_recuperer_base' => 'Поправка на базата данни',
565
+    'texte_reference_mais_redirige' => 'свързана статия на Вашия СПИП сайт, но пренасочена към друг URL адрес.',
566
+    'texte_requetes_echouent' => '<b>Когато някои SQL справки
567 567
   системно и без налична причина заочнат да се развалят, възможно е
568 568
   базата данни сама да
569 569
   го прави.</b>
@@ -574,7 +574,7 @@  discard block
 block discarded – undo
574 574
   указания за това, което е развалено.
575 575
   <p>Ако проблемът все още е налице, обадете се
576 576
   на Вашия хост.', # MODIF
577
-	'texte_selection_langue_principale' => 'Посочете по-долу „основният език“ на сайта. За щастие, този избор не ограничава статиите Ви да бъдат написани на избран от Вас езит. Той позволявя да определите
577
+    'texte_selection_langue_principale' => 'Посочете по-долу „основният език“ на сайта. За щастие, този избор не ограничава статиите Ви да бъдат написани на избран от Вас езит. Той позволявя да определите
578 578
 
579 579
 <ul><li> формата „по подразбиране“ на данните в публичния сайт</li>
580 580
 
@@ -583,71 +583,71 @@  discard block
 block discarded – undo
583 583
 <li> езикът, който се използва във формите на публичния сайт</li>
584 584
 
585 585
 <li> езикът „по подразбиране“ на данните в личната зона.</li></ul>',
586
-	'texte_sous_titre' => 'Подзаглавие',
587
-	'texte_statistiques_visites' => '(тъмни ивици: неделя / тъмна крива: средно развитие)',
588
-	'texte_statut_attente_validation' => 'за одобрение',
589
-	'texte_statut_publies' => 'публикувани на сайта',
590
-	'texte_statut_refuses' => 'отхвърлени',
591
-	'texte_suppression_fichiers' => 'Тази команда служи за изтриване на всички
586
+    'texte_sous_titre' => 'Подзаглавие',
587
+    'texte_statistiques_visites' => '(тъмни ивици: неделя / тъмна крива: средно развитие)',
588
+    'texte_statut_attente_validation' => 'за одобрение',
589
+    'texte_statut_publies' => 'публикувани на сайта',
590
+    'texte_statut_refuses' => 'отхвърлени',
591
+    'texte_suppression_fichiers' => 'Тази команда служи за изтриване на всички
592 592
  файлове в кеш-паметта на СПИП. Това позволява да се актуализират принудително всички страници, в
593 593
  случаи, когато са направени важни изменения в графиките или структурата на сайта.',
594
-	'texte_sur_titre' => 'Челно заглавие',
595
-	'texte_table_ok' => ' : тази таблица е добра.',
596
-	'texte_tentative_recuperation' => 'Опит за поправка',
597
-	'texte_tenter_reparation' => 'Опит за поправка на базата данни',
598
-	'texte_test_proxy' => 'За да изпробвате дали работи проксито, впишете на това място
594
+    'texte_sur_titre' => 'Челно заглавие',
595
+    'texte_table_ok' => ' : тази таблица е добра.',
596
+    'texte_tentative_recuperation' => 'Опит за поправка',
597
+    'texte_tenter_reparation' => 'Опит за поправка на базата данни',
598
+    'texte_test_proxy' => 'За да изпробвате дали работи проксито, впишете на това място
599 599
     URL-a на желана Интернет страница.',
600
-	'texte_titre_02' => 'Тема:',
601
-	'texte_titre_obligatoire' => '<b>Заглавие</b> [Задължително]',
602
-	'texte_travail_article' => '@nom_auteur_modif@ е работил по статията преди @date_diff@ минути',
603
-	'texte_travail_collaboratif' => 'Ако се случва често няколко редактора да
600
+    'texte_titre_02' => 'Тема:',
601
+    'texte_titre_obligatoire' => '<b>Заглавие</b> [Задължително]',
602
+    'texte_travail_article' => '@nom_auteur_modif@ е работил по статията преди @date_diff@ минути',
603
+    'texte_travail_collaboratif' => 'Ако се случва често няколко редактора да
604 604
   работят по една и съща статия, системата
605 605
   може да покаже наскоро отваряните статии,
606 606
   с цел да избегнат едновременни промени.
607 607
   Тази операция е изключена по начало,
608 608
   с цел да не се показват излишни
609 609
   предупредителни съобщения.',
610
-	'texte_vide' => 'празно',
611
-	'texte_vider_cache' => 'Изпразване на кеш-паметта',
612
-	'titre_admin_tech' => 'Техническа поддръжка',
613
-	'titre_admin_vider' => 'Техническа поддръжка',
614
-	'titre_cadre_afficher_article' => 'Показване на статиите:',
615
-	'titre_cadre_afficher_traductions' => 'Показване статуса на превод на следния език:',
616
-	'titre_cadre_ajouter_auteur' => 'ДОБАВЯНЕ НА АВТОР:',
617
-	'titre_cadre_interieur_rubrique' => 'В рубрика',
618
-	'titre_cadre_numero_auteur' => 'НОМЕР НА АВТОРА',
619
-	'titre_cadre_signature_obligatoire' => '<b>Подпис</b> [Задължителен]<br />',
620
-	'titre_config_fonctions' => 'Конфигуриране на сайта',
621
-	'titre_configuration' => 'Конфигуриране на сайта',
622
-	'titre_connexion_ldap' => 'Възможности: <b>Вашата LDAP-връзка</b>',
623
-	'titre_groupe_mots' => 'ГРУПА ОТ КЛЮЧОВИ ДУМИ:',
624
-	'titre_langue_article' => 'ЕЗИК НА СТАТИЯТА', # MODIF
625
-	'titre_langue_rubrique' => 'ЕЗИК НА РУБРИКАТА', # MODIF
626
-	'titre_langue_trad_article' => 'ЕЗИК И ПРЕВОДИ НА СТАТИЯТА',
627
-	'titre_les_articles' => 'СТАТИИ',
628
-	'titre_naviguer_dans_le_site' => 'Търсене на сайта',
629
-	'titre_nouvelle_rubrique' => 'Нова рубрика',
630
-	'titre_numero_rubrique' => 'НОМЕР НА РУБРИКАТА:',
631
-	'titre_page_articles_edit' => 'Промяна: @titre@',
632
-	'titre_page_articles_page' => 'Статии',
633
-	'titre_page_articles_tous' => 'Целият сайт',
634
-	'titre_page_calendrier' => 'Календар @nom_mois@ @annee@',
635
-	'titre_page_config_contenu' => 'Конфигуриране на сайта',
636
-	'titre_page_delete_all' => 'пълно и безвъзвратно изтриване',
637
-	'titre_page_recherche' => 'Резултати от търсенето @recherche@',
638
-	'titre_page_statistiques_referers' => 'Статистика (входящи препратки)',
639
-	'titre_page_upgrade' => 'Актуализация на СПИП',
640
-	'titre_publication_articles_post_dates' => 'Публикуване на статии с отминала дата',
641
-	'titre_reparation' => 'Поправка',
642
-	'titre_suivi_petition' => 'Допълнения на молбите',
643
-	'trad_article_traduction' => 'Всички версии на статията:',
644
-	'trad_delier' => 'Отказ от свързване на статията с нейните преводи', # MODIF
645
-	'trad_lier' => 'Статията е превод на статия номер ',
646
-	'trad_new' => 'Писане на нов превод на статията', # MODIF
610
+    'texte_vide' => 'празно',
611
+    'texte_vider_cache' => 'Изпразване на кеш-паметта',
612
+    'titre_admin_tech' => 'Техническа поддръжка',
613
+    'titre_admin_vider' => 'Техническа поддръжка',
614
+    'titre_cadre_afficher_article' => 'Показване на статиите:',
615
+    'titre_cadre_afficher_traductions' => 'Показване статуса на превод на следния език:',
616
+    'titre_cadre_ajouter_auteur' => 'ДОБАВЯНЕ НА АВТОР:',
617
+    'titre_cadre_interieur_rubrique' => 'В рубрика',
618
+    'titre_cadre_numero_auteur' => 'НОМЕР НА АВТОРА',
619
+    'titre_cadre_signature_obligatoire' => '<b>Подпис</b> [Задължителен]<br />',
620
+    'titre_config_fonctions' => 'Конфигуриране на сайта',
621
+    'titre_configuration' => 'Конфигуриране на сайта',
622
+    'titre_connexion_ldap' => 'Възможности: <b>Вашата LDAP-връзка</b>',
623
+    'titre_groupe_mots' => 'ГРУПА ОТ КЛЮЧОВИ ДУМИ:',
624
+    'titre_langue_article' => 'ЕЗИК НА СТАТИЯТА', # MODIF
625
+    'titre_langue_rubrique' => 'ЕЗИК НА РУБРИКАТА', # MODIF
626
+    'titre_langue_trad_article' => 'ЕЗИК И ПРЕВОДИ НА СТАТИЯТА',
627
+    'titre_les_articles' => 'СТАТИИ',
628
+    'titre_naviguer_dans_le_site' => 'Търсене на сайта',
629
+    'titre_nouvelle_rubrique' => 'Нова рубрика',
630
+    'titre_numero_rubrique' => 'НОМЕР НА РУБРИКАТА:',
631
+    'titre_page_articles_edit' => 'Промяна: @titre@',
632
+    'titre_page_articles_page' => 'Статии',
633
+    'titre_page_articles_tous' => 'Целият сайт',
634
+    'titre_page_calendrier' => 'Календар @nom_mois@ @annee@',
635
+    'titre_page_config_contenu' => 'Конфигуриране на сайта',
636
+    'titre_page_delete_all' => 'пълно и безвъзвратно изтриване',
637
+    'titre_page_recherche' => 'Резултати от търсенето @recherche@',
638
+    'titre_page_statistiques_referers' => 'Статистика (входящи препратки)',
639
+    'titre_page_upgrade' => 'Актуализация на СПИП',
640
+    'titre_publication_articles_post_dates' => 'Публикуване на статии с отминала дата',
641
+    'titre_reparation' => 'Поправка',
642
+    'titre_suivi_petition' => 'Допълнения на молбите',
643
+    'trad_article_traduction' => 'Всички версии на статията:',
644
+    'trad_delier' => 'Отказ от свързване на статията с нейните преводи', # MODIF
645
+    'trad_lier' => 'Статията е превод на статия номер ',
646
+    'trad_new' => 'Писане на нов превод на статията', # MODIF
647 647
 
648
-	// U
649
-	'utf8_convert_erreur_orig' => 'Грешка: кодировката на символите @charset@ не се поддържа.',
648
+    // U
649
+    'utf8_convert_erreur_orig' => 'Грешка: кодировката на символите @charset@ не се поддържа.',
650 650
 
651
-	// V
652
-	'version' => 'Версия:'
651
+    // V
652
+    'version' => 'Версия:'
653 653
 );
Please login to merge, or discard this patch.