I’m adding language support to my first plugin, and I have some questions as to how to do that correctly. What I need is one string (configurable), to be used by a custom function. So I put the following in my plugin’s languages.yaml file:
en:
PLUGIN_ANTISPAM:
NOSCRIPT: [email address is javascript encrypted]
de:
PLUGIN_ANTISPAM:
NOSCRIPT: [Mailadresse ist Javascript-verschlüsselt]
And in my custom function, I tried to read this with the following:
function munge($array) {
// a bunch of irrelevant stuff here
$txt .= "<noscript>".$grav['language']->translate(['PLUGIN_ANTISPAM.NOSCRIPT'])."<"."/noscript>";
return $txt;
}
I got this from the documents. However, this returns a Crikey! error that says "Undefined variable: grav". What is wrong?
That was it, that did the trick! (I love you so much right now) Should I post a correction for the page in the documents where I found the $grav reference? I shall try to figure out how best to do that.
Now there’s still a minor bug in the plugin, but mostly it’s good to go, so I’m putting it up right now and posting that issue in the Grav tracker!
Nice. Thank you yet again for lending a hand to a GitHub and plugin newbie! I think I managed to create a proper pull request – if I’ve gotten all of that right, including my plugin repo, I shall do my best improving the documents and making new plugins to help make Grav an even better CMS for everybody.