How can I change a word or phrase used in Moodle?

How can I find where a language string is located?

Tick the 'Show origin of languages strings' checkbox in Settings > Site administration > Development > Debugging then visit the page containing the string you want to customize.

Why are my changes not saved if I edit a language pack with the Moodle language pack editor?

This could be caused by a PHP accelerator. Try switching it off (usually in php.ini).

I've set a default site language but when I log in it switches to English. Why?

By default, Moodle detects a user's language from their browser setting. This language auto-detection may be disabled so that the default site language is used instead in Site administration > Language > Language settings.

How can I disable (hide) the language dropdown menu on the site front page?

Are there any short cuts for editing a language?

Yes, but be careful. You can make use of the customize language process. Basically copy the php files that contain the strings you want to change to the moodledata/lang/local folder. For example, copy the /lang/en/moodle.php file to someplace. Edit the file with a search and replace with whole word and case sensitive turned on, change Teacher to Instructor and Teachers to Instructors, do the same for teacher and teachers. Now copy that saved copy of the moodle.php file to the moodledata/lang/en_local folder. Be careful not to change the String name.

Because it is a customization, Moodle will not erase the xx_local language files in Moodledata with an upgrade. Moodle will upgrade any language folders it finds in the moodle/lang folder.

Is it possible to customise language strings per theme?

Not by default, as when strings are customised, they are customised for the whole site. However, it is possible to make a new language pack based on your main language and apply that pack to the course which has that theme. See this forum post for more information: https://moodle.org/mod/forum/discuss.php?d=220671

How can I make a new language pack?

See Translation. Even though your new language pack might be in a version of English (such as "Pirate talk!") it is still classed as a translation.