Actually, how that it worked for you? I just tried and when I use a string with a plus sign in it, I get an exception:
diff --git a/index.php b/index.php
index e95b0bb0d1..b86fac7ad7 100644
--- a/index.php
+++ b/index.php
@@ -328,4 +328,7 @@ foreach (explode(',', $frontpagelayout) as $v) {
if ($editing && has_capability('moodle/course:create', context_system::instance())) {
echo $courserenderer->add_new_course_button();
}
+
+echo get_string('foo+bar');
+
echo $OUTPUT->footer();
diff --git a/lang/en/moodle.php b/lang/en/moodle.php
index 4032ffb344..4485d63c0d 100644
--- a/lang/en/moodle.php
+++ b/lang/en/moodle.php
@@ -2176,3 +2176,5 @@ $string['sectionusedefaultname'] = 'Use default section name';
$string['publish'] = 'Publish';
$string['extendenrol'] = 'Extend enrolment (individual)';
$string['groupextendenrol'] = 'Extend enrolment (common)';
+
+$string['foo+bar'] = 'Unsupported';
leads to
Coding error detected, it must be fixed by a programmer: Invalid string identifier.
The identifier cannot be empty. Please fix your get_string() call.
Error code: codingerror
Stack trace:
line 7051 of /lib/moodlelib.php: coding_exception thrown
line 332 of /index.php: call to get_string()