1<?xml version="1.0" encoding="UTF-8"?>
2<package packagerversion="1.9.1" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
3 <name>Translation2</name>
4 <channel>pear.php.net</channel>
5 <summary>Class for multilingual applications management.</summary>
6 <description>This class provides an easy way to retrieve all the strings for a multilingual site from a data source (i.e. db).
7The following containers are provided, more will follow:
8- PEAR::DB
9- PEAR::MDB
10- PEAR::MDB2
11- gettext
12- XML
13- PEAR::DB_DataObject (experimental)
14It is designed to reduce the number of queries to the db, caching the results when possible.
15An Admin class is provided to easily manage translations (add/remove a language, add/remove a string).
16Currently, the following decorators are provided:
17- CacheLiteFunction (for file-based caching)
18- CacheMemory (for memory-based caching)
19- DefaultText (to replace empty strings with their keys)
20- ErrorText (to replace empty strings with a custom error text)
21- Iconv (to switch from/to different encodings)
22- Lang (resort to fallback languages for empty strings)
23- SpecialChars (replace html entities with their hex codes)
24- UTF-8 (to convert UTF-8 strings to ISO-8859-1)</description>
25 <lead>
26  <name>Lorenzo Alberton</name>
27  <user>quipo</user>
28  <email>l.alberton@quipo.it</email>
29  <active>yes</active>
30 </lead>
31 <developer>
32  <name>Ian Eure</name>
33  <user>ieure</user>
34  <email>ieure@php.net</email>
35  <active>yes</active>
36 </developer>
37 <developer>
38  <name>Michael Wallner</name>
39  <user>mike</user>
40  <email>mike@php.net</email>
41  <active>yes</active>
42 </developer>
43 <date>2010-12-06</date>
44 <time>09:26:31</time>
45 <version>
46  <release>2.0.4</release>
47  <api>2.0.2</api>
48 </version>
49 <stability>
50  <release>stable</release>
51  <api>stable</api>
52 </stability>
53 <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
54 <notes>
55QA release
56Bug #18081 	Translation2.php installed in the wrong place
57 </notes>
58 <contents>
59  <dir baseinstalldir="/" name="/">
60   <file baseinstalldir="Translation2" md5sum="60fe3be0922e2ab732401836d9e20d44" name="docs/gettext_readme.txt" role="doc" />
61   <file baseinstalldir="Translation2" md5sum="d3bbc424218c165356bd3f9ea624742f" name="docs/examples/gettext_admin.php" role="doc" />
62   <file baseinstalldir="Translation2" md5sum="07660adacbafe25b6cea15d007ef7cd4" name="docs/examples/gettext_domains.ini" role="doc" />
63   <file baseinstalldir="Translation2" md5sum="b7f6f73d7f935a2dee941ca0231ef3cb" name="docs/examples/gettext_langs.ini" role="doc" />
64   <file baseinstalldir="Translation2" md5sum="6f43d24478d4de0d5505ffb0424f716e" name="docs/examples/gettext_prepare.php" role="doc" />
65   <file baseinstalldir="Translation2" md5sum="b93fdbaa82d2a58edac0ebd5c96d4473" name="docs/examples/gettext_settings.php" role="doc" />
66   <file baseinstalldir="Translation2" md5sum="4478a59ef7f6905de905efab26810f18" name="docs/examples/settings.php" role="doc" />
67   <file baseinstalldir="Translation2" md5sum="89bed48e9a98ad4c910d4add278d5c9b" name="docs/examples/settings_multitable.php" role="doc" />
68   <file baseinstalldir="Translation2" md5sum="0e8f68b7d713cc1b16965a1da95c1abc" name="docs/examples/Translation2_example.php" role="doc" />
69   <file baseinstalldir="Translation2" md5sum="b19437377bc378fdb371452f68397443" name="docs/examples/Translation2_example.sql" role="doc" />
70   <file baseinstalldir="Translation2" md5sum="8ccb374a1c949849868583620e9986c2" name="docs/examples/Translation2_example_multitable.sql" role="doc" />
71   <file baseinstalldir="Translation2" md5sum="5a5c8cbbde45281e80177f7219f34d21" name="docs/examples/Translation2_gettext_example.php" role="doc" />
72   <file baseinstalldir="" md5sum="a21a244d222b8b588f66cc284c84c389" name="scripts/t2xmlchk.php" role="script" />
73   <file baseinstalldir="Translation2" md5sum="582d12163324897cf21a9771cffde9c3" name="tests/admin_containers_tests.php" role="test" />
74   <file baseinstalldir="Translation2" md5sum="c520a96d1085c259186124ec371a6be3" name="tests/admin_db_test.php" role="test" />
75   <file baseinstalldir="Translation2" md5sum="b9cc9034cd5b9d7433769f512acf977b" name="tests/admin_db_test_base.php" role="test" />
76   <file baseinstalldir="Translation2" md5sum="1fbc3227948599c35167bbe8e38f5f0f" name="tests/admin_gettext_mo_test.php" role="test" />
77   <file baseinstalldir="Translation2" md5sum="140baf7b419bbbd493f838cd55af2c1d" name="tests/admin_gettext_po_test.php" role="test" />
78   <file baseinstalldir="Translation2" md5sum="b3fb7727ff383f0b980c7c218b04712b" name="tests/admin_gettext_test_base.php" role="test" />
79   <file baseinstalldir="Translation2" md5sum="079cc50dfb06057e9935ead748104277" name="tests/admin_mdb2_test.php" role="test" />
80   <file baseinstalldir="Translation2" md5sum="94ffea5a89e1e2e3870c3ada867bb9b3" name="tests/admin_mdb_test.php" role="test" />
81   <file baseinstalldir="Translation2" md5sum="b795e44e3cc489bc9c50c88b4be676bd" name="tests/admin_xml_test.php" role="test" />
82   <file baseinstalldir="Translation2" md5sum="57e86888584f6d6583d30ab392e1deeb" name="tests/all_tests.php" role="test" />
83   <file baseinstalldir="Translation2" md5sum="6aaa397eb6f1a0f90fa3dd53fb721dff" name="tests/containers_tests.php" role="test" />
84   <file baseinstalldir="Translation2" md5sum="3c31671f943af73e37bbca2560a0bdfd" name="tests/dbms.php" role="test" />
85   <file baseinstalldir="Translation2" md5sum="dfe317dbc29f4f6b08713304c97e5ce1" name="tests/db_test.php" role="test" />
86   <file baseinstalldir="Translation2" md5sum="dbe24175b972e60c8b9f25ffdfc6182e" name="tests/db_test_base.php" role="test" />
87   <file baseinstalldir="Translation2" md5sum="6d58f98953bf041141f3fb5ee3202d02" name="tests/gettext_domains.ini" role="test" />
88   <file baseinstalldir="Translation2" md5sum="28a3e72eea56bb02a1d2c55bc36cf568" name="tests/gettext_langs.ini" role="test" />
89   <file baseinstalldir="Translation2" md5sum="d7cc1c7c44746ef403355cccbbf366e3" name="tests/gettext_mo_test.php" role="test" />
90   <file baseinstalldir="Translation2" md5sum="8340907421f2954b315d14271eddbdec" name="tests/gettext_po_test.php" role="test" />
91   <file baseinstalldir="Translation2" md5sum="7bb1c1b7c1d717f52074c335636f723d" name="tests/gettext_prepare.php" role="test" />
92   <file baseinstalldir="Translation2" md5sum="8f74d6ab2cd011088d2a04c8d0ddc778" name="tests/i18n.xml" role="test" />
93   <file baseinstalldir="Translation2" md5sum="818cb1cf091060680e1bf8975f1d63ee" name="tests/mdb2_test.php" role="test" />
94   <file baseinstalldir="Translation2" md5sum="6cc54f4070a21c23a40bd27548e9d024" name="tests/mdb_test.php" role="test" />
95   <file baseinstalldir="Translation2" md5sum="053117e8b71a3152975c645a9dc406d2" name="tests/readme.txt" role="test" />
96   <file baseinstalldir="Translation2" md5sum="9f58f69e06540cefc108279890df7cdb" name="tests/simple_include.php" role="test" />
97   <file baseinstalldir="Translation2" md5sum="3149df586b58ed21036b5ab2c2e645cb" name="tests/tests.sql" role="test" />
98   <file baseinstalldir="Translation2" md5sum="be5815005d52410654afa20c91e27703" name="tests/translation2_admin_include.php" role="test" />
99   <file baseinstalldir="Translation2" md5sum="e4b52bf0092e051c70493191b94e4654" name="tests/translation2_include.php" role="test" />
100   <file baseinstalldir="Translation2" md5sum="81ff999471291f06ba5b205e29dd67fd" name="tests/xml_test.php" role="test" />
101   <file baseinstalldir="/" md5sum="10f34863ca5e4b05603e0590f3b2a2c3" name="Translation2/Admin.php" role="php" />
102   <file baseinstalldir="/" md5sum="4a83f3f285a679388b3aea941311b97a" name="Translation2/Container.php" role="php" />
103   <file baseinstalldir="/" md5sum="dece3e0ef93d46bcdf641eff647b3a8b" name="Translation2/Decorator.php" role="php" />
104   <file baseinstalldir="/" md5sum="045d7e74911d312e7b21e5ba0ce6ebf0" name="Translation2/Admin/Decorator.php" role="php" />
105   <file baseinstalldir="/" md5sum="b47d81857c1028b40dc9a40e8f3c4afe" name="Translation2/Admin/Container/dataobjectsimple.php" role="php" />
106   <file baseinstalldir="/" md5sum="d11f30bdbf49d12d813a7725732f4e58" name="Translation2/Admin/Container/db.php" role="php" />
107   <file baseinstalldir="/" md5sum="28d3d745d48dfc977b7831db931ef659" name="Translation2/Admin/Container/gettext.php" role="php" />
108   <file baseinstalldir="/" md5sum="729020e1a4c98afef0522b1b8c1489fa" name="Translation2/Admin/Container/mdb.php" role="php" />
109   <file baseinstalldir="/" md5sum="55a590a80c2c995e0d205fdf54177a59" name="Translation2/Admin/Container/mdb2.php" role="php" />
110   <file baseinstalldir="/" md5sum="8903f858a69f27d9188bf53ec824a338" name="Translation2/Admin/Container/xml.php" role="php" />
111   <file baseinstalldir="/" md5sum="984ddd9437d05e5cf3f807bd598df246" name="Translation2/Admin/Decorator/Autoadd.php" role="php" />
112   <file baseinstalldir="/" md5sum="0d0d12f634f0fda06d6dc55e3a990cf3" name="Translation2/Container/dataobjectsimple.php" role="php" />
113   <file baseinstalldir="/" md5sum="342a35a0cc3885f4a2020ecd7c9695fe" name="Translation2/Container/db.php" role="php" />
114   <file baseinstalldir="/" md5sum="db596bb4da3d8adb8cf6a961f38eef7c" name="Translation2/Container/gettext.php" role="php" />
115   <file baseinstalldir="/" md5sum="a4df1131f2ed48e083c44f6646f299c8" name="Translation2/Container/mdb.php" role="php" />
116   <file baseinstalldir="/" md5sum="86edee0040371f1192389db2158dbc20" name="Translation2/Container/mdb2.php" role="php" />
117   <file baseinstalldir="/" md5sum="3f22b9415fa3bd331029067919884d63" name="Translation2/Container/xml.php" role="php" />
118   <file baseinstalldir="/" md5sum="5fc42128b64af8c2f696b3b5e3822ba8" name="Translation2/Decorator/CacheLiteFunction.php" role="php" />
119   <file baseinstalldir="/" md5sum="3bbcb710a3016ce9e4602819ad17b21b" name="Translation2/Decorator/CacheMemory.php" role="php" />
120   <file baseinstalldir="/" md5sum="526f5c9d048d1bb117ae6f0696e9b55e" name="Translation2/Decorator/DefaultText.php" role="php" />
121   <file baseinstalldir="/" md5sum="4ba13dc8e09f9c029d2eee6c9ef6db95" name="Translation2/Decorator/ErrorText.php" role="php" />
122   <file baseinstalldir="/" md5sum="57c878ee905ce3315e2a67781690eb4d" name="Translation2/Decorator/Iconv.php" role="php" />
123   <file baseinstalldir="/" md5sum="f35a573e3b533e8d9ee58ce9921dd073" name="Translation2/Decorator/Lang.php" role="php" />
124   <file baseinstalldir="/" md5sum="5d6b1a88b5a71c531ef3431c79ff7497" name="Translation2/Decorator/SpecialChars.php" role="php" />
125   <file baseinstalldir="/" md5sum="2aff1bc43bc302397ea78b6156aa785f" name="Translation2/Decorator/UTF8.php" role="php" />
126   <file baseinstalldir="/" md5sum="2a7d0c4e0a9f8899ecf257d099810900" name="Translation2.php" role="php" />
127  </dir>
128 </contents>
129 <dependencies>
130  <required>
131   <php>
132    <min>4.0.0</min>
133   </php>
134   <pearinstaller>
135    <min>1.4.0b1</min>
136   </pearinstaller>
137  </required>
138  <optional>
139   <package>
140    <name>Cache_Lite</name>
141    <channel>pear.php.net</channel>
142   </package>
143   <package>
144    <name>DB</name>
145    <channel>pear.php.net</channel>
146   </package>
147   <package>
148    <name>DB_DataObject</name>
149    <channel>pear.php.net</channel>
150   </package>
151   <package>
152    <name>MDB</name>
153    <channel>pear.php.net</channel>
154   </package>
155   <package>
156    <name>MDB2</name>
157    <channel>pear.php.net</channel>
158   </package>
159   <package>
160    <name>File_Gettext</name>
161    <channel>pear.php.net</channel>
162   </package>
163   <package>
164    <name>I18Nv2</name>
165    <channel>pear.php.net</channel>
166    <min>0.9.1</min>
167   </package>
168   <package>
169    <name>XML_Serializer</name>
170    <channel>pear.php.net</channel>
171    <min>0.13.0</min>
172   </package>
173   <extension>
174    <name>gettext</name>
175   </extension>
176  </optional>
177 </dependencies>
178 <phprelease>
179  <filelist>
180   <install as="t2xmlchk.php" name="scripts/t2xmlchk.php" />
181  </filelist>
182 </phprelease>
183 <changelog>
184  <release>
185   <version>
186    <release>0.0.1</release>
187    <api>0.0.1</api>
188   </version>
189   <stability>
190    <release>alpha</release>
191    <api>alpha</api>
192   </stability>
193   <date>2004-01-21</date>
194   <license uri="http://www.php.net/license">PHP License</license>
195   <notes>
196First alpha release
197   </notes>
198  </release>
199  <release>
200   <version>
201    <release>2.0.0alpha2</release>
202    <api>2.0.0alpha2</api>
203   </version>
204   <stability>
205    <release>alpha</release>
206    <api>alpha</api>
207   </stability>
208   <date>2004-02-05</date>
209   <license uri="http://www.php.net/license">PHP License</license>
210   <notes>
211- added an experimental GNU gettext driver
212- translate() now accepts a third parameter ($pageID)
213- PHP5 fix
214- renamed old getPage() to getRawPage()
215- new getPage() resorts to fallback lang and replaces parameters when needed
216- added error checking/codes
217   </notes>
218  </release>
219  <release>
220   <version>
221    <release>2.0.0beta1</release>
222    <api>2.0.0beta1</api>
223   </version>
224   <stability>
225    <release>beta</release>
226    <api>beta</api>
227   </stability>
228   <date>2004-05-05</date>
229   <license uri="http://www.php.net/license">PHP License</license>
230   <notes>
231- BC break! Run the example to see what&apos;s new
232- refactoring in progress:
233  added a Decorator class and some subclasses to control
234  the output (now you can set a stack of fallback languages,
235  a filter to deal with empty strings, one or more cache layers...)
236- improved gettext support (thanks to Michael Wallner)
237- added gettext admin class
238- fixes in the db admin classes
239- when adding a new string, if it matches one already in the db,
240  the old one is replaced by the new one.
241- added a MDB2 container
242- added a DB_DataObject container (by Alan Knowles)
243   </notes>
244  </release>
245  <release>
246   <version>
247    <release>2.0.0beta3</release>
248    <api>2.0.0beta3</api>
249   </version>
250   <stability>
251    <release>beta</release>
252    <api>beta</api>
253   </stability>
254   <date>2004-11-11</date>
255   <license uri="http://www.php.net/license">PHP License</license>
256   <notes>
257- Welcome to the new developers, Ian Eure and Michael Wallner
258- The last release contained an old gettext driver (bug #2503) (ieure)
259- Many portability fixes applied to the database containers (thanks to Ian Eure and
260  Xavier Lembo for their suggestions and patches)
261- Minor changes to the table definitions for better portability (lowercase field names,
262  VARCHAR instead of CHAR, bigger field size)
263- setLang() now returns an error if called with an unknown $langID (bug #2498).
264- Added $cleaningFrequency option to the CacheLiteFunction to implement
265  statistic cache cleaning
266- Added Translation2_Admin::cleanCache() method to clean the cache on demand.
267  It is automatically triggered after a change if $options[&apos;autoCleanCache&apos;] is TRUE.
268- Big cleanup of the DB and Admin_DB containers. See CVS changelog for details.
269  (ieure)
270- Added update() method to Translation2_Admin. This is a BC break; you used to be able
271  to update strings with add(). This is no longer possible, use update(). (ieure)
272- Re-added a check in add() to see if an update() is needed instead of an insert
273- String ID columns are created as type TEXT to support gettext-style string IDs.
274  (ieure)
275- Reflect the changes made to the DB container into the MDB and MDB2 containers too,
276  plus other minor fixes/optimizations.
277- strings_default_table may use %s to represent the language name. You may now have one
278  table per language without having to explicitly specify them all. (ieure)
279- DefaultText decorator has new getStringID() method, which will return the string which
280  was requested if no stringID exists. This mirrors the gettext() semantics. (ieure)
281- Added Admin_Decorator class, which allows you to create Decorators for
282  Translation2_Admin. (ieure)
283- New &apos;Autoadd&apos; Admin Decorator, which automatically adds requested strings. (ieure)
284- Removed translate(), added getStringID(). You can mimic the old behaviour in
285  two steps:
286  $stringID = $tr-&gt;getStringID(&apos;mystring&apos;, &apos;mypage&apos;);
287  $translatedString = $tr-&gt;get($stringID, &apos;mypage&apos;, $otherLangID);
288- Major cleanup of the gettext container and added some examples (mike)
289- removeLang() was missing. Fixed.
290- The gettext container no longer require the gettext extension (thanks to Sergey Korotkov);
291  it is used when loaded, though, since it&apos;s faster.
292- Both .mo and .po files are valid data sources for the gettext container (Sergey Korotkov)
293- New Iconv decorator based on the one written by Sergey Korotkov
294- Added a new &quot;encoding&quot; column to the langsAvail table
295- New xml container by Olivier Guilyardi
296   </notes>
297  </release>
298  <release>
299   <version>
300    <release>2.0.0beta4</release>
301    <api>2.0.0beta4</api>
302   </version>
303   <stability>
304    <release>beta</release>
305    <api>beta</api>
306   </stability>
307   <date>2004-11-20</date>
308   <license uri="http://www.php.net/license">PHP License</license>
309   <notes>
310- added a complete TestSuite
311- updated gettext docs
312- fixed typo in error code (TRANSLATION_ERROR_UNKNOWN_LANG =&gt; TRANSLATION2_ERROR_UNKNOWN_LANG)
313- fixed typo in the MDB Admin container [quote() =&gt; getTextValue()]
314- fixed typo in db admin containers ($this-&gt;queries =&gt; $this-&gt;_queries)
315- in the gettext admin container
316- fixed many bugs in the gettext admin container:
317  * fixed old field [remove &quot;windows&quot;, add &quot;encoding&quot;]
318  * fixed error in remove() [can&apos;t pass by reference]
319  * fixed typo in update() [$stingID =&gt; $stringID]
320  * in _add(), create the domains on demand
321  * handle stale cache
322- many fixes/updates to the xml container:
323  * init() accepts an array as parameter (not a string)
324  * added &apos;save_on_shutdown&apos; option
325    (you can choose to save in real time, now)
326  * return Translation2 errors with numeric codes
327  * added &apos;encoding&apos; field
328  * added removeLang()
329  * other minor fixes and tweaks
330   </notes>
331  </release>
332  <release>
333   <version>
334    <release>2.0.0beta5</release>
335    <api>2.0.0beta5</api>
336   </version>
337   <stability>
338    <release>beta</release>
339    <api>beta</api>
340   </stability>
341   <date>2004-12-24</date>
342   <license uri="http://www.php.net/license">PHP License</license>
343   <notes>
344- renamed createNewLang() to addLang()  [BC break!]
345- renamed addLangToAvailList() to addLangToList()
346- added Translation2_Admin::getPageNames()
347- added Translation2_Admin::updateLang()
348- fixed bug #2890: getLang() raised a NOTICE if setLang() was not called before
349- fixed bug #2972: CacheLiteFunction decorator not handling
350  parameter subtitution as expected
351- updated dataobjectsimple container (alank)
352- some internal minor fixes and tweaks
353   </notes>
354  </release>
355  <release>
356   <version>
357    <release>2.0.0beta6</release>
358    <api>2.0.0beta6</api>
359   </version>
360   <stability>
361    <release>beta</release>
362    <api>beta</api>
363   </stability>
364   <date>2005-01-30</date>
365   <license uri="http://www.php.net/license">PHP License</license>
366   <notes>
367- added Translation2::getRaw()
368- fixed bug #3068: Translation2_Admin::update() on multiple tables didn&apos;t insert
369  new records for missing langs, only updated the existing ones.
370- fixed bug #3149: XML container didn&apos;t properly handle redundant strings
371- added TRANSLATION2_DTD constant to the xml container (thanks to Olivier Guilyardi)
372- added t2xmlchk.php script to check if a XML file is Translation2 compliant
373  (thanks to Olivier Guilyardi)
374- added ErrorText decorator
375   </notes>
376  </release>
377  <release>
378   <version>
379    <release>2.0.0beta7</release>
380    <api>2.0.0beta7</api>
381   </version>
382   <stability>
383    <release>beta</release>
384    <api>beta</api>
385   </stability>
386   <date>2005-06-28</date>
387   <license uri="http://www.php.net/license">PHP License</license>
388   <notes>
389- added some options to the DefaultText decoration, now it is more customizable
390  (thanks to Rolf &apos;Red&apos; Ochsenbein)
391- added a __clone() method to clone the internal object references
392  (bug #3641, patch by Olivier Guilyardi)
393- Some fixes to the XML container, many thanks to Olivier Guilyardi:
394  * fixed bug #3408: empty data sets were not correctly handled;
395  * fixed bug #3420: get a shared file lock instead of an exclusive one;
396  * fixed bug #3498: saveData() is not registered multiple times as shutdown
397    function anymore; optimized saving when save_on_shutdown is set to false.
398- added blank_on_missing option to the gettext container, which makes it
399  behave like the other containers and automatically disables native mode;
400  * see bug #4002
401- fixed bug #4476: gettext container not working without the gettext extension
402  (thanks to sergey at pushok dot com)
403- added setContainerOptions() method to alter some container options after
404  the object instantiation (bug #2508)
405- some minor fixes
406   </notes>
407  </release>
408  <release>
409   <version>
410    <release>2.0.0beta8</release>
411    <api>2.0.0beta8</api>
412   </version>
413   <stability>
414    <release>beta</release>
415    <api>beta</api>
416   </stability>
417   <date>2005-10-04</date>
418   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
419   <notes>
420- changed license to BSD
421- removeLang() used to drop the entire table if there weren&apos;t any languages left.
422  Now it does so only if the $force parameter is set (request #4218 and #5142)
423- Translation2_Decorator now extends Translation2
424- fixed warning with the CacheLiteFunction decorator and PHP 5.1
425   </notes>
426  </release>
427  <release>
428   <version>
429    <release>2.0.0beta9</release>
430    <api>2.0.0beta9</api>
431   </version>
432   <stability>
433    <release>beta</release>
434    <api>beta</api>
435   </stability>
436   <date>2006-02-22</date>
437   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
438   <notes>
439- Translation2_Decorator_Lang: append keys when fallback lang
440  contains more than current (request #5773)
441- Removed leftover code from the MDB admin container that caused
442  inserting the same record twice (bug #6233)
443- Better error handling and cache refreshing in the gettext driver
444  (bug #6410) [thanks to Alan Knowles and ivanwyc@gmail.com]
445- Honor global PEAR error settings in Translation2_Container::raiseError()
446  (bug #6574)
447- Added missing updateLang() proxy in Translation2_Admin_Decorator (bug #6753)
448- Added length to INDEX on TEXT column in Translation2_Admin::addLang()
449  when the dbms is MySQL (thanks to AJ Tarachanowicz)
450- Fixed UNIQUE INDEX in Translation2_Admin::addLang(), one of the two columns
451  got lost in a previous revision
452   </notes>
453  </release>
454  <release>
455   <version>
456    <release>2.0.0beta10</release>
457    <api>2.0.0beta10</api>
458   </version>
459   <stability>
460    <release>beta</release>
461    <api>beta</api>
462   </stability>
463   <date>2006-07-12</date>
464   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
465   <notes>
466- fixed bug #7058, issue with array_merge not respecting existing array keys
467- request #7736: ability to specify CacheLite group for CacheLite Decorator
468  (thanks to ajt at localhype dot net)
469- if an empty xml file is given, don&apos;t return an error (bug #7793)
470- propagate errors in getPage() and getOne() (bug #8127)
471- Fix Autoadd decorator, which was not adding entries for new string IDs for all languages,
472  which made update() to fail on those strings.
473   </notes>
474  </release>
475  <release>
476   <version>
477    <release>2.0.0beta11</release>
478    <api>2.0.0beta11</api>
479   </version>
480   <stability>
481    <release>beta</release>
482    <api>beta</api>
483   </stability>
484   <date>2006-09-07</date>
485   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
486   <notes>
487- fixed an error that would result in losing strings when getting a specific
488  language&apos;s string in Translation2_Admin_Decorator_Autoadd.
489- fixed bug #8287: addLang() SQL not compatible with MSSQL
490- fixed MDB/MDB2 test runner
491- fixed bug #8546: column/table names are not escaped in SQL queries
492   </notes>
493  </release>
494  <release>
495   <version>
496    <release>2.0.0beta12</release>
497    <api>2.0.0beta12</api>
498   </version>
499   <stability>
500    <release>beta</release>
501    <api>beta</api>
502   </stability>
503   <date>2006-12-15</date>
504   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
505   <notes>
506- force MDB2_FETCHMODE_ORDERED in Translation2_Container_mdb2::getPage() to
507  avoid error when using an existing db connection with fetchmode set to
508  MDB2_FETCHMODE_ASSOC (bug #8734)
509- force lowercase keys in fetchLang() for Oracle compatibility (bug #8915)
510- added defaultGroup to cache_lite options
511- added new $options optional parameter to addLang() to set charset/collate info
512  (MDB2 driver only)
513- fixed bug #8546: index names are not escaped in SQL queries (DB and MDB admin
514  containers)
515- fixed dataobjectsimple container, get[Raw]Page() was returning integers as
516  keys instead of strings (thanks to Michael Henry)
517- added setCharset() method (currently only implemented in the MDB2 driver)
518- added setLang() and setCacheOption() in CacheLiteFunction decorator (request #9301)
519  (thanks to Sascha Grossenbacher)
520- fixed bug #5539: DefaultText decorator does not call _replaceParams()
521   </notes>
522  </release>
523  <release>
524   <version>
525    <release>2.0.0RC1</release>
526    <api>2.0.0RC1</api>
527   </version>
528   <stability>
529    <release>beta</release>
530    <api>beta</api>
531   </stability>
532   <date>2007-07-29</date>
533   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
534   <notes>
535- fixed bug #9855: missing call to _prepare() in setLang()
536- propagate errors in the decorators
537- fixed testsuite: added missing db_test_base.php file and
538  fixed problem with class redeclaration
539- fixed constraint creation in addLang() in the MDB2 Admin driver
540- fixed setCharset() proxy in the Decorator
541- fixed bug #11482: missing return in Translation2_Admin_Container_mdb2::addLang()
542  when the table already exists
543   </notes>
544  </release>
545  <release>
546   <version>
547    <release>2.0.0RC2</release>
548    <api>2.0.0RC2</api>
549   </version>
550   <stability>
551    <release>beta</release>
552    <api>beta</api>
553   </stability>
554   <date>2007-11-25</date>
555   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
556   <notes>
557- request #11711: added setCharset() method in the DB container
558- bug #11880: [XML driver] removing one language removes all strings for all languages
559- request #11881: getLang(..., &apos;array&apos;) now returns a &apos;lang_id&apos; alias to &apos;id&apos;
560- bug #12183: language ID &apos;0&apos; considered invalid
561- bug #12398: fixed return value of addLangToList() and updateLang() in the MDB2
562  admin container
563- request #12405: added removePage() method in the Admin module
564- added getLang() and getLangs() to the CacheLiteFunction Decorator
565- fixed the test suite
566- fixed Coding Standards
567   </notes>
568  </release>
569  <release>
570   <version>
571    <release>2.0.0RC3</release>
572    <api>2.0.0RC3</api>
573   </version>
574   <stability>
575    <release>beta</release>
576    <api>beta</api>
577   </stability>
578   <date>2007-12-05</date>
579   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
580   <notes>
581- fixed bug #12525: moved t2xmlchk.php script to / baseinstalldir
582- fixed bug #12527: rewritten CacheMemory Decorator to properly prefetch pages
583   </notes>
584  </release>
585  <release>
586   <version>
587    <release>2.0.0RC4</release>
588    <api>2.0.0RC4</api>
589   </version>
590   <stability>
591    <release>beta</release>
592    <api>beta</api>
593   </stability>
594   <date>2008-02-23</date>
595   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
596   <notes>
597- fixed bug #12703: CacheLiteFunction decorator and getLang() issue
598- fixed some E_STRICT warnings
599- fixed getStringID()
600   </notes>
601  </release>
602  <release>
603   <version>
604    <release>2.0.0</release>
605    <api>2.0.0</api>
606   </version>
607   <stability>
608    <release>stable</release>
609    <api>stable</api>
610   </stability>
611   <date>2008-05-06</date>
612   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
613   <notes>
614- fixed a few PHP5 NOTICEs
615- request #13734: added &apos;string_page_id_col_length&apos; option to set the size of the
616  pageID field in the translations table
617   </notes>
618  </release>
619  <release>
620   <version>
621    <release>2.0.1</release>
622    <api>2.0.1</api>
623   </version>
624   <stability>
625    <release>stable</release>
626    <api>stable</api>
627   </stability>
628   <date>2008-11-14</date>
629   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
630   <notes>
631- fixed bug #13933: undefined variable in the dataobjectsimple driver
632- fixed bug #14323: wrong / no error from setLang() [cwiedmann]
633- fixed bug in getLangs(), where certain formats were not recognized
634- request #14979: fluent interface for setPageID() and setParams()
635  and for setOption() and setOptions() decorator methods
636- request #15000: added SQL example in the /docs/examples dir
637   </notes>
638  </release>
639  <release>
640   <version>
641    <release>2.0.2</release>
642    <api>2.0.2</api>
643   </version>
644   <stability>
645    <release>stable</release>
646    <api>stable</api>
647   </stability>
648   <date>2009-12-27</date>
649   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
650   <notes>
651- fixed bug #16787: charset and collation options are ignored on i18n table creation
652   </notes>
653  </release>
654  <release>
655   <version>
656    <release>2.0.3</release>
657    <api>2.0.2</api>
658   </version>
659   <stability>
660    <release>stable</release>
661    <api>stable</api>
662   </stability>
663   <date>2010-10-25</date>
664   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
665   <notes>
666Automatically built QA release
667Req #16787 default &apos;latin1_swedish_ci&apos; db created with collation set to
668utf8_unicode_ci - quipo
669   </notes>
670  </release>
671  <release>
672   <version>
673    <release>2.0.4</release>
674    <api>2.0.2</api>
675   </version>
676   <stability>
677    <release>stable</release>
678    <api>stable</api>
679   </stability>
680   <date>2010-12-06</date>
681   <license uri="http://www.debian.org/misc/bsd.license">BSD</license>
682   <notes>
683QA release
684Bug #18081 	Translation2.php installed in the wrong place
685   </notes>
686  </release>
687 </changelog>
688</package>
689