What is the best practice for managing strings in multiple languages in PHP?

Managing strings in multiple languages in PHP can be achieved by using language files or arrays to store translations for different languages. This allows for easy switching between languages and ensures that the correct translation is displayed based on the user's language preference. By organizing translations in separate files or arrays, it also makes it easier to update and maintain translations for different languages.

// Define language files for different languages
$english = array(
    'greeting' => 'Hello',
    'goodbye' => 'Goodbye'
);

$spanish = array(
    'greeting' => 'Hola',
    'goodbye' => 'Adiós'
);

// Function to retrieve translated strings based on language
function translate($key, $language) {
    global $english, $spanish;
    
    switch($language) {
        case 'english':
            return $english[$key];
            break;
        case 'spanish':
            return $spanish[$key];
            break;
        default:
            return 'Translation not found';
    }
}

// Example usage
$userLanguage = 'spanish';
echo translate('greeting', $userLanguage); // Output: Hola