Les actualités du Lundi 20 décembre 2021 dans les métiers du web - Marmits.com - Reims

Le: 20 12 2021 à 23:31 WebdesignerNews

https://kinsta.com/blog/twenty-twenty-two-theme/

Le: 20 12 2021 à 22:42 WebdesignerNews

https://wdrfree.com/242/pure-css-navbar-responsive-examples

Le: 20 12 2021 à 22:41 Web Design Shock Auteur: Admin

Get lifetime access to a great online video editor for PC - with this deal you'll get a lifetime account with FlexClip's Basic subscription plan, stack deal codes to get even more features & perks!

Le: 20 12 2021 à 21:44 WebdesignerNews

https://christianheilmann.com/2021/12/20/the-web-starts-on-page-four/

Le: 20 12 2021 à 20:35 WebdesignerNews

https://allblackscreen.com/

Le: 20 12 2021 à 20:27 Journal du Net Développeurs

Alors que les jeunes sont touchés de plein fouet par la crise économique suite à la pandémie de Covid-19, le gouvernement a annoncé en novembre 2021 des mesures d'aide en faveur des jeunes. Certaines sont prolongées en 2022. Mais l'une d'elles doit être demandée d'ici le 31 décembre.

Le: 20 12 2021 à 19:54 Journal du Net Développeurs

Instaurée par la loi de finances de 2010, la cotisation (ou contribution) foncière des entreprises (CFE) constitue, avec la cotisation sur la valeur ajoutée des entreprises (CVAE), la contribution économique territoriale (CET). Elle devait être payée avant le 15 décembre.

Le: 20 12 2021 à 19:51 Journal du Net Développeurs

La taxe sur les logements vacants (TLV) s'applique aux logements inoccupés depuis un certain temps et situés dans certaines communes. Son calcul dépend de la durée de vacance du bien. Elle peut être contestée et faire l'objet de réclamation. Le paiement peut s'effectuer jusqu'à ce 20 décembre, uniquement s'il est fait en ligne.

Le: 20 12 2021 à 19:50 WebdesignerNews

https://fffuel.co/mmmotif/

Le: 20 12 2021 à 18:57 Journal du Net Développeurs

Pour soulager les ménages face à l'inflation, Jean Castex a annoncé fin octobre une aide financière de 100 euros. Elle s'adresse aux Français qui touchent moins de 2 000 euros net imposable par mois. Le calendrier a été dévoilé dans le détail, les prochains bénéficiaires seront les salariés à domicile.

Le: 20 12 2021 à 18:20 Journal du Net Développeurs

Les métiers de la logistique sont parmi les plus importants consommateurs de données ! Chaque flux physique s'accompagne d'un flux d'information qui doit être partagé en temps réel entre l'entrepôt, le point de vente et parfois même le client final. Au cœur de l'enjeu : l'expérience client. La solution de gestion d'entrepôt de Toshiba s'inscrit dans cette logique de maîtrise de l'information et contribue à la transformation digitale des entrepôts.

Le: 20 12 2021 à 18:19 Journal du Net Développeurs

L'année se finit et les bonnes résolutions pour 2022 se préparent alors, qu'elles ont été les grandes tendances de cette année 2021 sur le marché des Marketplaces pour les PME ? Le marché du e-commerce a accéléré sa croissance avec la crise du Covid en 2020 et les changements d'habitudes des Français se sont confirmés sur 2021. Les Marketplaces, dans cet environnement, ont pris une place prédominante qui va continuer à s'accélérer sur 2022.

Le: 20 12 2021 à 17:32 WebdesignerNews

https://speckyboy.com/grow-your-web-design-business/

Le: 20 12 2021 à 16:37 Alsacreations.com - Apprendre Auteur: Khalysto

Pour ce dernier article de 2021 (et pour ne pas vous prendre trop de temps pendant les préparatifs des fêtes de fin d'année 😉), voici un complément au sujet précédent, qui portera cette fois sur l'internationalisation des extensions dans l'écosystème de WordPress.

⚠ Si vous ne l'avez pas déjà fait, nous vous invitons vraiment à lire l'article Préparer un thème WordPress pour l'internationalisation. Les outils et concepts sont les mêmes pour les thèmes et les extensions et nous ne les réexpliquerons pas ici.

Les extensions indispensables

On commence directement avec un petit cas particulier.

Utilisez-vous les mu-plugins (Must-Use plugins) ?

Ces extensions un peu spéciales sont toujours activées et ne peuvent pas être désactivées autrement qu'en supprimant leurs fichiers sources (vous pouvez les retrouver dans la section "Indispensables" de l'administration des extensions). Pratique pour éviter les erreurs humaines, comme une suppression maladroite par exemple... 🤫

Sans rentrer dans les détails, il est tout à fait possible d'y inclure des textes et il faut donc penser à les rendre traduisibles. Pour se faire, utilisez la fonction load_muplugin_textdomain de la manière suivante :

