multisite same language different translation

If this is just your own personal project with plugins you developed and they plugin won’t be more widely distributed, you could just put subdirectories inside the languages directory that correspond to the site ID and load them conditionally: function myplugin_load_textdomain() { $current_site_id = get_current_blog_id(); load_plugin_textdomain( ‘myplugin’, false, basename( dirname( __FILE__ ) ) . ‘/languages/’ … Read more

String translation with or without po file

the .po files are just the human readable version of the translation, but it is not actually used by wordpress for anything. What you need is to generate a .mo version (it is the .po file in some binary encoding form) with a tool like poedit.

Translations in source code

This is “normal” in WordPress 5 as this is what the new wp_set_script_translations function is for. The function tells WordPress to associate a JSON file containing translations with a specific script that will make use of them. It makes use of them as you see, by embedding the translations as JavaScript objects. You say this … Read more