first commit
This commit is contained in:
96
html2pdf_v4.03/_class/locale.class.php
Executable file
96
html2pdf_v4.03/_class/locale.class.php
Executable file
@ -0,0 +1,96 @@
|
||||
<?php
|
||||
/**
|
||||
* HTML2PDF Librairy - HTML2PDF Locale
|
||||
*
|
||||
* HTML => PDF convertor
|
||||
* distributed under the LGPL License
|
||||
*
|
||||
* @author Laurent MINGUET <webmaster@html2pdf.fr>
|
||||
* @version 4.03
|
||||
*/
|
||||
|
||||
class HTML2PDF_locale
|
||||
{
|
||||
/**
|
||||
* code of the current used locale
|
||||
* @var string
|
||||
*/
|
||||
static protected $_code = null;
|
||||
|
||||
/**
|
||||
* texts of the current used locale
|
||||
* @var array
|
||||
*/
|
||||
static protected $_list = array();
|
||||
|
||||
/**
|
||||
* directory where locale files are
|
||||
* @var string
|
||||
*/
|
||||
static protected $_directory = null;
|
||||
|
||||
/**
|
||||
* load the locale
|
||||
*
|
||||
* @access public
|
||||
* @param string $code
|
||||
*/
|
||||
static public function load($code)
|
||||
{
|
||||
if (self::$_directory===null) {
|
||||
self::$_directory = dirname(dirname(__FILE__)).'/locale/';
|
||||
}
|
||||
|
||||
// must be in lower case
|
||||
$code = strtolower($code);
|
||||
|
||||
// must be [a-z-0-9]
|
||||
if (!preg_match('/^([a-z0-9]+)$/isU', $code)) {
|
||||
throw new HTML2PDF_exception(0, 'invalid language code ['.self::$_code.']');
|
||||
}
|
||||
|
||||
// save the code
|
||||
self::$_code = $code;
|
||||
|
||||
// get the name of the locale file
|
||||
$file = self::$_directory.self::$_code.'.csv';
|
||||
|
||||
// the file must exist
|
||||
if (!is_file($file)) {
|
||||
throw new HTML2PDF_exception(0, 'language code ['.self::$_code.'] unknown. You can create the translation file ['.$file.'] and send it to the webmaster of html2pdf in order to integrate it into a future release');
|
||||
}
|
||||
|
||||
// load the file
|
||||
self::$_list = array();
|
||||
$handle = fopen($file, 'r');
|
||||
while (!feof($handle)) {
|
||||
$line = fgetcsv($handle);
|
||||
if (count($line)!=2) continue;
|
||||
self::$_list[trim($line[0])] = trim($line[1]);
|
||||
}
|
||||
fclose($handle);
|
||||
}
|
||||
|
||||
/**
|
||||
* clean the locale
|
||||
*
|
||||
* @access public static
|
||||
*/
|
||||
static public function clean()
|
||||
{
|
||||
self::$_code = null;
|
||||
self::$_list = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* get a text
|
||||
*
|
||||
* @access public static
|
||||
* @param string $key
|
||||
* @return string
|
||||
*/
|
||||
static public function get($key, $default='######')
|
||||
{
|
||||
return (isset(self::$_list[$key]) ? self::$_list[$key] : $default);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user