PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#1 05/09/2017 14:16:36

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

L'URL n'est pas rempli automatiquement si l'article en langue russe

Salut!
Lors de la création d'articles en russe, c'est-à-dire en cyrillique (qui est inclus dans la livraison standard du système), le champ de l'URL n'est pas rempli automatiquement. Au lieu de cela, l'entrée "new-article" apparaît dans le champ URL. Et cela se produit lorsque vous créez chaque nouvel article.
Avec d'autres langues, tout fonctionne bien, l'URL est remplie selon le titre de l'article. Mais pas avec le nom russe sad

Hors ligne

#2 05/09/2017 14:40:28

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 526
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Je n'ai pas ce problème. Y a-t-il des plugins activés ? Sont-ils tous compatibles avec ta version de PluXml ?
Quelle est la version de PluXml utilisée ?


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#3 05/09/2017 16:01:14

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Seule la version installée 5.6
Pas de plugins.
Ici, il devrait être écrit dans une transcription "novaya-zapis"
Cela devrait être écrit en transcription.
C'est le cas avec les langues allemande, roumaine et autres.
Ils sont traduits en transcription.
Les mots russes en transcription ne sont pas traduits.
pluxml1.jpg

Hors ligne

#4 05/09/2017 17:11:12

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Je ne suis pas un programmeur, mais je suppose que dans certains fichiers il devrait y avoir une règle pour traduire les caractères cyrilliques en translit.
Quelque chose comme ceci:

[== PHP ==]
function translit($str){
    $alphavit = array(
    /*--*/
    "а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d","е"=>"e","ё"=>"yo","ж"=>"j","з"=>"z","и"=>"i","й"=>"i","к"=>"k","л"=>"l", "м"=>"m",
    "н"=>"n","о"=>"o","п"=>"p","р"=>"r","с"=>"s","т"=>"t","у"=>"y","ф"=>"f","х"=>"h","ц"=>"c","ч"=>"ch", "ш"=>"sh","щ"=>"sh",
    "ы"=>"i","э"=>"e","ю"=>"u","я"=>"ya",
    /*--*/
    "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D","Е"=>"E", "Ё"=>"Yo","Ж"=>"J","З"=>"Z","И"=>"I","Й"=>"I","К"=>"K", "Л"=>"L","М"=>"M",
    "Н"=>"N","О"=>"O","П"=>"P", "Р"=>"R","С"=>"S","Т"=>"T","У"=>"Y","Ф"=>"F", "Х"=>"H","Ц"=>"C","Ч"=>"Ch","Ш"=>"Sh","Щ"=>"Sh",
    "Ы"=>"I","Э"=>"E","Ю"=>"U","Я"=>"Ya","ь"=>"","Ь"=>"","ъ"=>"","Ъ"=>""
    );
    return strtr($str, $alphavit);
}

P/S

Je suppose également que dans ce système pour la conversion est responsable de:
class.plx.utils.php

Dernière modification par Konstantinopol (05/09/2017 18:55:13)

Hors ligne

#5 06/09/2017 11:47:47

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 526
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Ok, on ne parlait pas de la même chose. Effectivement, ce doit être un bug (ou un oubli).


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#6 06/09/2017 14:17:41

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 526
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

C'est un oubli dans le fichier lang/ru/admin.php, lignes 41, 42 et 43 : il faudrait mettre à la place :

[== Indéfini ==]
'L_DEFAULT_NEW_CATEGORY_URL' => 'новая-категория',
'L_DEFAULT_NEW_STATIC_URL' => 'новая-страница',
'L_DEFAULT_NEW_ARTICLE_URL' => 'новая-статья',

si ma traduction est convenable.

Dernière modification par Jerry Wham (06/09/2017 14:18:01)


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#7 06/09/2017 16:58:36

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 754
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

@Konstantinopol,

Il manque aussi des traductions dans le fichier core/lang/ru/core.php

