yohns / lang
Simple and easy language class for php to be able to easily create translations for your text.
Requires
- php: ^8.0
Requires (Dev)
- clean/phpdoc-md: ^0.19.3
README
Should be in working order, I'll test it more later.
It uses the strtr function to do fast find and replace of the strings. I did a few benchmark tests for find and replace of the strings on ChatGPT Scripts - Benchmarks
use Yohns\Lang\Text; include 'vendor/autoload.php'; new Text('lib/Lang', 'es'); echo Text::L('Hello'); // Hola echo Text::L('Hello [name]', ['[name]' => 'Yohn']); // Hola Yohn
Class Yohns\Lang\Text
This class is responsible for handling language translations. It loads language files from a specified directory and provides functionality to retrieve phrases in the specified language. It supports dynamic addition of phrases to the English language file if they do not already exist.
Methods
Name | Description |
---|---|
L | Retrieves the translated phrase for the given phrase key. |
__construct | Text constructor. |
getAll | Retrieves all loaded texts. |
reload | Reloads the text for the current language. |
set | Sets a new phrase or updates an existing one in the language text. |
Text::L
Description
public static L (string $phrase, array $ary)
Retrieves the translated phrase for the given phrase key.
If the phrase does not exist in the loaded language text, it updates the English default language file with a new entry.
Parameters
(string) $phrase
: The key of the phrase to retrieve.(array) $ary
: Optional replacements for placeholders in the phrase.
Return Values
string|\Text
The translated phrase or the Text instance if updating.
Text::__construct
Description
public __construct (string $dir, string $lingo)
Text constructor.
Parameters
(string) $dir
: The directory where translations are located.(string) $lingo
: The language identifier, default is 'en'.
Return Values
void
Throws Exceptions
\Exception
if the specified language directory is not readable or the specified language file does not exist.
Text::getAll
Description
public static getAll (void)
Retrieves all loaded texts.
Parameters
This function has no parameters.
Return Values
mixed
An array containing all loaded texts or null if not loaded.
Text::reload
Description
public static reload (void)
Reloads the text for the current language.
Parameters
This function has no parameters.
Return Values
void
Text::set
Description
public static set (string $key, mixed $value)
Sets a new phrase or updates an existing one in the language text.
Parameters
(string) $key
: The key of the text to set.(mixed) $value
: The value to associate with the key.
Return Values
void