[pmwiki-users-fr] Les noms de fichiers russes

Petko Yotov 5ko at 5ko.fr
Mer 14 Avr 16:42:08 CDT 2010


On Wednesday 14 April 2010 22:14:21, Tatarinov wrote :
> J'utilise la version russe de PMWiki. Ayant cree une nouvelle page,
> je vois apparaitre un fichier dont le nom est incomprehensible et
> qui souvent est mal apprecie par les programmes FTP.
> 
> Est-il possible "d'apprendre" a PMWiki une bonne maniere:
> c'est trasliterer ('translit') les lettres russes.
> 
> Par exemple, dans mon nom Yaroslav les deux premieres letteres
> representent une seule lettre russe qui a l'aspect de "R" reflete
> par rapport a la verticale.
> 
> J'espere que ce ne sera pas trop casse-tete!

Привет,

Par "fichier" je comprends celui dans le doissier wiki.d/ qui contient la page 
du wiki, pas un fichier joint (image, zip, pdf...) à une page.

Cette question s'applique également aux sites francophones qui peuvent avoir 
des caractères accentués dans les noms des pages. Il y a au moins trois façons 
d'attaquer le problème des noms de fichiers illisibles.

1. Souvent il suffit de choisir "l'encodage système de fichiers" dans les 
réglages du logiciel FTP vers "Unicode (UTF-8)". Par exemple, il faut faire :
* dans Konqueror, "Tools > Select remote charset > Unicode (UTF-8)" 
* dans Krusader,  "View  > Select remote charset > Unicode (UTF-8)"
* dans FireFTP,   "Edit  > Advanced > Server encoding > UTF-8"

Après, on voit les noms des fichiers-pages en Cyrillique comme on devrait. :-)


2. Personnellement, j'utilise le module SQLite qui stocke toutes les pages 
dans un seul fichier "pmwiki.sqlite.db", je ne pense donc plus aux noms des 
fichiers, aux codages, si ça fonctionnera en cas de sauvegarde ailleurs ou 
après changement d'hébergeur (ça fonctionnera), etc.
PHP 5.1 ou plus récent est nécessaire pour ce module :

  http://www.pmwiki.org/wiki/Cookbook/SQLite


3. Pour transformer les lettres accentuées, les sites francophones peuvent 
utiliser cette recette :

  http://www.pmwiki.org/wiki/Cookbook/ISO8859MakePageNamePatterns

Pour les lettres cyrilliques, nous pouvons faire presque la même chose. Dans 
local/config.php, nous ajoutons ce code :

  include_once("scripts/xlpage-utf-8.php"); # c'est p'tet déjà dans config.php
  SDVA($MakePageNamePatterns, array(
   '/Я/'=>'Ya',   '/я/'=>'ya',
   '/Л/'=>'L',    '/л/'=>'l',
   # etc., ajouter ici toutes les lettres Majuscule puis minuscule
  ));

Se sont des règles de remplacement que PmWiki appliquera dans cet ordre sur 
les liens pour créer des noms des pages et donc des noms des fichiers.

Il faut noter que l'ordre des choses dans config.php est important -- il y a 
des infos au fond de la page
  http://www.pmwiki.org/wiki/PmWiki/LocalCustomizations

Il faut également noter que le codage dans lequel config.php est enregistré, 
doit nécessairement être "Unicode (UTF-8)". On devrait pouvoir choisir son 
codage dans son logiciel éditeur de texte.

Enfin, avec cette approche, un nom de page sera toujours en lettres latines, 
il faut donc toujours utiliser la commande (:title Кириллица:) pour définir le 
titre des pages.

Je recommande la solution 1 car elle est la plus simple.

Merci,
Petko



Plus d'informations sur la liste de diffusion pmwiki-users-fr