[== PHP ==]
$LANG = array(

'L_LANGUE'						=> 'Russian',
/*  ... */
'L_SHORT_JANUARY'				=> '',
'L_SHORT_FEBRUARY'				=> '',
'L_SHORT_MARCH'					=> '',
'L_SHORT_APRIL'					=> '',
'L_SHORT_MAY'					=> '',
'L_SHORT_JUNE'					=> '',
'L_SHORT_JULY'					=> '',
'L_SHORT_AUGUST'				=> '',
'L_SHORT_SEPTEMBER'				=> '',
'L_SHORT_OCTOBER'				=> '',
'L_SHORT_NOVEMBER'				=> '',
'L_SHORT_DECEMBER'				=> '',

Hors ligne

#8 06/09/2017 17:17:28

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Messieurs, je suis désolé, mais ce n'est pas à ce sujet.
Lors de la rédaction d'un article, le titre doit être converti en translittération.
C'est-à-dire, si le titre en russe ressemble à un "Новая статья" (new article) alors le lien devrait ressembler à www.mysite.ru/novaya-statya.html et non www.mysite.ru/new-article.html ou www.mysite.ru/новая-статья.html

l'expression "Новая статья" devrait être traduite dans la phrase "Novaya-statya"
Mais il n'existe pas de règles de translittération dans les fichiers système.

Hors ligne

#9 06/09/2017 18:05:42

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 754
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Heureusement qu'il y a Wikpédia pour comprendre la translitteration :
https://fr.wikipedia.org/wiki/Transcrip … 3%A9ration

Il faut faire un.plugin pour cela

@Konstantinopol,
Tu as un lien pour les règles de translittération ?

Hors ligne

#10 06/09/2017 18:17:37

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

J'ai déjà répand le code, ici dans le sujet.

[== Indéfini ==]
function translit($str){
    $alphavit = array(
    /*--*/
    "а"=>"a","б"=>"b","в"=>"v","г"=>"g","д"=>"d","е"=>"e","ё"=>"yo","ж"=>"j","з"=>"z","и"=>"i","й"=>"i","к"=>"k","л"=>"l", "м"=>"m",
    "н"=>"n","о"=>"o","п"=>"p","р"=>"r","с"=>"s","т"=>"t","у"=>"y","ф"=>"f","х"=>"h","ц"=>"c","ч"=>"ch", "ш"=>"sh","щ"=>"sh",
    "ы"=>"i","э"=>"e","ю"=>"u","я"=>"ya",
    /*--*/
    "А"=>"A","Б"=>"B","В"=>"V","Г"=>"G","Д"=>"D","Е"=>"E", "Ё"=>"Yo","Ж"=>"J","З"=>"Z","И"=>"I","Й"=>"I","К"=>"K", "Л"=>"L","М"=>"M",
    "Н"=>"N","О"=>"O","П"=>"P", "Р"=>"R","С"=>"S","Т"=>"T","У"=>"Y","Ф"=>"F", "Х"=>"H","Ц"=>"C","Ч"=>"Ch","Ш"=>"Sh","Щ"=>"Sh",
    "Ы"=>"I","Э"=>"E","Ю"=>"U","Я"=>"Ya","ь"=>"","Ь"=>"","ъ"=>"","Ъ"=>""
    );
    return strtr($str, $alphavit);
}

Quant au plugin, je ne suis pas un programmeur. Dans PHP, je ne comprends pas, seulement HTML.

Hors ligne

#11 06/09/2017 18:37:46

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 754
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Ok, j'ai compris  tongue

[== PHP ==]
$a = 'Новая статья';
echo translit($a);
/* Cela donne : */
/* Novaya statya */

C'est juste pour l' url de l'article ?

On doit pouvoir avec un plugin et le hook plxAdminEditArticle employé dans plAdmin::editArticle()
Je pense que tu dois avoir le même problème avec les pages statiques.

Dernière modification par bazooka07 (06/09/2017 18:44:13)

Hors ligne

#12 06/09/2017 19:01:35

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Je suis désolé, mais quand je crée une nouvelle page statique, je dois entrer manuellement l'URL. Je n'ai pas remarqué l'automatisation là-bas.

Hors ligne

#13 06/09/2017 19:21:09

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Je vois juste que c'est fait dans un autre CMS facile, comme par exemple, Bludit, Getsimple,HTMLy, Redaxscript (et ainsi de suite)
Je crois, si j'ai compris dans le PHP, je pouvais voir comment la translittération a été faite à partir d'eux et l'a fait dans Pluxml. Mais je ne suis pas complètement versé en PHP.

Dernière modification par Konstantinopol (06/09/2017 19:21:52)

Hors ligne

#14 06/09/2017 19:42:05

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Oui, il y a une autre option.
Il existe une version Pluxml du programmeur russe appelé Pluxfolio. C'est donc là que la translittération des articles est excellente.
Mais le projet est maintenant fermé, il n'y a pas de lien avec celui-ci.
Est-ce que quelqu'un de la coryphée locale peut-il voir comment cela se fait-il et jeter cette décision à un nouveau Pluxml?
Voici un lien vers l'archive de version. Il y a 2 langues - anglais et russe, par défaut l'anglais. Mais comme je l'ai compris, le code est documenté.
https://drive.google.com/open?id=0BxFu9 … nRoSTVsNzg

Hors ligne

#15 06/09/2017 19:53:38

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Donc, j'ai même trouvé le code, qui est responsable de la translittération.
Il est situé dans class.plx.utils.php:

[== Indéfini ==]
	function removeAccents($str,$charset='utf-8') {

		$str = plxUtils::imTranslite($str);
	    $str = htmlentities($str, ENT_NOQUOTES, $charset);
	    $str = preg_replace('#\&([A-za-z])(?:acute|cedil|circ|grave|ring|tilde|uml|uro)\;#', '\1', $str);
	    $str = preg_replace('#\&([A-za-z]{2})(?:lig)\;#', '\1', $str); # pour les ligatures e.g. 'œ'
	    $str = preg_replace('#\&[^;]+\;#', '', $str); # supprime les autres caractères    
	    return $str;
	}

	function imTranslite($str)
	{
		static $tbl= array(
			'а'=>'a', 'б'=>'b', 'в'=>'v', 'г'=>'g', 'д'=>'d', 'е'=>'e', 'ж'=>'g', 'з'=>'z',
			'и'=>'i', 'й'=>'y', 'к'=>'k', 'л'=>'l', 'м'=>'m', 'н'=>'n', 'о'=>'o', 'п'=>'p',
			'р'=>'r', 'с'=>'s', 'т'=>'t', 'у'=>'u', 'ф'=>'f', 'ы'=>'i', 'э'=>'e', 'А'=>'A',
			'Б'=>'B', 'В'=>'V', 'Г'=>'G', 'Д'=>'D', 'Е'=>'E', 'Ж'=>'G', 'З'=>'Z', 'И'=>'I',
			'Й'=>'Y', 'К'=>'K', 'Л'=>'L', 'М'=>'M', 'Н'=>'N', 'О'=>'O', 'П'=>'P', 'Р'=>'R',
			'С'=>'S', 'Т'=>'T', 'У'=>'U', 'Ф'=>'F', 'Ы'=>'I', 'Э'=>'E', 'ё'=>"yo", 'х'=>"h",
			'ц'=>"ts", 'ч'=>"ch", 'ш'=>"sh", 'щ'=>"shch", 'ъ'=>"", 'ь'=>"", 'ю'=>"yu", 'я'=>"ya",
			'Ё'=>"YO", 'Х'=>"H", 'Ц'=>"TS", 'Ч'=>"CH", 'Ш'=>"SH", 'Щ'=>"SHCH", 'Ъ'=>"", 'Ь'=>"",
			'Ю'=>"YU", 'Я'=>"YA"
		);

	return strtr($str, $tbl);
	}
	
	function title2url($str) {

		$str = strtolower(plxUtils::removeAccents($str,PLX_CHARSET));
		$str = preg_replace('/[^[:alnum:]]+/',' ',$str);
		return strtr(trim($str), ' ', '-');
	}

	function title2filename($str) {

		$str = strtolower(plxUtils::removeAccents($str,PLX_CHARSET));
		$str = preg_replace('/[^[:alnum:]|.|_]+/',' ',$str);
		return strtr(trim($str), ' ', '-');
	}

Dernière modification par Konstantinopol (06/09/2017 19:57:34)

Hors ligne

#16 06/09/2017 19:58:41

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 754
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Pluxfolio a créé une fonction imTranslite() dans le fichier core/lib/class.plx.utils.php vers la ligne 176.

C'est PluXml version 1.2. de 2011. C'est vieux !

Je vais étudier cela. Laisse moi un temps de temps.
Il faut faire un petit plugin pour ne pas modifier PluXml pour l'instant.
Je vais voir les autres CMS

Dernière modification par bazooka07 (06/09/2017 20:00:56)

Hors ligne

#17 06/09/2017 20:04:26

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

bazooka07
Je vous serais très reconnaissant de pouvoir contribuer à la promotion de ce CMS remarquable en Russie.

Hors ligne

#18 06/09/2017 21:49:43

Jerry Wham
Membre
Inscription : 13/07/2011
Messages : 2 526
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

J'ai proposé un pull request sur github mais il ne tient pas compte de la translittération (que je ne connaissais pas). Je ne sais pas s'il sera pris en compte du coup... sad


Mangez un castor, vous sauverez un arbre !

J'ai la tête dans le  ...code

Hors ligne

#19 06/09/2017 22:37:50

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Jerry Wham
Je suppose que vous avez apporté des modifications au fichier.

Edit title2url and title2filename for cyrillic support #251

J'ai téléchargé ce fichier et l'ai remplacé par l'original et c'est ce que j'ai eu:
pluxml2.jpg
L'URL se traduit par abracadabra sad

Hors ligne

#20 07/09/2017 01:06:49

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 754
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

@Konstantinopol,

C'est intéressant toutes ces informations sur les autres plugins. Il y a des tableaux et des fonctions pour faire la translittération

  • Htmly utilise un plugin d'un autre site. C'est très bien.

  • GetSimple Il y a un mélange avec des chaines de texte en anglais. C'est le fouillis.

  • BludIt C'est bien aussi

C'est  vrai que PluXml a besoin d'une mise à jour.
Il y a aussi des problèmes en allemand. par exemple blanc se dit weiß et doit être transformé en weiss pour l'url.

Question : Tu peux utliser le cyrillic pour les noms de fichiers sur ton disque dur ?

Pour les pages statiques, si l'url n'est pas indiqué, PluXml va la calculer à partir du titre. Donc je suis obligé d'étudier le problème aussi.

Bon, ce n'est pas très compliqué, il me faut un peu de temps pour faire le plugin en attendant la prochaine version de PluXml au printemps 2018.

Dernière modification par bazooka07 (07/09/2017 01:08:06)

Hors ligne

#21 07/09/2017 03:15:40

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

bazooka07

Question : Tu peux utliser le cyrillic pour les noms de fichiers sur ton disque dur ?

Oui, je peux utiliser le cyrillique pour les noms de fichiers sur mon disque dur.
Pourquoi demandez-vous à ce sujet?

Hors ligne

#22 07/09/2017 20:10:00

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 754
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Je te propose d'essayer ce plugin :
Télécharger le plugin kzUrlify

Il gére les articles et les pages statiques qui n'ont pas l'URL à la saisie, en se basant sur le titre.

Konstantinopol a écrit :

bazooka07

Question : Tu peux utliser le cyrillic pour les noms de fichiers sur ton disque dur ?

Oui, je peux utiliser le cyrillique pour les noms de fichiers sur mon disque dur.
Pourquoi demandez-vous à ce sujet?

A cause des fichiers d'images.

Si avec Firefox on importe un fichier d'image, est ce que le navigateur fait la translitération pour ne pas avoir un nom de fichier en cyrillique ?

Hors ligne

#23 07/09/2017 20:31:56

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

bazooka07
Excellent d'emploi!
Et les articles et les pages statiques sont transposés comme prévu!
À propos des images:
Je donne toujours les noms anglais aux fichiers image, ou les Russes en translittération.

Hors ligne

#24 07/09/2017 23:42:18

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 754
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Super  big_smile

A propos des images.

C'est pas bon non plus.

Sur mon PC j'ai renommé un fichier image en "маленький кот.jpg" et le gestionnaire de médias le renomme en "jpg".
Le chaton rieur
http://kazimentou.fr/divers/%D0%BC%D0%B … %D1%82.jpg

D'après le lien ci-dessus les caractères cyrilliques marchent bien sur Internet.

Je vais regarder cela aussi mais c'est plus compliqué.

Il faut que la translittération soit automatique pour renommer les fichiers.
Je vais voir après si dans le gestionnaire de médias les noms de fichiers en caractères latins peuvent être affichés en caractères cyrilliques.
Si j'ai bien lu, la translittération est réversible.

Est ce que c'est facile pour tous les russophones de faire la translittération manuellement et inversement ?

Dernière modification par bazooka07 (07/09/2017 23:44:23)

Hors ligne

#25 08/09/2017 00:25:48

Konstantinopol
Membre
Lieu : Saint Petersburg, Russie
Inscription : 05/09/2017
Messages : 20
Site Web

Re : L'URL n'est pas rempli automatiquement si l'article en langue russe

Si j'essaie de charger une image avec un nom cyrillique, par exemple "картинка1.jpg", puis après le téléchargement, le nom de l'image devient "1.jpg"
Si vous utilisez l'éditeur de CKeditor, vous pouvez télécharger une image avec un nom cyrillique vers le chargeur interne (Roxy File Manager). MAIS, l'image ne s'ouvre pas et n'est pas affichée.
pluxml3.jpg

Mais ce n'est pas vraiment important.
Dans toutes les recommandations pour la construction de sites indiqués, l'utilisation de l'alphabet latin pour nommer les fichiers téléchargés.
C'est-à-dire, le contenu est dans votre langue maternelle, tout le reste est en latin.

Dernière modification par Konstantinopol (08/09/2017 00:36:00)

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2017 PluXml.org, tous droits réservés