Thank you for the information. I didn’t know the language packs feature.
But when I put the language files in the wp-content/languages/plugins/varnish-http-purge, it didn’t work.
Here is the solution:
* Add load_plugin_textdomain( 'varnish-http-purge' ); to the plugin file
* Put the translation files into wp-content/languages/plugins/, no need to create nested directory.
Sure, I updated the zip.
* Add “Domain Path” to plugin header to translate plugin description.
* Add load_plugin_textdomain to load the language files and expect the files will be put in languages dir.
By the way, I create .pot file using wordpress-i18n tools and it slightly different from yours so I attached it in the zip file.