A technical problem with localising a programming language is reserved words: either you decide in advance which localised variants will exist and you can't add any later, or the variants are potentially incompatible and to combine code written for different variants you would need to do some translation that involves changing identifiers, and I can't immediately imagine how that would work with libraries and so on.
Alternatively, you pick a programming language that doesn't have any reserved words, such as FORTRAN. (Are there any other well known ones?)
PL/I. The argument there was that one cannot assume anybody to remember all the keywords (over 300 in some implementations. See https://www.cs.vu.nl/grammarware/browsable/os-pli-v2r3/), so they weren’t any reserved words, allowing, for example
IF IF = ELSE THEN IF = ELSE - 1; ELSE ELSE = IF + 1;
Writing a compiler for that must be fun, especially if one wants to produce useful error messages.
Alternatively, you pick a programming language that doesn't have any reserved words, such as FORTRAN. (Are there any other well known ones?)