/**
 * Chargement des fichiers de traductions dans le dossier /lang
 */
function load_translations() {
  load_muplugin_textdomain( 'textdomain', 'lang' );
}
add_action( 'muplugins_loaded', 'load_translations' );

Ici, on part du principe qu'un dossier /lang a été rajouté au dossier mu-plugins de WordPress.

On utilise le hook muplugins_loaded pour que les traductions soient chargées le plus tard possible, de la même manière que l'on utilise after_setup_theme pour charger les fichiers de traductions d'un thème.

Si vous voulez en apprendre davantage sur les mu-plugins, consultez l'article Connaissez-vous les MU Plugins de WordPress ? qui explique les bases et donne des exemples concrets de cas d'utilisation.

Et pour les extensions plus classiques ?

Avant de nous lancer dans le coeur du sujet, commençons par quelques rappels de conventions et conseils de base.

1/ Toutes les chaines de caractères doivent être accompagnées d'un domaine de traductions.

Seul le coeur de WordPress utilise des traductions du type __( 'Settings' ) et même s'il peut être tentant de réutiliser ces chaines si votre extension les partage, il n'est pas impossible qu'une une mise à jour les change, rendant ainsi votre chaîne intraduisble.

2/ Les textes à traduire doivent avoir un sens et un contexte.

Évitez de faire de la concaténation de mots et préférez des phrases entières.

3/ N'utilisez pas de variables directement dans des appels à __().

Si besoin d'insérer du HTML ou des données, entourez vos fonctions de printf ou sprintf pour pouvoir utiliser des placeholders selon ce genre de modèle

sprintf(
  __( 'Bonjour %s', 'textdomain' ),
  $username
);

4/ N'oubliez pas de renseigner les commentaires d'entêtes de votre extension !

/*
 * Plugin Name: Mon extension à moi !
 * Author: (La loi) C'est moi !
 * Text Domain: text-domain
 * Domain Path: /lang
 */

Les 2 informations qui nous intéressent ici sont Text Domain et Domain Path (notez bien les majuscules, elles sont importantes).
Elles permettent respectivement d'indiquer à WordPress votre domaine de traduction ainsi que l'emplacement de vos fichiers de traductions et ce, même si votre extension est désactivée !

Ce ne sont évidemment pas les seuls points de vigilance, mais s'attarder davantage ici ne ferait que paraphraser la documentation officielle, qui est déjà bien assez complète.

Maintenant que ces quelques détails ont été abordés, nous pouvons enfin passer au chargement de vos précieuses traductions ! 😉 L'avantage est que la procédure reste exactement la même. Seule la fonction utilisée change.

/**
 * Chargement des fichiers de traductions dans le dossier /lang
 */
