Advanced search  

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Pages: [1] 2   Go Down

Author Topic: incorporer une nouvelle page dans toutes les langues  (Read 8579 times)

0 Members and 1 Guest are viewing this topic.

nounours

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 87
incorporer une nouvelle page dans toutes les langues
« on: March 06, 2007, 12:06:12 pm »

bonjour,

suite a ma demande pour incorporer une nouvelle page:
http://forum.coppermine-gallery.net/index.php?topic=41880.0

comment faire pour appeler la page anglaise quand le suffer est anglais la page allemande quand le surfer est allemand ect...... car j'ai eu beau parcourir le forum je n'ai trouvé aucune explication pour mettre les diverses traductions :(

merci

nounours
« Last Edit: March 13, 2007, 01:18:29 pm by Frantz »
Logged

Pascal YAP

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 13833
  • Hello World :-)
    • CPG 1.5.x ExperiMental website
Re: incorporer une nouvelle page dans toutes les langues
« Reply #1 on: March 06, 2007, 12:29:07 pm »

Bonjour,

Coppermine fait ça tout seul, du moins les navigateurs qui consultent la Galerie configurée en UTF-8 (codage universel)

PYAP
Logged

nounours

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 87
Re: incorporer une nouvelle page dans toutes les langues
« Reply #2 on: March 06, 2007, 01:10:55 pm »

bonjour PAYP

