Rule #1: Do not hack core

A little while ago, I ran into a problem with a Drupal site I was working on. When the client administrator visited a page, they'd have the option to View or Edit the content. The problem was that they wanted "Edit" to display something other than "Edit".

Although this seems like an easy thing to do, it turned into a huge search and a waste of two hours of my time. I got fed up and violated rule #1 of Drupal, I opened up its files and changed "Edit" to the new string. This turned into a huge mess later on when I updated the system to Drupal 5.3. The right way to do this is to create a new mock-up-English language, and then translate individual strings to whatever you wanted. Even this seems kind of overkill for what you're doing, so there's a better way over doing it in Drupal 6...

Drupal 6 comes with the ability to override and string using settings.php. All you have to type in is:

$conf['locale_custom_strings_en']['My String'] = 'My New String';

This would, evidently, replace all instances of "My String" to "My New String", in the English language. This is a very handy tool, and was missing a user interface. That's where String Overrides came into play.

String Overrides provides a user interface to easily create replacement strings for existing content. The idea came from, not only my horrible "Edit" experience, but also the Lullabots, mentioning this new functionality in Drupal 6.

Drupal is extremely expandable, flexible and customizable, so there is absolutely no reason why you shouldn't abide to Rule #1: Do not hack core.