PHP Classes

PHP Localization Library: Translate application texts using INI files

Recommend this page to a friend!
     
  Info   Example   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStarStar 65%Total: 319 All time: 7,239 This week: 79Up
Version License PHP version Categories
localization 1.0.11BSD License5.4Localization, PHP 5
Description 

Author

This package can translate application texts using INI files.

It can determine the current page language from a given request variable or default to the first language in an array of supported language settings defined in the config.php script.

The class loads the texts for the current language from a INI file.

It also returns the application strings translated for the current language. The string may be formatted with optional parameters as defined for sprintf.

If the chosen language translations file does not exist, the class writes a new file for that language based on the default language texts.

Picture of alaca
  Performance   Level  
Name: alaca <contact>
Classes: 2 packages by
Country: Croatia Croatia
Age: 42
All time rank: 24095 in Croatia Croatia
Week rank: 128 Up1 in Croatia Croatia Up
Innovation award
Innovation award
Nominee: 1x

Recommendations

Example

<?php

// include localization class
include 'localization.php';

$localization = Localization::instance();

?>
<html lang="<?php echo $localization->getCurrentLanguage(); ?>">
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
   <title><?php echo __('Site title'); ?></title>
   <script>
  
      /* method getJson() can be used for javascript translations */
      var translations = <?php echo $localization->getJson(['Welcome to our site']); ?>;

      console.log(translations['Welcome to our site']);
     
   </script>
</head>
<body>
   <h1><?php echo __('Welcome to our site'); ?></h1>
   <hr />
  
   <ul>
      <?php foreach($localization->getLanguages() as $code => $name): ?>
<li>
            <a href="?language=<?php echo $code; ?>"><?php echo $name; ?></a>
         </li>
      <?php endforeach; ?>
</ul>
  
   <hr />
  
   Usage:
   <?php echo __('Current language key code is %s', [$localization->getCurrentLanguage()]); ?>
<br /><br />
  
   or
   <?php echo __('Translate function can take multiple params like %s and %s', ['this', 'that']); ?>
<br /><br />
  
   or
   <?php echo Localization::instance()->translate('Welcome to our site'); ?> ;
   <br /><br />
  
  
  
</body>
</html>


Details

PHP Localization Library

Setting it up config.php


return [
   'path'  => 'translations', // translation files directory path | translations is default
   'input' => 'language',     // url parameter | language is default
   'languages' => [           // languages, first language is default
      'en' => 'English',
      'de' => 'Deutsch',
      'it' => 'Italiano'
   ]   
];

Translating strings

 echo __('Site title'); 

 echo __('Site %s', ['title']); 

 echo Localization::instance()->translate('Site %s', ['title']); 

  Files folder image Files (8)  
File Role Description
Files folder imagetranslations (4 files)
Plain text file config.php Aux. Auxiliary script
Plain text file index.php Example Example script
Plain text file localization.php Class Class source
Plain text file README.md Data Auxiliary data

  Files folder image Files (8)  /  translations  
File Role Description
  Plain text file de.ini Data Auxiliary data
  Plain text file en.ini Data Auxiliary data
  HTML file index.html Data Auxiliary data
  Plain text file it.ini Data Auxiliary data

The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page.
Install with Composer Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:319
This week:0
All time:7,239
This week:79Up
User Ratings User Comments (1)
 All time
Utility:93%StarStarStarStarStar
Consistency:93%StarStarStarStarStar
Documentation:-
Examples:93%StarStarStarStarStar
Tests:-
Videos:-
Overall:65%StarStarStarStar
Rank:616
 
nice
7 years ago (muabshir)
80%StarStarStarStarStar