je me suis peut être mal expliqué :(

il ni a que le menu qui est traduit mais par exemple les commentaires pour une photo (que l'on écrit nous même) ne se traduisent pas il faut donc le faire soit même, mais aucune explication :(
Logged

François Keller

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 9094
  • aka Frantz
    • Ma galerie
Re: incorporer une nouvelle page dans toutes les langues
« Reply #3 on: March 06, 2007, 01:56:50 pm »

il faut faire une page avec une condition du type
Code: [Select]
if (userlang="french"){
         include (monfichierfrançais.php);
}
etc... avec les autres langues
Logged
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

nounours

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 87
Re: incorporer une nouvelle page dans toutes les langues
« Reply #4 on: March 12, 2007, 10:55:28 am »

j'ai intégré les 2 codes de cette façon:
fichier bio.php
Quote
<?php
define('IN_COPPERMINE', true);
require('include/init.inc.php');
pageheader('Your page title goes here');
// your actual page content starts here
if (userlang=="french"){
         include('french.php');
}
// your actual page content ends here
pagefooter();
ob_end_flush();
?>

fichier french.php
Quote
    starttable("100%", 'Biographie', 1);
    ?>
    <tr>
        <td class="tableb" valign="top" align="left">
              mon texte
         </td>
    </tr>
    <?php
    endtable();


mais malheureusement rien ne s'affiche même pas un message d'erreur :(
Logged

François Keller

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 9094
  • aka Frantz
    • Ma galerie
Re: incorporer une nouvelle page dans toutes les langues
« Reply #5 on: March 12, 2007, 11:39:36 am »

C'est certainement du au fait que dans la portion de code que j'ai donnée, la variable userlang n'est pas définie, il faut regarder comment elle s'appelle exactement dans coppermine (on peut le trouver en regardant la sortie de l'écran de débuggage) et ne pas oublier de passer en GLOBAL la variable afin qu'elle soit prise en compte
Logged
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

nounours

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 87
Re: incorporer une nouvelle page dans toutes les langues
« Reply #6 on: March 12, 2007, 11:57:41 am »

dans les info de debogage j'ai
Quote
[lang] => french
donc si j'ai bien compris la variable c'est lang, ;D mais qu'entend tu par "passer en GLOBAL la variable" ???
Logged

François Keller

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 9094
  • aka Frantz
    • Ma galerie
Re: incorporer une nouvelle page dans toutes les langues
« Reply #7 on: March 12, 2007, 01:19:45 pm »

Alors, la variable est $USER qui est un tableau incluant les éléments concernant le visiteur
il faut donc utiliser la valeur $USER['lang'] qui définira la langue de l'utilisateur. La variable doit être déclarée comme GLOBAL pour être prise en compte
ton code deviendra donc:
Code: [Select]
<?php
define
('IN_COPPERMINE'true);
require(
'include/init.inc.php');
GLOBAL 
$USER;
pageheader('Your page title goes here');
// your actual page content starts here
if ($USER['lang']=="french"){
         include(
'french.php');
}
// your actual page content ends here
pagefooter();
ob_end_flush();
?>
essaye maintenant avec ça pour voir ce que ça donne
Logged
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

nounours

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 87
Re: incorporer une nouvelle page dans toutes les langues
« Reply #8 on: March 12, 2007, 02:07:47 pm »

malheureusement message d'erreur :(

Fatal error: Cannot redeclare cpggetmicrotime() (previously declared in /www/toto/include/init.inc.php:35) in /www/toto/include/init.inc.php on line 37
Logged

François Keller

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 9094
  • aka Frantz
    • Ma galerie
Re: incorporer une nouvelle page dans toutes les langues
« Reply #9 on: March 12, 2007, 03:29:32 pm »

essaye d'enlever
Code: [Select]
require('include/init.inc.php');de ton code
Logged
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

nounours

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 87
Re: incorporer une nouvelle page dans toutes les langues
« Reply #10 on: March 13, 2007, 05:49:36 am »

j'avais déjà essayé  ;) mais ensuite il ne reconnait plus:

pageheader('Your page title goes here') et

pagefooter();
Logged

François Keller

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 9094
  • aka Frantz
    • Ma galerie
Re: incorporer une nouvelle page dans toutes les langues
« Reply #11 on: March 13, 2007, 07:19:48 am »

comment est appelée la page en question ? est ce qu'elle n'est pas déja inclu edans une page coppermine
Logged
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

nounours

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 87
Re: incorporer une nouvelle page dans toutes les langues
« Reply #12 on: March 13, 2007, 08:23:44 am »

la page bio est appelée de cette facon:
Quote
    <li class="meta">
            <h2>Documentations</h2>
            <ul>
               <li><a href="bio.php" title="Biographie">Biographie</a></li>
            </ul>
         </li>

et la page french.php n'est appelée que par la page bio.php

si je fais dans la page bio.php
Quote
GLOBAL $USER;
pageheader('Your page title goes here');
// your actual page content starts here
if ($USER['lang']=="french"){
    starttable("100%", 'Biographie', 1);
    ?>
 texte
    endtable();
}
if ($USER['lang']=="english"){
    starttable("100%", 'Biography', 1);
    ?>
texte
    <?php
    endtable();
}
cela marche tres bien :) mais je préfererais si c'est possible mettre un fichier par langue car pour la maintenance cela est plus pratique, mais j'ai bien l'impression que cela ne sera pas possible :(
Logged

François Keller

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 9094
  • aka Frantz
    • Ma galerie
Re: incorporer une nouvelle page dans toutes les langues
« Reply #13 on: March 13, 2007, 08:39:14 am »

ce que tu peux faire c'est une variable langage du type
Code: [Select]
$lang_biographie=array(
'french' => 'ton texte français',
'english' => 'your english text',
'german' => 'Dein Deutches Tetx',
);
que tu mets dans  un fichier lang_bio.php que tu place à la racine et dans ton fichier bio.php tu fais
Code: [Select]
GLOBAL $USER;
include (lang_bio.php);
pageheader('Your page title goes here');
// your actual page content starts here
if ($USER['lang']=="french"){
    starttable("100%", 'Biographie', 1);
   echo $lang_biographie['french'];
    endtable();
}
if ($USER['lang']=="english"){
    starttable("100%", 'Biography', 1);
    echo $lang_biographie['english'];
    endtable();
}
Logged
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

nounours

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 87
Re: incorporer une nouvelle page dans toutes les langues
« Reply #14 on: March 13, 2007, 10:24:28 am »

c'est presque bon   :D

j'affiche bien tout, mais malheureusement le texte ne s'affiche pas dans:

Quote
starttable("100%", 'Biographie', 1);

mais au dessus :(
Logged

François Keller

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 9094
  • aka Frantz
    • Ma galerie
Re: incorporer une nouvelle page dans toutes les langues
« Reply #15 on: March 13, 2007, 10:45:47 am »

ajoute des balises <tr> et<td> comme ça:
Quote
if ($USER['lang']=="french"){
    starttable("100%", 'Biographie', 1);
<tr><td>
   echo $lang_biographie['french'];
</td></tr>
    endtable();
}
Logged
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

nounours

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 87
Re: incorporer une nouvelle page dans toutes les langues
« Reply #16 on: March 13, 2007, 11:14:20 am »

  :o
c'est bon après quelques modifs  :)

merci frantz :)

si tu veux je te fais un recapitulatif de tout bio.php, lang_bio.php et la partie css pour formater les lignes cela pourra servir à tout le monde :)
Logged

François Keller

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 9094
  • aka Frantz
    • Ma galerie
Re: incorporer une nouvelle page dans toutes les langues
« Reply #17 on: March 13, 2007, 11:24:58 am »

Pas de problème, ta contribution est la bienvenue
Logged
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog

nounours

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Posts: 87
Re: incorporer une nouvelle page dans toutes les langues
« Reply #18 on: March 13, 2007, 11:51:48 am »

ceci permet de rajouter une page de texte dans toutes les langues choisies

je suis partie du code provenant de la page : http://forum.coppermine-gallery.net/index.php?topic=21000.0
mais qui ne fonctionne que pour une langue :(

il y a un fichier à modifier qui est style_cpg.css pour vous permettre de formater vos lignes
rajouter dedans:
Quote
.tableb h1 {
   color:#000;
   margin:auto;
   text-align:center;
        padding-top: 3px;
        padding-right: 10px;
        padding-bottom: 3px;
        padding-left: 10px;
}
.tableb h2 {
   color:#000;
   text-align:left;
        padding-top: 3px;
        padding-right: 10px;
        padding-bottom: 3px;
        padding-left: 1px;
   font-size: 1em;
   font-weight:   lighter;
}


on cré le fichier (pour moi) bio.php
Quote
<?php
define('IN_COPPERMINE', true);
require('include/init.inc.php');
GLOBAL $USER;
pageheader('Your page title goes here');
// your actual page content starts here
include ('lang_bio.php');
if ($USER['lang']=="french"){
    starttable("100%", '', 1);
?>
   <tr>
   <td class="tableb">

<?
   echo $lang_biographie['french'];
?>
   </td>
   </tr>
<?
    endtable();
}if ($USER['lang']=="english"){
    starttable("100%", '', 1);
?>
   <tr>
   <td class="tableb">

<?
    echo $lang_biographie['english'];
?>
   </td>
   </tr>
<?
    endtable();
}
//ect pour toutes les langues

// your actual page content ends here
pagefooter();
ob_end_flush();
?>

on cré le fichier (pour moi) lang_bio.php
Quote
<?php
 $lang_biographie=array(

'french' =>

'
<h1>titre</h1>
<h2>paragraphe 1</h2>
<h2>paragraphe 2</h2>
',

'english' =>
'
<h1>titre anglais</h1>
<h2>paragraphe anglais 1</h2>
<h2>paragraphe anglais 2</h2>
',

);
?>

si vous utilisez des apostrophes" ' " dans vos paragraphes n'oublier pas de l'écrire de cette manière " \' "
Logged

François Keller

  • Moderator
  • Coppermine addict
  • ****
  • Country: fr
  • Offline Offline
  • Gender: Male
  • Posts: 9094
  • aka Frantz
    • Ma galerie
Re: incorporer une nouvelle page dans toutes les langues
« Reply #19 on: March 13, 2007, 11:59:36 am »

Il devrait  même être possible de simplifier le code de bio.php en faisant (a tester):
Code: [Select]
<?php
define
('IN_COPPERMINE'true);
require(
'include/init.inc.php');
GLOBAL 
$USER;
pageheader('Your page title goes here');
// your actual page content starts here
include ('lang_bio.php');
$langbio=$USER['lang'];

    
starttable("100%"''1);

   echo 
"<tr><td class='tableb'>"$lang_biographie[$langbio].'</td></tr>';

    
endtable();
?>
Logged
Avez vous lu la DOC ? la FAQ ? et cherché sur le forum avant de poster ?
Did you read the DOC ? the FAQ ? and search the board before posting ?
Mon Blog
Pages: [1] 2   Go Up
 

Page created in 0.101 seconds with 19 queries.