<?php
//============================================================+
// File name   : zho.php
// Begin       : 2010-10-26
// Last Update : 2010-10-26
//
// Description : Language module for TCPDF
//               (contains translated texts)
//               Chinese
//
// Author: Nicola Asuni
//
// (c) Copyright:
//               Nicola Asuni
//               Tecnick.com LTD
//               www.tecnick.com
//               info@tecnick.com
//============================================================+

/**
 * TCPDF language file (contains translated texts).
 * @package com.tecnick.tcpdf
 * @brief TCPDF language file: Chinese
 * @author Nicola Asuni
 * @since 2010-10-26
 */

// Chinese

global $l;
$l = Array();

// PAGE META DESCRIPTORS --------------------------------------

$l['a_meta_charset'] = 'UTF-8';
$l['a_meta_dir'] = 'ltr';
$l['a_meta_language'] = 'zh';

// TRANSLATIONS --------------------------------------
$l['w_page'] = '頁面';

//============================================================+
// END OF FILE
//============================================================+
