As per the Theme Approval Guidelines, all text should be in a theme language string, however the Guidelines are lenient with copyrights and allow these to be hard-coded.
Theme authors will commonly place their strings into the wrong file, for example: Modifications.language.php (Eg: Modifications.english.php, Modifications.turkish.php). Although this is not technically the wrong place to put the strings, it will cause issues with modifications being installed on the theme.
When making a theme you can simply add 2 or 3 extra lines of code into your index.template.php, which will call a ThemeStrings.language.php file where your strings can go. This will prevent conflicts with modifications and your theme.
Search for this in index.template.php:
/* Show sticky and lock status seperate from topic icons? */
$settings['seperate_sticky_lock'] = true;
Replace it with:
/* Show sticky and lock status seperate from topic icons? */
$settings['seperate_sticky_lock'] = true;
/* Call to Theme String for languages */
if (loadlanguage('ThemeStrings') == false)
loadLanguage('ThemeStrings', 'english');
In 2.0 RC1 and onwards, a new way of including ThemeStrings.language.php would be to set $settings['require_theme_strings'] to true in index.template.php. It would look something like this:
/* Set the following variable to true if this theme requires the optional theme strings file to be loaded. */
$settings['require_theme_strings'] = false;
by default, and when false is changed to true, it'll start to load ThemeStrings alongside the other language files SMF needs to display the page.
An English version of this file can be found attached.