Hello, I think you are confusing 2 different things
- language strings that are in files inside the lang subdirectory and defined by lines like $string['statement'] = 'has completed the course';
- and data like the student name or the course name that are coming from the database and not from strings in lang files
The right solution to customize your certificate is to modify the certificate.php file for your certificate type.
For instance if you don't want 'has completed the course' to be printed on the certificate, you should not modify the $string['statement'] but rather remove the line that is printing it in your certificate.php file
it should be something like
certificate_print_text($pdf, $x, $y + 55, 'C', 'freesans', '', 20, get_string('statement', 'certificate'));
just remove this line and this will remove the text on the certificate
to remove the course name, remove the line that print it, it should be something like :
certificate_print_text($pdf, $x, $y + 72, 'C', 'freesans', '', 20, $course->fullname);
And to modify the font for student name you need to edit the line that looks like:
certificate_print_text($pdf, $x, $y + 36, 'C', 'freesans', '', 30, fullname($USER));
to change the font change 'freesans' to another font used by the library that create the pdf (warning: you can't use any font that is installed on your computer, only fonts defined in the TCPDF libray and if your certificate has foreign characters you need to use a font that contain these characters or you will get question marks instead of characters) and to change the font size, change the 30 value to something else.
Editing the language file should be avoided if possible because when you will upgrade the certificate module in the future all your changes would be lost and would need to be re-done.
I understand al this may seem difficult if you are unfamiliar with programming, so if you don't manage to do what you want, post your certificate.php and explain what you want to do and I will try to help you.