Epiphanic Networks' Wikka : XMLLingua

Home :: Categories :: PageIndex :: RecentChanges :: RecentlyCommented :: Login/Register
Most recent edit on 2007-07-23 15:30:31 by KogAdmin [addendum]

Additions:
~- XML tools (in theory) support multi-byte characters



Edited on 2007-07-23 15:14:08 by KogAdmin [add link to new schema]

Additions:
~- DTD/Schema (XSD) validation ensures correctness
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE package SYSTEM "dtd/language.dtd">
<package author="Greg Feigenson" version="1" description="Language package 1">
        <lang tag="en_us">
                <description>English: United States</description>
                <dictionary>
                        <entry key="welcome">Welcome aboard Dave</entry>
                        <entry key="username">Hal9000</entry>
                        <entry key="test">Would you like to hear a song I learned in school?</entry>
                        <entry key="error">I'm sorry Dave, I'm afraid I can't do that</entry>
                        <entry key="success">Action successful</entry>
                </dictionary>
        </lang>
</package>




Edited on 2006-03-31 23:44:50 by KogAdmin [XMLLingua PHP4 goes release]

Additions:
~- XML is human readable

History

While working on InfoExchange and Eliberation I thought a lot about translation tools. I was not, and am still not, well versed with "traditional" means of providing internationalization such as GNU's gettext or other methods. I've looked at gettext, and it seems to be rather hackish and not particularly scalable.
For reasons listed below I decided on XML as my storage format. Once that was decided I went to work on developing a PHP toolset for building and translating language packs. I fiugred that InfoExchange was probably too simple to make use of XMLLingua, but that Eliberation might benefit from the language packs (as well as a rewrite necessary to use such packs) as there was already an Italian usergroup rather excited about the prospects of E-Liberate. I had also been approached after a lecture by a group from a computer lab building community software that was interested - but they never returned my emails.

Why XML?

1 XML is human readable
2 It solves any UTF issues
3 Just about every sane language has a standard way of dealing w/ XML
4 It's not as hackish as most parser/generators
5 It's not proprietary
6 DTD validation ensures correctness
7 XSLT allows for pretty printing/display
8 It's flexible
9 Gettext (heh)

Project Status

Links

Theoretically you can write software in nearly any language to facilitate creation of the package. When you're done with the packages then you need to figure out how to integrate them into your application. My suggestion, and my current usage, is to use phrase tokens like $dict[key], but I'm not quite sure this is the easiest way... I'll have to do more thinking.
FIXME: doesn't work on PHP5, the current test environment




Edited on 2006-03-27 15:39:20 by KogAdmin

Additions:
FIXME: doesn't work on PHP5, the current test environment



Oldest known version of this page was edited on 2005-06-09 02:17:50 by KogAdmin [import of mediawiki content]
Page view:
XML Lingua is an effort to provide easier internationalization for any sort of project. XMLL comes with an associated XML schema for building packages. Eventually my PHP tools for writing new dictionaries, editing dictionaries/packages and creating translation packages will be complete. Right now it will create a translation dynamically and I'm working on the new dictionary and edit dictionary code. More will be published when the project is closer to completion.

Theoretically you can write software in nearly any language to facilitate creation of the package. When you're done with the packages then you need to figure out how to integrate them into your application. My suggestion, and my current usage, is to use phrase tokens like $dict[key], but I'm not quite sure this is the easiest way... I'll have to do more thinking.



This page is CategoryXMLLingua
Valid XHTML 1.0 Transitional :: Valid CSS :: Powered by Wikka Wakka Wiki 1.1.6.3
Page was generated in 0.1984 seconds