_LANGONET_DEBUG
public
mixed
_LANGONET_DEBUG
= \false
public
mixed
_LANGONET_DEBUG
= \false
Permet de définir les arborescences à exclure du scan des fichiers de langue.
public
mixed
_LANGONET_DOSSIERS_EXCLUS
= ''
Les arborescences sont exprimées par une chaine simple (ecrire, plugins_dist, plugins...). Le délimiteur est le ':'. Les valeurs sont :
public
mixed
_LANGONET_ITEM_HTML_BALISE
= '%<:(?:([a-z0-9_-]+):)?((?:[^:<>|{]+(?:<[^>]*>)?)*)([^:>]*):/?>%sm'
public
mixed
_LANGONET_ITEM_HTML_FILTRE_T
= "%#[A-Z_0-9]+{(?:([a-z0-9_-]+):)([a-z0-9_]+)}((?:\\s*\\|\\w+(?:{[^.<>]*})?)*)\\s*\\|_T%Usm"
public
mixed
_LANGONET_ITEM_HTML_PLURIEL_ARG1
= "%\\|singulier_ou_pluriel{(?:[\\s]*(?:(?:#[A-Z_0-9]+{)*)(?:([a-z0-9_-]+):)?([a-z0-9_]*))([^,]*),%sm"
public
mixed
_LANGONET_ITEM_HTML_PLURIEL_ARG2
= "%\\|singulier_ou_pluriel{[^,]*,(?:[\\s]*(?:(?:#[A-Z_0-9]+{)*)(?:([a-z0-9_-]+):)([a-z0-9_]+))([^,\n]*)[,\n]%sm"
public
mixed
_LANGONET_ITEM_HTML_SET
= "%#SET{[^,]+,\\s*(?:([a-z0-9_-]+):)([a-z0-9_]+)}%Usm"
public
mixed
_LANGONET_ITEM_PAQUETXML
= ",titre=['\"](?:([a-z0-9_-]+):)?([a-z0-9_]+)['\"],ism"
public
mixed
_LANGONET_ITEM_PHP_OBJET_A
= '%=>\s*\'(?:([a-z0-9_]+):)([^\']*)\'\s*([^,\n]*)[,\n]%Sm'
public
mixed
_LANGONET_ITEM_PHP_OBJET_G
= '%=>\s*"(?:([a-z0-9_]+):)([^\/"]*)"%Sm'
public
mixed
_LANGONET_ITEM_PHP_SAISIE
= '%=>\s*[\'"]<:(?:([a-z0-9_-]+):)?((?:[\w]+(?:<[^>]*>)?)*)([^:]*):>[\'"]%sm'
public
mixed
_LANGONET_ITEM_PHP_TRAD_A
= '%_[TU]\s*[(]\s*\'(?:([a-z0-9_]+):)?([^\']*)\'\s*([^.,)]*[^)]*)%Sm'
public
mixed
_LANGONET_ITEM_PHP_TRAD_G
= '%_[TU]\s*[(]\s*"(?:([a-z0-9_]+):)?([^"]*)"\s*([^.,)]*[^)]*)%Sm'
public
mixed
_LANGONET_ITEM_PLUGINXML
= ",<titre>\\s*(?:([a-z0-9_-]+):)?([a-z0-9_]+)\\s*</titre>,ism"
public
mixed
_LANGONET_ITEM_XML_ATTRIBUT
= ",\\w+=['\"](?:([a-z0-9_-]+):)([a-z0-9_]+)['\"],ism"
public
mixed
_LANGONET_ITEM_XML_CONTENU
= ",<\\w+>\\s*(?:<:)*(?:([a-z0-9_-]+):)([a-z0-9_]+)(?::>)*\\s*</\\w+>,ism"
public
mixed
_LANGONET_ITEM_YAML
= ',<:(?:([a-z0-9_-]+):)?([a-z0-9_]+):>,sm'
public
mixed
_LANGONET_PATTERN_CODE_LANGUE
= '%_(\w{2,3})(_\w{2,3})?(_\w{2,4})?$%im'
public
mixed
_LANGONET_PATTERN_ETAT_ITEM
= '%\s[\'"]([^\'"]*)[\'"].+[\'"](?:[^\'"]*)[\'"]\s*,?(?:\s*#\s*(NEW|MODIF))?$%Uims'
public
mixed
_LANGONET_PATTERN_FICHIERS_L
= '(?<!/charsets|/lang|/req)(/[^/]*\.(php))$'
public
mixed
_LANGONET_PATTERN_FICHIERS_LANG
= '_[a-z]{2,3}\.php$'
public
mixed
_LANGONET_PATTERN_FICHIERS_LANG_FR
= '_fr\.php$'
public
mixed
_LANGONET_PATTERN_FONCTION_L
= "#\\b_L\\s*[(]\\s*([\"'])((?:\\\\\\1|[^\\1])+)\\1[^)]*\\)#Uims"
public
mixed
_LANGONET_PATTERN_REFERENCE
= '#<traduction[^>]*reference="(.*)">#Uims'
public
mixed
_LANGONET_SIGNATURE_SPIP
= "// This is a SPIP language file -- Ceci est un fichier langue de SPIP"
public
mixed
_LANGONET_SYNTAXE
= 'global'
public
mixed
_LANGONET_TAG_DEFINITION_L
= '<LANGONET_DEFINITION_L>'
public
mixed
_LANGONET_TAG_DEFINITION_MANQUANTE
= '<LANGONET_DEFINITION_MANQUANTE>'
public
mixed
_LANGONET_TAG_DEFINITION_OBSOLETE
= '<LANGONET_DEFINITION_OBSOLETE>'
public
mixed
_LANGONET_TAG_MODIFIE
= '# MODIF'
public
mixed
_LANGONET_TAG_NOUVEAU
= '# NEW'
action_langonet_telecharger_dist() : mixed
exec_langonet_afficher_dist() : mixed
formulaires_langonet_editer_charger() : mixed
formulaires_langonet_editer_verifier() : mixed
formulaires_langonet_editer_traiter() : mixed
formulaires_langonet_generer_charger() : mixed
formulaires_langonet_generer_verifier() : mixed
formulaires_langonet_generer_traiter() : mixed
formulaires_langonet_lister_charger() : mixed
formulaires_langonet_lister_verifier() : mixed
formulaires_langonet_lister_traiter() : mixed
formulaires_langonet_rechercher_charger(mixed $type) : mixed
formulaires_langonet_rechercher_verifier(mixed $type) : mixed
formulaires_langonet_rechercher_traiter(mixed $type) : mixed
formulaires_langonet_traduire_charger() : mixed
formulaires_langonet_traduire_verifier() : mixed
formulaires_langonet_traduire_traiter() : mixed
formulaires_langonet_verifier_doublon_charger() : mixed
formulaires_langonet_verifier_doublon_verifier() : mixed
formulaires_langonet_verifier_doublon_traiter() : mixed
formulaires_langonet_verifier_item_charger() : mixed
formulaires_langonet_verifier_item_verifier() : mixed
formulaires_langonet_verifier_item_traiter() : mixed
formulaires_langonet_verifier_l_charger() : mixed
formulaires_langonet_verifier_l_verifier() : mixed
formulaires_langonet_verifier_l_traiter() : mixed
Ecriture des fichiers de langue
inc_generer_fichier(string $module, string $langue_source, string $ou_langue[, string $langue_cible = 'en' ][, string $mode = 'valeur' ][, string $encodage = 'utf8' ][, array<string|int, mixed> $oublis_inutiles = array() ]) : mixed
[optional]
[optional]
[optional]
[optional]
generer_items_cible(mixed $items_source, mixed $items_cible[, string $mode = 'index' ][, string $encodage = 'utf8' ][, array<string|int, mixed> $oublis_inutiles = array() ]) : array<string|int, mixed>
Ecriture d'un fichier de langue à partir de la liste de ces couples (item, traduction) et de son bandeau d'information Cette fonction est aussi utilisée par PlugOnet
ecrire_fichier_langue_php(mixed $dir, mixed $langue, mixed $module, mixed $items, string $bandeau, mixed $langue_source) : bool|string
Produit un fichier de langue a partir d'un tableau (index => trad) Si la traduction n'est pas une chaine mais un tableau, on inclut un commentaire
produire_fichier_langue(mixed $langue, mixed $module, mixed $items, string $bandeau, mixed $langue_source) : string
Conversion d'un texte en utf-8
entite2utf(string $texte) : string
Texte à convertir en UTF-8
Texte traduit en UTF-8 ou chaine vide
Creation du tableau des items de langue d'un fichier donne trie par ordre alphabetique
inc_lister_items(string $module, string $langue, string $ou_langue) : array<string|int, mixed>
Nom du module de langue
Code SPIP de la langue
Chemin vers le fichier de langue à vérifier
sauvegarder_index_langue_global() : mixed
restaurer_index_langue_global() : mixed
charger_module_langue(mixed $module, mixed $langue, mixed $ou_langue) : mixed
Calcul du représentant canonique d'une chaine de langue (_L ou <: :>).
calculer_raccourci_brut(string $occurrence) : string
C'est un transcodage ASCII, reduit aux 32 premiers caractères, les caractères non alphabétiques étant remplacés par un souligné. On élimine les répétitions de mots pour évacuer le cas fréquent truc: @truc@. Si le résultat a plus que 32 caractères, on élimine les mots de moins de 3 lettres. Si cela demeure toujours trop, on coupe au dernier mot complet avant 32 caractères.
Calcul du représentation canonique d'une chaine de langue à créer avec traitement d'homonynie.
calculer_raccourci_unique(string $occurrence, array<string|int, mixed> $item_md5) : string
En cas d'homonynmie, le représentant utilisé est le md5.
trouver_module_langue(string $ou_fichier) : array<string|int, mixed>
verifier_reference_tradlang(string $module, string $langue, string $ou_langue) : array<string|int, mixed>
lister_modules(mixed $langue[, mixed $exclure_paquet = true ]) : mixed
langonet_trouver_reference(mixed $module, mixed $ou_langue[, mixed $force = true ]) : mixed
Recherche d'une chaine représentant tout ou partie d'un item de langue de SPIP et des plugins disponibles.
inc_rechercher_item(string $pattern, string $correspondance, array<string|int, mixed> $modules) : array<string|int, mixed>
le raccourci ou une partie de celui-ci à rechercher.
type de correspondance : egal, commence, ou contient
tableau des modules où effectuer la recherche
Recherche d'une chaine UTF-8 dans le texte francais des items de langues de SPIP et des plugins disponibles.
inc_rechercher_texte(string $pattern, string $correspondance, array<string|int, mixed> $modules) : array<string|int, mixed>
la traduction ou une partie de celle-ci à rechercher. Ce texte est en français au format UTF-8
type de correspondance : egal, commence, ou contient
tableau des modules où effectuer la recherche
Vérification de l'utilisation des items de langue
inc_verifier_doublon(string $verification, array<string|int, mixed> $modules) : array<string|int, mixed>
Type de vérification : 'item' pour la recherche de doublons dans les raccourcis ou 'texte' pour la recherche de doublons dans les traductions
Tableau des modules où effectuer la vérification
Verification des items de langue non définis ou obsolètes.
inc_verifier_items(string $module, string $langue, string $ou_langue, array<string|int, mixed> $ou_fichiers, string $verification) : array<string|int, mixed>
prefixe du fichier de langue
index du nom de langue
chemin vers le fichier de langue à vérifier
tableau des racines d'arborescence à vérifier
type de verification à effectuer
Cherche l'ensemble des occurrences d'utilisation d'items de langue dans la liste des fichiers fournie.
collecter_occurrences(mixed $fichiers) : array<string|int, mixed>
Cette recherche se fait ligne par ligne, ce qui ne permet pas de trouver les items sur plusieurs lignes.
Identifie le type de fichier dans lequel chercher les occurrences d'utilisation d'items de langue.
identifier_type_fichier(string $fichier) : string
Chemin complet du fichier à scanner
Extension du fichier parmi 'xml', 'yaml', 'html' et 'php' ou le nom du fichier de description du plugin 'paquet.xml' ou 'plugin.xml'.
rechercher_ligne(mixed $offset, mixed $lignes) : mixed
Memorise selon une structure prédéfinie chaque occurrence d'utilisation d'un item.
memoriser_occurrence(array<string|int, mixed> $utilisations, array<string|int, mixed> $occurrence, string $regexp) : array<string|int, mixed>
Cette fonction analyse au passage si l'item est dynamique ou pas (_T avec $ ou concatenation).
Tableau des occurrences d'utilisation des items de langues construit à chaque appel de la fonction.
Tableau associatif définissant l'occurrence d'utilisation en cours de mémorisation.
Expression régulière utilisée pour trouver l'occurrence d'utilisation en cours de mémorisation.
Le tableau des occurrences mis à jour avec l'occurrence passée en argument
Gérer les arguments.
extraire_arguments(string $raccourci_regexp) : array<string|int, mixed>
La RegExp utilisee ci-dessous est defini dans phraser_html ainsi: define('NOM_DE_BOUCLE', "[0-9]+|[-][-.a-zA-Z0-9]"); define('NOM_DE_CHAMP', "#((" . NOM_DE_BOUCLE . "):)?(([A-F][G-Z_][A-Z_0-9]*)|[A-Z_]+)(*{0,2})");
Détection des items de langue obsolètes d'un module.
reperer_items_non_utilises(array<string|int, mixed> $utilisations, string $module, array<string|int, mixed> $items_module) : array<string|int, mixed>
Cette fonction renvoie un tableau composé des items obsolètes et des items potentiellement obsolètes.
Tableau des occurrences d'utilisation d'items de langue dans le code de l'arborescence choisie.
Nom du module de langue en cours de vérification.
Liste des items de langues contenus dans le module de langue en cours de vérification. L'index est le raccourci, la valeur la traduction brute.
Tableau des items obsolètes ou potentiellement obsolètes. Ce tableau associatif possède une structure à deux index :
Détection des items de langue utilises mais apparamment non definis.
reperer_items_non_definis(array<string|int, mixed> $utilisations, string $module[, array<string|int, mixed> $items_module = array() ][, array<string|int, mixed> $fichiers_langue = array() ]) : array<string|int, mixed>
Cette fonction renvoie un tableau composé des items manquants et des items potentiellement manquants.
Tableau des occurrences d'utilisation d'items de langue dans le code de l'arborescence choisie.
Nom du module de langue en cours de vérification.
Liste des items de langues contenus dans le module de langue en cours de vérification. L'index est le raccourci, la valeur la traduction brute.
Liste des fichiers de langue 'fr' présent sur site et dans lesquels il est possible de trouver certains items de langue.
Verification de l'utilisation de la fonction _L() dans le code PHP.
inc_verifier_l(string $ou_fichier) : array<string|int, mixed>
Cette fonction construit le tableau des occurrences du premier argument de _L. Ce tableau est indexe par un representant canonique de chaque chaine trouvee. Les valeurs de ce tableau sont des sous-tableaux indexes par le nom du fichier. Chacun a pour valeur une série de sous-tableaux [n° de ligne][n° de colonne] pointant sur un tableau des résultats :
Racine de l'arborescence à vérifier. On n'examine pas les ultimes sous-répertoires charsets/,lang/ , req/ et /. On n'examine que les fichiers php (voir le fichier regexp.txt).
Si une erreur se produit lors du deroulement de la fonction, le tableau resultat contient le libelle de l'erreur dans l'index 'erreur'; sinon, cet index n'existe pas.
langonet_autoriser() : mixed
autoriser_langonet_onglet_dist(mixed $faire, mixed $type, mixed $id, mixed $qui, mixed $opt) : mixed
autoriser_langonet_generer_onglet_dist(mixed $faire, mixed $type, mixed $id, mixed $qui, mixed $opt) : mixed
autoriser_langonet_lister_onglet_dist(mixed $faire, mixed $type, mixed $id, mixed $qui, mixed $opt) : mixed
autoriser_langonet_rechercher_onglet_dist(mixed $faire, mixed $type, mixed $id, mixed $qui, mixed $opt) : mixed
Creation de la liste des fichiers de langue generes.
langonet_lister_fichiers_lang([mixed $operation = 'generation' ]) : array<string|int, mixed>
Bulle d'information des liens de telechargement.
langonet_creer_bulle_fichier(string $fichier[, string $type = 'lang' ][, string $action = 'telecharger' ]) : string
Creation du select des fichiers de langue.
langonet_creer_select_langues([string $sel_l = '0' ][, mixed $exclure_paquet = true ]) : array<string|int, mixed>
Creation du select des arborescences a scanner.
langonet_creer_select_dossiers([string $sel_d = array() ][, mixed $multiple = true ]) : array<string|int, mixed>
langonet_cadrer_expression(mixed $expression, mixed $colonne, mixed $ligne, mixed $fichier[, mixed $cadre = 4 ]) : mixed
Creation d'un tableau des selects: - des fichiers de langue - des arborescences a scanner.
creer_selects([string $sel_l = '0' ][, array<string|int, mixed> $sel_d = array() ][, mixed $exclure_paquet = true ][, mixed $multiple = true ]) : array<string|int, mixed>
option du select des langues
option(s) du select des repertoires
Lister tous les plugins contenus dans une arborescence donnée.
lister_dossiers_plugins([string $racine_arborescence = null ]) : array<string|int, mixed>
langonet_lister_operations() : mixed