Skip to content

GIGNIGHT/jphp-localization-ext

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Localization Extension for JPHP

Installation

jppm add localization@git+https://github.com/GIGNIGHT/jphp-localization-ext

Documentation

How to usage?

<?php
# Import classes
# Or using package "localization"
use bundle\gignight\Localization;
use bundle\gignight\exception\LocalizationException;
use bundle\gignight\exception\LocalizationFileNotFoundException;

try
{
    # Specify a short language code
    $languageCode = 'ru';
    
    # Creating a new localization file
    $lFile = new \bundle\gignight\LocalizationFile("lang/{$languageCode}");
    
    # Init localization
    $localization = new Localization($lFile); # Or $languageCode
    
    # Example write lines
    $localization->set('ThISiS.ExamPle.Key', 'Hello World') # The name of the key can be any register
                 ->set('account.user.welcome', "Hello, %s! You are %d years old?") # Supports string formatting
                 ->set('app.name', 'Test')
                 ->set('...', '')
                 ->save(); 
                 
    # Alternative
    $config = array
    (
      'key'      => '123',
      'app.name' => 'Test'
    );
    
    $localization->setAll($config);


    # Getting
    $localization->get('account.user.welcome', 'User', 20); # Return "Hello, User! You are 20 years old?"
    $localization->get('key'); # "123"
    $localization->get('app.name'); # "Test"
    
    # Or using Helper (Global Function)
    var_dump(__('app.name'));
}
catch (LocalizationException | LocalizationFileNotFoundException $e)
{
    Logger::error($e->getMessage());
}