<?php
/**
* @package OpenCart
* @author Daniel Kerr
* @copyright Copyright (c) 2005 - 2017, OpenCart, Ltd. (https://www.opencart.com/)
* @license https://opensource.org/licenses/GPL-3.0
* @link https://www.opencart.com
*/
/**
* 语言类
*/
class Language {
// 默认语言
private $default = 'en-gb';
// 目录
private $directory;
// 数据
public $data = array();
/**
* Constructor
* 构造方法
* @param string $file
*
*/
public function __construct($directory = '') {
$this->directory = $directory;
}
/**
*
* 获取
* @param string $key
*
* @return string
*/
public function get($key) {
return (isset($this->data[$key]) ? $this->data[$key] : $key);
}
/**
*
* 设置
* @param string $key
* @param string $value
*/
public function set($key, $value) {
$this->data[$key] = $value;
}
/**
*
* 所有数据
* @return array
*/
public function all() {
return $this->data;
}
/**
*
* 加载语言
* @param string $filename
* @param string $key
*
* @return array
*/
public function load($filename, $key = '') {
if (!$key) {
$_ = array();
$file = DIR_LANGUAGE . $this->default . '/' . $filename . '.php';
if (is_file($file)) {
require($file);
}
$file = DIR_LANGUAGE . $this->directory . '/' . $filename . '.php';
if (is_file($file)) {
require($file);
}
$this->data = array_merge($this->data, $_);
} else {
// Put the language into a sub key
$this->data[$key] = new Language($this->directory);
$this->data[$key]->load($filename);
}
return $this->data;
}
}