fichier lang public/privé sur les plugins #3096

Closed
opened 9 years ago by fabrice · 10 comments
fabrice commented 9 years ago

Il semblerait qu'il ne soit pas possible de surcharger la langue d'un plugin sur la partie publique sans interférer sur la partie privée.
Une surcharge potentielle pourrait être intéressante du type :
public_prefixplugin_fr.php
ou
ecrire_prefixplugin_fr.php
surchargeant :
prefixeplugin.fr

Il semblerait qu'il ne soit pas possible de surcharger la langue d'un plugin sur la partie publique sans interférer sur la partie privée. Une surcharge potentielle pourrait être intéressante du type : *public_prefixplugin_fr.php* ou *ecrire_prefixplugin_fr.php* surchargeant : *prefixeplugin.fr*
Owner

Ca ne me parait pas idiot.
Aucun avis sur la façon de faire mais pouvoir surcharger les trads dans le public sans toucher à la cohérence de celles-ci avec le privé peut-être utile :
il y a des squelettes intéressants dans le privé depuis sa mise en squelettes, on peut être tenter de les utiliser dans le public. Parfois les trads ne collent pas avec ce que l'on souhaite faire.

Ca ne me parait pas idiot. Aucun avis sur la façon de faire mais pouvoir surcharger les trads dans le public sans toucher à la cohérence de celles-ci avec le privé peut-être utile : il y a des squelettes intéressants dans le privé depuis sa mise en squelettes, on peut être tenter de les utiliser dans le public. Parfois les trads ne collent pas avec ce que l'on souhaite faire.
Owner

Est-ce-que ce fonctionnement est satisfaisant ?

[02:45] denisb voilà. faut mettre dans local_fr.php :
[02:45] denisb test_espace_prive() ? ” : 'bouton_upload' =>'truc à balancer',

Si oui, plus qu'à documenter...

Est-ce-que ce fonctionnement est satisfaisant ? > [02:45] denisb voilà. faut mettre dans local_fr.php : > [02:45] denisb test_espace_prive() ? ” : 'bouton_upload' =>'truc à balancer', Si oui, plus qu'à documenter...
Owner

comme ce me semble pas une utilisation aussi fréquente que ça, il est possible dans un fichier squelettes/lang/local_fr.php de surcharger un item de langue d'un plugin en spécifiant où cette surcharge doit être utilisée.

par exemple, pour un #FORMULAIRE_JOINDRE_DOCUMENT appelé dans une page publique :

$GLOBALS[$GLOBALS['idx_lang']] = array(
'bla_bla' => 'bli blo blu',
test_espace_prive() ? '' : 'bouton_upload' =>'Envoye le fichier !',
'autre_item' => 'tric trac troc',
)

dans le privé le formulaire aura toujours son bouton 'Téléverser' alors que dans le public le bouton sera 'Envoye le fichier !'

comme ce me semble pas une utilisation aussi fréquente que ça, il est possible dans un fichier squelettes/lang/local_fr.php de surcharger un item de langue d'un plugin en spécifiant où cette surcharge doit être utilisée. par exemple, pour un #FORMULAIRE_JOINDRE_DOCUMENT appelé dans une page publique : <pre> $GLOBALS[$GLOBALS['idx_lang']] = array( 'bla_bla' => 'bli blo blu', test_espace_prive() ? '' : 'bouton_upload' =>'Envoye le fichier !', 'autre_item' => 'tric trac troc', ) </pre> dans le privé le formulaire aura toujours son bouton 'Téléverser' alors que dans le public le bouton sera 'Envoye le fichier !'
Poster

Le principe de mettre la surcharge avec le test_espace_prive() fonctionne bien, juste préciser que pour le cas d'un plugin le mettre dans un squelettes/lang/prefixePlugin_lang.php
Après dans l'array c'est pas des plus lisible, c'est parfait pour dépanner quelques items, pour un document plus lourd, passer par un if() else() ?


if(test_espace_prive()) {
   $GLOBALS[$GLOBALS['idx_lang']] = array(
   …	
   );
}
else {
   $GLOBALS[$GLOBALS['idx_lang']] = array(
   …
   );
}
Le principe de mettre la surcharge avec le test_espace_prive() fonctionne bien, juste préciser que pour le cas d'un plugin le mettre dans un squelettes/lang/prefixePlugin_lang.php Après dans l'array c'est pas des plus lisible, c'est parfait pour dépanner quelques items, pour un document plus lourd, passer par un if() else() ? <pre> if(test_espace_prive()) { $GLOBALS[$GLOBALS['idx_lang']] = array( … ); } else { $GLOBALS[$GLOBALS['idx_lang']] = array( … ); } </pre>
Owner

Hop, rangement : doc à produire puisque c'est déjà dans la boîte
Version cible mise à 3.0
Statut changé à En cours

Hop, rangement : doc à produire puisque c'est déjà dans la boîte **Version cible mise à 3.0** **Statut changé à En cours**
Owner

et aussi autre solution : ajouter les surcharges dans un path qu'on active que dans l'espace public.
squelettes/surcharges_public/lang/xxxx_fr.php
et dans mes_options.php

if (!test_espace_prive())
  _chemin('squelettes/surcharges_public/');

ainsi les fichiers de surcharges de langue (et autres surcharges éventuelles) ne seront prise en compte que dans le site public.
Pour un plugin on peut declarer un dossier dans le chemin du public avec <chemin /> dans paquet.xml

et aussi autre solution : ajouter les surcharges dans un path qu'on active que dans l'espace public. squelettes/surcharges_public/lang/xxxx_fr.php et dans mes_options.php <pre> if (!test_espace_prive()) _chemin('squelettes/surcharges_public/'); </pre> ainsi les fichiers de surcharges de langue (et autres surcharges éventuelles) ne seront prise en compte que dans le site public. Pour un plugin on peut declarer un dossier dans le chemin du public avec `<chemin />` dans paquet.xml
Owner
Où publier cette documentation ? http://www.spip.net/fr_article2128.html#spip3 ou http://programmer.spip.net/Utiliser-les-codes-de-langue
b_b commented 7 years ago
Owner

Amha il faut publier ça sur spip.net, mais quelle version de l'astuce ?

Amha il faut publier ça sur spip.net, mais quelle version de l'astuce ?
Owner

Version cible mise à 3.1

**Version cible mise à 3.1**
Owner

on rouvrira quand quelqu'un demandera...
Statut changé à Fermé

on rouvrira quand quelqu'un demandera... **Statut changé à Fermé**
Sign in to join this conversation.
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.