PmWikiFr /

FichierDeConfiguration

GratiWiki: tout le savoir gratuit sur le gratuit

Ci-dessous une trame pour la définition d'un fichier de configuration config.php, installé dans le répertoire local, pour la francisation du wiki. Il est aussi possible de créer un fichier complètement indépendant pour la francisation 'français.php' et de l'appeller depuis le fichier de configuration général.

  include_once('francais.php'); # francisation

Attention, la position de l'appel n'est pas indifférente, elle doit se trouver avant la majorité des paramètres de configuration.

voir traduction du fichier doc/sample_config.php de la versions 2.2.0 beta 54 (et beta 63)

Configuration de base

Modules optionnels

Francisation

Voir aussi (en anglais)

  • PmWiki:Cookbook.SideBarNameChange
  • PmWiki:Cookbook.MainGroupChange
    <?php if (!defined('PmWiki')) exit();
    ##---------------Francisation -------------------------------
    ## Francisation des commandes (édition, etc.)
    XLPage('fr','PmWikiFr.XLPage');
    XLPage('fr','PmWikiFr.XLPageCookbook');
    $DefaultGroup = 'MonWiki'; # Groupe par défaut
    $DefaultName = 'Accueil'; # Page de démarrage groupe - défaut 'HomePage' - 
    $TimeFmt = "%d/%m/%Y %H:%M";  # Format date/heure  17/02/2004 00:14
    $CategoryGroup = 'Catégorie';
    $AuthorGroup = 'Profils'; # Nom du groupe des contributeurs, défaut 'Profiles'
    $AuthorRequiredFmt = 'Saisir votre nom ou identifiant'; # quand auteur requis
    $AuthDeniedFmt = 'Un mot de passe valide est requis pour accéder à cette fonction.';
    ## Balise de réponse R: en complément à Q: et A:
    Markup('^R:', 'block', '/^(R:.*)$/', "<:block><p class='answer'>$1</p>");
    
    $PageRefCountFmt = "<h1>Références croisées</h1><p>"; # Chaîne dans RefCount
    $RefCountTimeFmt = "<small>%d-%b-%Y %H:%M</small>"; # Chaîne dans RefCount
    
    ## Gestion des pages
    $DefaultPageTextFmt = 'La page $Name n\'existe pas';
    $PageNotFound = 'PmWikiFr.PageInconnue';  #Pour les pages inexistantes
    $PageRedirectFmt = '<p><i>redirigé depuis $FullName</p>';
    ## Expression utilisée pour indiquer qu'une page doit être effacée
    $DeleteKeyPattern = "^\\s*effacer\\s*$";
    
    $RecentChangesFmt = array(
      '$SiteGroup.ToutesLesModifs' => 
        '* [[$Group.$Name]]  . . . $CurrentTime par $AuthorLink: [=$ChangeSummary=]',
      '$Group.ModifsDuGroupe' =>
        '* [[$Group/$Name]]  . . . $CurrentTime par $AuthorLink: [=$ChangeSummary=]'); 
    
    $VarPagesFmt = array('PmWikiFr.Variables','PmWikiFr.BasicVariables',
      'PmWikiFr.LayoutVariables','PmWikiFr.PathVariables','PmWikiFr.LinkVariables',
      'PmWikiFr.EditVariables','PmWikiFr.UploadVariables','PmWikiFr.I18nVariables',
      'PmWikiFr.PagelistVariables','PmWikiFr.OtherVariables','PmWikiFr.MailPosts');
    
    ##--- Styles standard --------------------
    $WikiStyle['noir']['color'] = 'black';
    $WikiStyle['blanc']['color'] = 'white';
    $WikiStyle['rouge']['color'] = 'red';
    $WikiStyle['vert']['color'] = 'green';
    $WikiStyle['bleu']['color'] = 'blue';
    $WikiStyle['jaune']['color'] = 'yellow';
    $WikiStyle['gris']['color'] = 'gray';
    $WikiStyle['argent']['color'] = 'silver';
    $WikiStyle['marron']['color'] = 'maroon';
    $WikiStyle['pourpre']['color'] = 'purple';
    $WikiStyle['bleufoncé']['color'] = 'navy';
    
    ## Chaînes pour la notification par courrier
    $MailPostsMessage = "Modifications récentes du wiki:\n
      ($ScriptUrl/$SiteGroup/ToutesLesModifs)\n\n\$MailPostsList\n";
    $MailPostsSubject = "$WikiTitle : modifications récentes du wiki";
    #$MailPostsItemFmt =
    #  ' * $ScriptUrl/$FullName . . $PostTime par $Author-$RemoteAddr';
    $MailPostsItemFmt = ' * $FullName . . . $PostTime par $Author';
    
    $BlocklistPages = "Admin.ListeDeBlocage"; # *AVANT* le script de blocage
    $UploadDir = 'fichiers';
    $ApprovedUrlPagesFmt = array('$DefaultGroup.LiensApprouvés');
    
    ## Groupes à exclure des recherches - V2 - 
    $EnablePageListProtect = 1; # Exclut les pages cachées des recherches
    
    $SearchPatterns['default'][] = '!Attributes$!';
    $SearchPatterns['default'][] = '!\\.Recherche$!';
    $SearchPatterns['default'][] = '!\\.(All)?Recent(Changes|Uploads)$!';
    $SearchPatterns['default'][] = '!\\.ToutesLesModifs$!';
    $SearchPatterns['default'][] = '!\\.ModifsDuGroupe$!';
    $SearchPatterns['default'][] = '!\\.Group(Print)?Header$!';
    $SearchPatterns['default'][] = '!\\.Accueil$!';
    $SearchPatterns['default'][] = '!\\.Menu$!';
    $SearchPatterns['default'][] = '!\\.Index!';
    $SearchPatterns['tout'] = $SearchPatterns['default'];
    $SearchPatterns['default'][] = '!^PmWiki\\.!'; # Exclusion du groupe PmWiki
    $SearchPatterns['default'][] = '!^Main\\.!';
    $SearchPatterns['default'][] = '!^Admin\\.!';
    $SearchPatterns['default'][] = '!^AdminFr\\.!';
    
    $SearchPatterns['dict'] = $SearchPatterns['default'];
    $SearchPatterns['dict'][] = '!^PmWikiFr\\.!'; # Exclusion groupe PmWikiFr
    $SearchPatterns['dict'][] = '!\\.pm!';
    $SearchPatterns['dict'][] = '!\\.PatrickMichaud!';
    
    