function load_translations() {
  load_plugin_textdomain( 'textdomain', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' );
}
add_action( 'init', 'load_translations' );

On évitera d'utiliser le hook plugins_loaded, qui arrive trop tôt dans le cycle de vie de WordPress et pourrait créer des conflits avec les traitements appliqués par d'autres scripts.

Note : Depuis WordPress 4.6, load_muplugin_textdomain et load_plugin_textdomain tenteront d'abord de charger les fichiers de traductions depuis le dossier /languages de WordPress, donc si vous le voulez, vous pouvez les y mettre directement.

Utiliser des traductions dans des fichiers JavaScript

Vous savez dorénavant comment utiliser vos fichiers .po et .mo dans vos extensions. Il ne nous reste donc qu'un dernier sujet à couvrir : comment utiliser vos traductions dans vos fichiers JS.

Fort heureusement, WordPress met à disposition une fonction à cet effet répondant au doux nom de wp_localize_script et dont les 3 paramètres (tous requis) sont les suivants :

  1. $handle, qui correspond au nom donné au script auquel vous souhaitez transmettre des chaines de caractères (le "nom" du script fait référence au premier paramètre des fonctions wp_register_script ou wp_enqueue_script).
  2. $object_name. Tout simplement le nom de la variable JS qui sera injectée par WordPress.
  3. $l10n, un tableau clé/valeur des traductions que vous voulez rendre disponibles dans votre fichier JS.

Voici un exemple de code pour un script nommé script-kiwi auquel on voudrait passer plusieurs traductions.

/**
 * Chargement des scripts de l'extension
 */
function plugin_scripts() {
  wp_enqueue_script( 'script-kiwi', ... );
  wp_localize_script( 'script-kiwi', 'mon_super_objet',
    array( 
      'chaine_1' => __( 'Ma super traduction', 'textdomain' ),
      'chaine_2' => __( 'Mon autre super traduction', 'textdomain' ),
      'chaine_3' => __( 'Une traduction encore mieux que les autres', 'textdomain' ),
    )
  );
}
add_action( 'wp_enqueue_scripts', 'plugin_scripts' );

Et voilà ! 🎉

Dorénavant, WordPress mettra à disposition une variable globale mon_super_objet que l'on peut utiliser comme un objet JavaScript standard pour en extraire les propriétés. Ainsi, mon_super_objet.chaine_1 affichera la chaine "Ma super traduction" dans la langue souhaitée.

Cette fonction ne peut être utilisée que si votre script a déjà été ajouté via wp_register_script ou wp_enqueue_script.

Un dernier pour la route

Le dernier point de vigilance auquel prêter attention est la mise à jour de vos propres extensions.

Il est assez fréquent de faire évoluer ses extensions pour y inclure de nouvelles fonctionnalités, refactoriser du code qui commence à se faire vieux ou plus simplement rajouter des commentaires pour expliquer à quoi sert la fonction doEverything() de votre extension maison.

Tous ces exemples ont en commun que l'emplacement physique de vos chaines de traductions (les lignes dans votre fichier) peut ne plus être le même en passant de la version X à la version Y et si vous ne régénérez pas vos fichiers .pot, .po et .mo, vous courrez droit à la catastrophe !

Un exemple bien senti venant directement du fichier .po de Polylang.

#: modules/wizard/view-wizard-step-last.php:26
#: modules/wizard/view-wizard-step-last.php:44
msgid "Read documentation"
msgstr "Lire la documentation"

Les nombres en fin de ligne correspondent à la ligne du fichier dans lequel on retrouve la chaine en question. A partir de là, il est facile de comprendre que si une chaine bouge, elle ne sera plus reconnue, ce qui serait dommage après tous ces efforts.

Pour cela, une règle simple : si une chaine change de ligne, il faut le refléter dans vos fichiers de traductions.

Conclusion

Comme promis, rien de bien méchant si vous avez survécu à la lecture du premier article.

Maintenant, vous n'avez plus aucune excuse pour ne pas internationaliser tout ce qui bouge dans vos développements WordPress !

Bonnes fêtes de fin d'année à toutes et tous ! 🎅🎄

Retrouvez l'intégralité de ce tutoriel en ligne sur Alsacreations.com

Le: 20 12 2021 à 16:37 Alsacreations.com - Actualités Auteur: Khalysto

Pour ce dernier article de 2021 (et pour ne pas vous prendre trop de temps pendant les préparatifs des fêtes de fin d'année 😉), voici un complément au sujet précédent, qui portera cette fois sur l'internationalisation des extensions dans l'écosystème de WordPress.

⚠ Si vous ne l'avez pas déjà fait, nous vous invitons vraiment à lire l'article Préparer un thème WordPress pour l'internationalisation. Les outils et concepts sont les mêmes pour les thèmes et les extensions et nous ne les réexpliquerons pas ici.

Les extensions indispensables

On commence directement avec un petit cas particulier.

Utilisez-vous les mu-plugins (Must-Use plugins) ?

Ces extensions un peu spéciales sont toujours activées et ne peuvent pas être désactivées autrement qu'en supprimant leurs fichiers sources (vous pouvez les retrouver dans la section "Indispensables" de l'administration des extensions). Pratique pour éviter les erreurs humaines, comme une suppression maladroite par exemple... 🤫

Sans rentrer dans les détails, il est tout à fait possible d'y inclure des textes et il faut donc penser à les rendre traduisibles. Pour se faire, utilisez la fonction load_muplugin_textdomain de la manière suivante :

/**
 * Chargement des fichiers de traductions dans le dossier /lang
 */
function load_translations() {
  load_muplugin_textdomain( 'textdomain', 'lang' );
}
add_action( 'muplugins_loaded', 'load_translations' );

Ici, on part du principe qu'un dossier /lang a été rajouté au dossier mu-plugins de WordPress.

On utilise le hook muplugins_loaded pour que les traductions soient chargées le plus tard possible, de la même manière que l'on utilise after_setup_theme pour charger les fichiers de traductions d'un thème.

Si vous voulez en apprendre davantage sur les mu-plugins, consultez l'article Connaissez-vous les MU Plugins de WordPress ? qui explique les bases et donne des exemples concrets de cas d'utilisation.

Et pour les extensions plus classiques ?

Avant de nous lancer dans le coeur du sujet, commençons par quelques rappels de conventions et conseils de base.

1/ Toutes les chaines de caractères doivent être accompagnées d'un domaine de traductions.

Seul le coeur de WordPress utilise des traductions du type __( 'Settings' ) et même s'il peut être tentant de réutiliser ces chaines si votre extension les partage, il n'est pas impossible qu'une une mise à jour les change, rendant ainsi votre chaîne intraduisble.

2/ Les textes à traduire doivent avoir un sens et un contexte.

Évitez de faire de la concaténation de mots et préférez des phrases entières.

3/ N'utilisez pas de variables directement dans des appels à __().

Si besoin d'insérer du HTML ou des données, entourez vos fonctions de printf ou sprintf pour pouvoir utiliser des placeholders selon ce genre de modèle

sprintf(
  __( 'Bonjour %s', 'textdomain' ),
  $username
);

4/ N'oubliez pas de renseigner les commentaires d'entêtes de votre extension !

/*
 * Plugin Name: Mon extension à moi !
 * Author: (La loi) C'est moi !
 * Text Domain: text-domain
 * Domain Path: /lang
 */

Les 2 informations qui nous intéressent ici sont Text Domain et Domain Path (notez bien les majuscules, elles sont importantes).
Elles permettent respectivement d'indiquer à WordPress votre domaine de traduction ainsi que l'emplacement de vos fichiers de traductions et ce, même si votre extension est désactivée !

Ce ne sont évidemment pas les seuls points de vigilance, mais s'attarder davantage ici ne ferait que paraphraser la documentation officielle, qui est déjà bien assez complète.

Maintenant que ces quelques détails ont été abordés, nous pouvons enfin passer au chargement de vos précieuses traductions ! 😉 L'avantage est que la procédure reste exactement la même. Seule la fonction utilisée change.

/**
 * Chargement des fichiers de traductions dans le dossier /lang
 */
function load_translations() {
  load_plugin_textdomain( 'textdomain', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' );
}
add_action( 'init', 'load_translations' );

On évitera d'utiliser le hook plugins_loaded, qui arrive trop tôt dans le cycle de vie de WordPress et pourrait créer des conflits avec les traitements appliqués par d'autres scripts.

Note : Depuis WordPress 4.6, load_muplugin_textdomain et load_plugin_textdomain tenteront d'abord de charger les fichiers de traductions depuis le dossier /languages de WordPress, donc si vous le voulez, vous pouvez les y mettre directement.

Utiliser des traductions dans des fichiers JavaScript

Vous savez dorénavant comment utiliser vos fichiers .po et .mo dans vos extensions. Il ne nous reste donc qu'un dernier sujet à couvrir : comment utiliser vos traductions dans vos fichiers JS.

Fort heureusement, WordPress met à disposition une fonction à cet effet répondant au doux nom de wp_localize_script et dont les 3 paramètres (tous requis) sont les suivants :

  1. $handle, qui correspond au nom donné au script auquel vous souhaitez transmettre des chaines de caractères (le "nom" du script fait référence au premier paramètre des fonctions wp_register_script ou wp_enqueue_script).
  2. $object_name. Tout simplement le nom de la variable JS qui sera injectée par WordPress.
  3. $l10n, un tableau clé/valeur des traductions que vous voulez rendre disponibles dans votre fichier JS.

Voici un exemple de code pour un script nommé script-kiwi auquel on voudrait passer plusieurs traductions.

/**
 * Chargement des scripts de l'extension
 */
function plugin_scripts() {
  wp_enqueue_script( 'script-kiwi', ... );
  wp_localize_script( 'script-kiwi', 'mon_super_objet',
    array( 
      'chaine_1' => __( 'Ma super traduction', 'textdomain' ),
      'chaine_2' => __( 'Mon autre super traduction', 'textdomain' ),
      'chaine_3' => __( 'Une traduction encore mieux que les autres', 'textdomain' ),
    )
  );
}
add_action( 'wp_enqueue_scripts', 'plugin_scripts' );

Et voilà ! 🎉

Dorénavant, WordPress mettra à disposition une variable globale mon_super_objet que l'on peut utiliser comme un objet JavaScript standard pour en extraire les propriétés. Ainsi, mon_super_objet.chaine_1 affichera la chaine "Ma super traduction" dans la langue souhaitée.

Cette fonction ne peut être utilisée que si votre script a déjà été ajouté via wp_register_script ou wp_enqueue_script.

Un dernier pour la route

Le dernier point de vigilance auquel prêter attention est la mise à jour de vos propres extensions.

Il est assez fréquent de faire évoluer ses extensions pour y inclure de nouvelles fonctionnalités, refactoriser du code qui commence à se faire vieux ou plus simplement rajouter des commentaires pour expliquer à quoi sert la fonction doEverything() de votre extension maison.

Tous ces exemples ont en commun que l'emplacement physique de vos chaines de traductions (les lignes dans votre fichier) peut ne plus être le même en passant de la version X à la version Y et si vous ne régénérez pas vos fichiers .pot, .po et .mo, vous courrez droit à la catastrophe !

Un exemple bien senti venant directement du fichier .po de Polylang.

#: modules/wizard/view-wizard-step-last.php:26
#: modules/wizard/view-wizard-step-last.php:44
msgid "Read documentation"
msgstr "Lire la documentation"

Les nombres en fin de ligne correspondent à la ligne du fichier dans lequel on retrouve la chaine en question. A partir de là, il est facile de comprendre que si une chaine bouge, elle ne sera plus reconnue, ce qui serait dommage après tous ces efforts.

Pour cela, une règle simple : si une chaine change de ligne, il faut le refléter dans vos fichiers de traductions.

Conclusion

Comme promis, rien de bien méchant si vous avez survécu à la lecture du premier article.

Maintenant, vous n'avez plus aucune excuse pour ne pas internationaliser tout ce qui bouge dans vos développements WordPress !

Bonnes fêtes de fin d'année à toutes et tous ! 🎅🎄

Publié par Alsacreations.com

Le: 20 12 2021 à 16:37 Alsacreations.com - Apprendre Auteur: Khalysto

Pour ce dernier article de 2021 (et pour ne pas vous prendre trop de temps pendant les préparatifs des fêtes de fin d'année 😉), voici un complément au sujet précédent, qui portera cette fois sur l'internationalisation des extensions dans l'écosystème de WordPress.

⚠ Si vous ne l'avez pas déjà fait, nous vous invitons vraiment à lire l'article Préparer un thème WordPress pour l'internationalisation. Les outils et concepts sont les mêmes pour les thèmes et les extensions et nous ne les réexpliquerons pas ici.

Les extensions indispensables

On commence directement avec un petit cas particulier.

Utilisez-vous les mu-plugins (Must-Use plugins) ?

Ces extensions un peu spéciales sont toujours activées et ne peuvent pas être désactivées autrement qu'en supprimant leurs fichiers sources (vous pouvez les retrouver dans la section "Indispensables" de l'administration des extensions). Pratique pour éviter les erreurs humaines, comme une suppression maladroite par exemple... 🤫

Sans rentrer dans les détails, il est tout à fait possible d'y inclure des textes et il faut donc penser à les rendre traduisibles. Pour se faire, utilisez la fonction load_muplugin_textdomain de la manière suivante :

/**
 * Chargement des fichiers de traductions dans le dossier /lang
 */
function load_translations() {
  load_muplugin_textdomain( 'textdomain', 'lang' );
}
add_action( 'muplugins_loaded', 'load_translations' );

Ici, on part du principe qu'un dossier /lang a été rajouté au dossier mu-plugins de WordPress.

On utilise le hook muplugins_loaded pour que les traductions soient chargées le plus tard possible, de la même manière que l'on utilise after_setup_theme pour charger les fichiers de traductions d'un thème.

Si vous voulez en apprendre davantage sur les mu-plugins, consultez l'article Connaissez-vous les MU Plugins de WordPress ? qui explique les bases et donne des exemples concrets de cas d'utilisation.

Et pour les extensions plus classiques ?

Avant de nous lancer dans le coeur du sujet, commençons par quelques rappels de conventions et conseils de base.

1/ Toutes les chaines de caractères doivent être accompagnées d'un domaine de traductions.

Seul le coeur de WordPress utilise des traductions du type __( 'Settings' ) et même s'il peut être tentant de réutiliser ces chaines si votre extension les partage, il n'est pas impossible qu'une une mise à jour les change, rendant ainsi votre chaîne intraduisble.

2/ Les textes à traduire doivent avoir un sens et un contexte.

Évitez de faire de la concaténation de mots et préférez des phrases entières.

3/ N'utilisez pas de variables directement dans des appels à __().

Si besoin d'insérer du HTML ou des données, entourez vos fonctions de printf ou sprintf pour pouvoir utiliser des placeholders selon ce genre de modèle

sprintf(
  __( 'Bonjour %s', 'textdomain' ),
  $username
);

4/ N'oubliez pas de renseigner les commentaires d'entêtes de votre extension !

/*
 * Plugin Name: Mon extension à moi !
 * Author: (La loi) C'est moi !
 * Text Domain: text-domain
 * Domain Path: /lang
 */

Les 2 informations qui nous intéressent ici sont Text Domain et Domain Path (notez bien les majuscules, elles sont importantes).
Elles permettent respectivement d'indiquer à WordPress votre domaine de traduction ainsi que l'emplacement de vos fichiers de traductions et ce, même si votre extension est désactivée !

Ce ne sont évidemment pas les seuls points de vigilance, mais s'attarder davantage ici ne ferait que paraphraser la documentation officielle, qui est déjà bien assez complète.

Maintenant que ces quelques détails ont été abordés, nous pouvons enfin passer au chargement de vos précieuses traductions ! 😉 L'avantage est que la procédure reste exactement la même. Seule la fonction utilisée change.

/**
 * Chargement des fichiers de traductions dans le dossier /lang
 */
function load_translations() {
  load_plugin_textdomain( 'textdomain', false, dirname( plugin_basename( __FILE__ ) ) . '/lang' );
}
add_action( 'init', 'load_translations' );

On évitera d'utiliser le hook plugins_loaded, qui arrive trop tôt dans le cycle de vie de WordPress et pourrait créer des conflits avec les traitements appliqués par d'autres scripts.

Note : Depuis WordPress 4.6, load_muplugin_textdomain et load_plugin_textdomain tenteront d'abord de charger les fichiers de traductions depuis le dossier /languages de WordPress, donc si vous le voulez, vous pouvez les y mettre directement.

Utiliser des traductions dans des fichiers JavaScript

Vous savez dorénavant comment utiliser vos fichiers .po et .mo dans vos extensions. Il ne nous reste donc qu'un dernier sujet à couvrir : comment utiliser vos traductions dans vos fichiers JS.

Fort heureusement, WordPress met à disposition une fonction à cet effet répondant au doux nom de wp_localize_script et dont les 3 paramètres (tous requis) sont les suivants :

  1. $handle, qui correspond au nom donné au script auquel vous souhaitez transmettre des chaines de caractères (le "nom" du script fait référence au premier paramètre des fonctions wp_register_script ou wp_enqueue_script).
  2. $object_name. Tout simplement le nom de la variable JS qui sera injectée par WordPress.
  3. $l10n, un tableau clé/valeur des traductions que vous voulez rendre disponibles dans votre fichier JS.

Voici un exemple de code pour un script nommé script-kiwi auquel on voudrait passer plusieurs traductions.

/**
 * Chargement des scripts de l'extension
 */
function plugin_scripts() {
  wp_enqueue_script( 'script-kiwi', ... );
  wp_localize_script( 'script-kiwi', 'mon_super_objet',
    array( 
      'chaine_1' => __( 'Ma super traduction', 'textdomain' ),
      'chaine_2' => __( 'Mon autre super traduction', 'textdomain' ),
      'chaine_3' => __( 'Une traduction encore mieux que les autres', 'textdomain' ),
    )
  );
}
add_action( 'wp_enqueue_scripts', 'plugin_scripts' );

Et voilà ! 🎉

Dorénavant, WordPress mettra à disposition une variable globale mon_super_objet que l'on peut utiliser comme un objet JavaScript standard pour en extraire les propriétés. Ainsi, mon_super_objet.chaine_1 affichera la chaine "Ma super traduction" dans la langue souhaitée.

Cette fonction ne peut être utilisée que si votre script a déjà été ajouté via wp_register_script ou wp_enqueue_script.

Un dernier pour la route

Le dernier point de vigilance auquel prêter attention est la mise à jour de vos propres extensions.

Il est assez fréquent de faire évoluer ses extensions pour y inclure de nouvelles fonctionnalités, refactoriser du code qui commence à se faire vieux ou plus simplement rajouter des commentaires pour expliquer à quoi sert la fonction doEverything() de votre extension maison.

Tous ces exemples ont en commun que l'emplacement physique de vos chaines de traductions (les lignes dans votre fichier) peut ne plus être le même en passant de la version X à la version Y et si vous ne régénérez pas vos fichiers .pot, .po et .mo, vous courrez droit à la catastrophe !

Un exemple bien senti venant directement du fichier .po de Polylang.

#: modules/wizard/view-wizard-step-last.php:26
#: modules/wizard/view-wizard-step-last.php:44
msgid "Read documentation"
msgstr "Lire la documentation"

Les nombres en fin de ligne correspondent à la ligne du fichier dans lequel on retrouve la chaine en question. A partir de là, il est facile de comprendre que si une chaine bouge, elle ne sera plus reconnue, ce qui serait dommage après tous ces efforts.

Pour cela, une règle simple : si une chaine change de ligne, il faut le refléter dans vos fichiers de traductions.

Conclusion

Comme promis, rien de bien méchant si vous avez survécu à la lecture du premier article.

Maintenant, vous n'avez plus aucune excuse pour ne pas internationaliser tout ce qui bouge dans vos développements WordPress !

Bonnes fêtes de fin d'année à toutes et tous ! 🎅🎄

Publié par Alsacreations.com

Le: 20 12 2021 à 16:14 Journal du Net Développeurs

L'installation d'une protection antivirus robuste est devenue une priorité pour de nombreux propriétaires d'appareils connectés nomades. Cette tendance a été identifiée par ESET, qui vient de rénover son offre grand public.

Le: 20 12 2021 à 16:12 WebdesignerNews

https://www.wpbeginner.com/news/whats-coming-in-wordpress-5-9-features-and-screenshots/

Le: 20 12 2021 à 16:12 WebdesignerNews

https://www.makeuseof.com/create-wordpress-child-theme/

Le: 20 12 2021 à 16:12 WebdesignerNews

https://blog.red-website-design.co.uk/2021/12/20/most-popular-web-design/

Le: 20 12 2021 à 16:11 WebdesignerNews

https://www.simeongriggs.dev/there-has-never-been-a-better-time-to-build-websites

Le: 20 12 2021 à 16:03 Journal du Net Développeurs

Un VPN pour Noël ? L'idée est insolite, mais très séduisante, surtout combinée avec l'inscription à un service VOD. À l'occasion des fêtes de fin d'année, NordVPN casse les prix sur son abonnement de deux ans. Le point sur la promo du moment avec le Journal du Net !

Le: 20 12 2021 à 14:31 Journal du Net Développeurs

RECONFINEMENT Alors que plusieurs pays européens reconfinent, la France n'envisage pas pour l'instant cette mesure. Des limitations sont cependant prévues le 31 décembre, ainsi que des recommandations d'éviter les grands rassemblements.

Le: 20 12 2021 à 13:48 Journal du Net Développeurs

[REMBOURSEMENT SNCF] Bien que la direction ait les syndicats soient finalement parvenus à un accord, le trafic ferroviaire a été perturbé le week-end dernier. Si vous devez vous faire rembourser vos billets, la SNCF a annoncé un dispositif exceptionnel.

Le: 20 12 2021 à 13:36 Journal du Net Développeurs

Le président de la société mandataire auprès des vendeurs tiers de plateforme en ligne, revient sur les enjeux de l'éco-participation que devront verser ces dernières à compter du 1er janvier 2022.

Le: 20 12 2021 à 11:33 Journal du Net Développeurs

Les plans pour construire la première liaison électrique sous-marine qui facilitera l'échange direct d'énergie entre l'Irlande et la France viennent d'être proposés. L'achèvement préliminaire de cette liaison, baptisée interconnexion celtique, est prévu pour 2026. D'une longueur d'environ 575 km et d'une capacité de 700 MW, le projet vise à relier la côte nord de la France à la côte sud de l'Irlande.

Le: 20 12 2021 à 10:30 ballajack.com Auteur: Ballajack

L’une des grandes caractéristiques d’Amazon Alexa est qu’il peut effectuer des achats avec votre voix. C’est une fonction pratique si ...

Lire la suite

Le: 20 12 2021 à 10:00 FrenchWeb.fr Auteur: La rédaction

L'entreprise a été placée au début du mois sur liste noire par le Trésor américain, qui l'accuse d'avoir mis au point une technologie permettant d'identifier spécifiquement des membres de l'ethnie ouïghoure en Chine.

L’article Reconnaissance faciale: sur liste noire américaine, le Chinois SenseTime fera son entrée en Bourse malgré la controverse est apparu en premier sur FrenchWeb.fr.

Le: 20 12 2021 à 09:58 Journal du Net Développeurs

Les Social Tokens pourraient être la prochaine révolution dans le domaine de la crypto. Ils facilitent la collaboration et offrent un moyen de travailler sur plusieurs projets ambitieux à la fois. Ils apportent flexibilité et autonomie à ceux qui en détiennent.

Le: 20 12 2021 à 09:56 Journal du Net Développeurs

Manger des produits de qualité, des plats sains ou des repas en accord avec son régime alimentaire ? Beaucoup y aspirent. Pourtant, se le permettre représente un vrai luxe pour les petits budgets, notamment les étudiants.

Le: 20 12 2021 à 09:55 Journal du Net Développeurs

Les associations peuvent avoir différentes sources de financement. Outre les donations et les cotisations, des aides publiques peuvent vous aider à financer l'activité de votre association. Toutefois, votre association doit justifier d'un projet d'intérêt général ou d'une action de formation de vos bénévoles.

Le: 20 12 2021 à 09:53 Journal du Net Développeurs

Réconcilier industrie et startup. C'est l'un des objectifs affichés par France 2030. Le vaste plan d'investissement de 30 milliards d'euros sur 5 ans, vise à "reconquérir de la part industrielle, ré-innover dans et par l'industrie et donc décider de multiplier des financements de start-up industrielles".

Le: 20 12 2021 à 09:46 Journal du Net Développeurs

Alors que la COP 26 vient de se terminer, les effets du changement climatique sont un rappel brutal des menaces environnementales auxquelles nous sommes confrontés.

Le: 20 12 2021 à 09:45 Journal du Net Développeurs

La pandémie de COVID-19 a ébranlé les chaînes d'approvisionnement. Selon le McKinsey Global Payments Report 2020, le déficit de financement du commerce mondial pourrait atteindre 2 500 milliards de dollars d'ici à 2025. Ces chiffres témoignent de la nécessité d'apporter une solution concrète aux problèmes de financement des filières d'approvisionnement.

Le: 20 12 2021 à 09:44 Journal du Net Développeurs

L'industrie du transfert d'argent connaît une profonde transformation. Longtemps réservé aux institutions bancaires et à une petite poignée d'entreprises, on assiste aujourd'hui à l'émergence de nouveaux acteurs.

Le: 20 12 2021 à 09:42 Journal du Net Développeurs

Entre boom des fintechs et digitalisation accélérée, les services financiers sont désormais un environnement ultra-concurrentiel et évolutif. Pour y survivre, deux nécessités : la mise en place de stratégies digitales performantes, et l'exploitation des outils technologiques actuels.

Le: 20 12 2021 à 09:37 Journal du Net Développeurs

L'argument selon lequel le bitcoin est un phénomène très volatil, nouveau et inconnu n'est plus pertinent avec la récente adoption massive des cryptomonnaies par des personnalités publiques, des entreprises internationales et des banques.

Le: 20 12 2021 à 09:35 Journal du Net Développeurs

Alors que le secteur des services financiers vit une période d'intense transformation, il a l'opportunité unique de créer de nouvelles source de revenus, en adoptant un modèle d'abonnement pour monétiser ses API.

Le: 20 12 2021 à 09:33 Journal du Net Développeurs

Capter, fidéliser et monétiser le trafic reste un défi de taille dans un univers mobile où des millions d'apps mobiles se livrent une concurrence féroce. Le modèle de super app, popularisé en Chine par WeChat, qui offre une large gamme de services dans un écosystème unique a fait des émules dans le monde entier.

Le: 20 12 2021 à 09:31 Journal du Net Développeurs

Le commerce de détail a changé rapidement au cours des deux dernières années. Mais la transformation donne aux commerçants une chance de prendre le temps et d'investir pour faire les choses de manière plus intelligente aussi bien en magasin qu'en ligne.

Le: 20 12 2021 à 09:29 Journal du Net Développeurs

Quel impact ont les infrastructures SaaS sur la fonction finance ? Quelles différences entre les ETI et les grands groupes ? Quels sont les bénéfices d'une infrastructure SaaS ?

Le: 20 12 2021 à 09:27 Journal du Net Développeurs

Ca bouge beaucoup ces derniers temps dans le secteur de la distribution des assurances en ligne. Depuis quelques mois, on voit arriver sur le marché de l'assurance une nouvelle typologie de distributeurs qui sont des pure players.

Le: 20 12 2021 à 09:26 Journal du Net Développeurs

La transformation numérique du commerce s'oriente désormais vers des stratégies "phygitales", omnicanales, pour offrir aux clients simplicité et praticité. Dans le cas du réseau du paiement marchand, les enseignes innovent pour proposer de nouveaux services.

Le: 20 12 2021 à 09:24 Journal du Net Développeurs

Pour les acteurs du secteur financier, la pandémie a eu pour effet d'accélérer les bouleversements technologiques au sein des banques mondiales et de créer de nouvelles attentes chez les clients, mais également de nouvelles formes de concurrence et opportunités.

Le: 20 12 2021 à 09:22 Journal du Net Développeurs

Quand il s'agit d'évoquer le financement de son entreprise, on mentionne souvent le choix d'un business angel pour donner un coup d'accélérateur à son activité. Un capital risker intéressant mais qui n'est pas sans défaut. De son côté, le banquier, a lui aussi des arguments à faire valoir.

Le: 20 12 2021 à 09:21 Journal du Net Développeurs

Une blockchain est un grand livre où toutes les transactions arrivent. Les "mineurs" sont les personnes qui sécurisent les transactions. Un porte monnaie cryptographique (crypto-wallet en anglais) sert à prouver votre identité sur ce nouvel internet décentralisé que nous appelons Web 3.0, et sert de portefeuille virtuel où vous pouvez stocker vos crypto-monnaies.

Le: 20 12 2021 à 09:20 Journal du Net Développeurs

Avec un Black Friday 2021 en demi-teinte face à une édition 2020 exceptionnelle, pour beaucoup d'e-commerçants, la dernière ligne droite des fêtes de fin d'année est autant d'opportunités pour générer des revenus et clôturer la saison en beauté.

Le: 20 12 2021 à 09:18 Journal du Net Développeurs

Inclusion, numérisation et simplification des activités en interne d'une part, commerce en ligne tourné vers la communauté et vers la durabilité d'autre part : zoom sur les enjeux des professionnels du secteur.

Le: 20 12 2021 à 09:02 korben.info Auteur: Korben

— Article en partenariat avec Setapps — Si vous êtes sous macOS et que vous êtes un gros consommateur d’application, vous connaissez peut-être le service Setapp qui contre un abonnement de moins de 10 $ par mois, vous donne accès en illimité à plus de 220 applications payantes. Setapp fonctionne … Suite

Le: 20 12 2021 à 09:00 korben.info Auteur: Korben

Un outil libre pour vos diff / merge

Le: 20 12 2021 à 07:42 Framablog Auteur: Khrys

Comme chaque lundi, un coup d’œil dans le rétroviseur pour découvrir les informations que vous avez peut-être ratées la semaine dernière. Tous les liens listés ci-dessous sont a priori accessibles librement. Si ce n’est pas le cas, pensez à activer … Lire la suite­­

Le: 20 12 2021 à 07:00 FrenchWeb.fr Auteur: La rédaction

Chaque «dark store» dessert une zone de 1,5 à 2 kilomètres autour du centre de distribution pour que le trajet de livraison en vélo n’excède pas les 10 minutes.

L’article Quick commerce: à la découverte des «dark stores» de Cajoo est apparu en premier sur FrenchWeb.fr.

Le: 20 12 2021 à 01:22 jqueryrain.com Auteur: Admin

The post CSS Timeline Style 161 appeared first on Best jQuery.

Le: 20 12 2021 à 01:20 jqueryrain.com Auteur: Admin

The post Bootstrap CSS Form Style 54 appeared first on Best jQuery.