]>
src.bluestatic.org Git - isso.git/blob - localize.php
2 /*=====================================================================*\
3 || ################################################################### ||
4 || # Iris Studios Shared Object Framework [#]version[#]
5 || # --------------------------------------------------------------- # ||
6 || # Copyright ©2002-[#]year[#] by Iris Studios, Inc. All Rights Reserved. # ||
7 || # This file may not be reproduced in any way without permission. # ||
8 || # --------------------------------------------------------------- # ||
9 || # User License Agreement at http://www.iris-studios.com/license/ # ||
10 || ################################################################### ||
11 \*=====================================================================*/
20 $OBJECT = 'Localization System';
27 * This framework handles localization. Localization in new ISSO
28 * applications is done through this framework. Nearly all strings
29 * are passed to the string function, which looks up the string in
30 * a .strings.xml file during runtime. Before release, a C tool
31 * creates the .strings.xml file for translators. Common strings
32 * can be accessed through the get lex function which calls a string
33 * based on unique identifier; this is useful for commonly used strings.
35 * @author Iris Studios, Inc.
36 * @copyright Copyright ©2002 - [#]year[#], Iris Studios, Inc.
47 var $localtable = array();
50 * The lex lookup table
53 var $lextable = array();
56 * Initializes the localization system with a table
58 * @param array Localization table
60 function init_with_table($table)
62 $this->localtable
= $table;
66 * Returns a localized string from the table
68 * @param str Text to localize
70 * @return str Localized string
74 if (defined('ISSO_LOCALIZE_DEBUG'))
76 return '[@"' . $key . '"]';
79 if ($this->localtable
["$key"])
81 return $this->localtable["$key"];
88 * Returns a value from the lex table for a specific code
92 * @return str Localized string
94 function getlex($code)
96 if (defined('ISSO_LOCALIZE_DEBUG'))
98 return '&[@"' . $code . '"]';
101 if (isset($this->lextable
["$code"]))
103 return $this->lextable["$code"];
106 trigger_error('Lex code `' . $code . '` did not appear in the lex table', E_USER_ERROR
);
110 * Sets a value in the lex table for easy access of strings
111 * that are commonly used
113 * @param str Lex code
114 * @param str Text equiv
116 function setlex($code, $value)
118 if (isset($this->lextable
["$code"]))
120 trigger_error('Cannot set lex `' . $code . '` : value already exists', E_USER_ERROR);
123 $this->lextable["$code"] = $value;
127 /*=====================================================================*\
128 || ###################################################################
131 || ###################################################################
132 \*=====================================================================*/