Commentaires

Je suggère un ajout pour permettre la prise en compte des caractères accentués sur les systèmes Unix:

 ##-- Locale ------------------------------------------------------

## Définit la LOCALE appropriée
## NB: peut varier selon les systèmes (voir /usr/share/locale)
setlocale(LC_ALL,'fr_FR.ISO8859-1');

DidierLebrun

Ceci est inutile car la fonction XLPage le fait déjà en utilisant le contenu du champ locale de la page XLPage. PRZ


Je suggère, quant à moi, de ne pas mettre de caractères accentués dans les noms de pages.

Même si cela peut être moins joli à l'écran, l'on évitera peut-être des problème en cas de pages de codes différentes sur des navigateurs différentes, voire en cas de transfert du Wiki chez un autre hébergeur…

La page d'accueil peut ainsi s'appeler Bienvenue, au lieu de Présentation, et PageNonTrouvée peut s'appeler PageInconnue. Pour VariableDEdition, il est très possible de ne pas mettre l'accent sur la lettre majuscule (c'est, certes, une faute de français, mais benigne), et Téléchargement peut devenir Chargement.

Jean-Dom


Tout comme Jean-Dom, je propose également que toutes les pages en français évitent les accents, comme dit sur une autre page certains serveurs les gèrent mal du fait de l'encodage différent. Dommage que cette requête pourtant de bon sens n'ait pas eu de réponse depuis le temps, ni même une ébauche de discussion. Farvardin


L'ajout de setlocale n'a pas été inutile pour moi qui utilise pour l'internationalisation en français. J'avais un problème d'accent qui avaient disparu du nom de mes pages suite à la migration de mon hébergeur sur de nouveaux serveurs, problème maintenant résolu par l'ajout de ce bout de code. Arnaud

Voici une copie de la fonction XLPage qui prouve que c'est bien effectué par le système, je soupçonne un problème de définition de la variable 'locale' dans la page XLPage. PRZ

function XLPage($lang,$p) {
  global $TimeFmt,$XLLangs,$FarmD;
  $page = ReadPage($p, READPAGE_CURRENT);
  if (!$page) return;
  $text = preg_replace("/=>\\s*\n/",'=> ',@$page['text']);
  foreach(explode("\n",$text) as $l)
    if (preg_match('/^\\s*[\'"](.+?)[\'"]\\s*=>\\s*[\'"](.+)[\'"]/',$l,$match))
      $xl[stripslashes($match[1])] = stripslashes($match[2]);
  if (isset($xl)) {
    if (@$xl['xlpage-i18n']) {
      $i18n = preg_replace('/[^-\\w]/','',$xl['xlpage-i18n']);
      include_once("$FarmD/scripts/xlpage-$i18n.php");
    }
    if (@$xl['Locale']) setlocale(LC_ALL,$xl['Locale']);
    if (@$xl['TimeFmt']) $TimeFmt=$xl['TimeFmt'];
    array_unshift($XLLangs,$lang);
    XLSDV($lang,$xl);
  }
}

<< Configuration initiale | Index doc admin | Pages de site >>


Voir aussi PmWiki:Localization.SampleConfigFileLocalization - Page originale sur PmWiki:PmWikiFr.FichierDeConfiguration


Page originale sur PmWikiFr.FichierDeConfiguration - Référencé par
Dernières modifications:
PmWikiFr.FichierDeConfiguration: 10 septembre 2011 à 17h40

Le contenu du site GratiWiki. Wiki ouvert et gratuit sur le gratuit, le DIY et la culture libre, sauf mentions contraires, est sous licence culturelle non-marchande ainsi que toute nouvelle contribution.
Site gratuit, sans publicité, à but non lucratif, communautaire, ouvert à tous ceux qui souhaitent partager leurs savoirs sur les échanges non-marchands, le DIY et la culture libre. Construit avec PmWiki.