Created
January 27, 2012 13:52
-
-
Save Deledrius/1688891 to your computer and use it in GitHub Desktop.
Localization Licensing Proposal for Cyan
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Problem -- | |
Uru has an international audience, and an extensible Localization system which allows content creators to | |
provide translated text to be utilized automatically. Unfortunately, many of the dialogs currently in Uru | |
don't take advantage of this capability and cannot be adapted to do so properly without modifying them. | |
-- What the Community Has Accomplished Thus Far -- | |
Thanks to the efforts of everyone at the UruLocalizationProject, we have a database of translations in a | |
large number of languages. Changes have been made to the code re-enabling the functions which had been | |
disabled after Untìl Uru, as well as fixes in the input routines that now allow non-US keyboards. | |
-- What the Community Needs to Continue -- | |
There are two primary allowances we need from Cyan in order to continue our efforts to expand Uru's | |
accessibility: | |
1) We need a permissive license that would allow us to copy, translate, and distribute all textual information | |
available in Uru, currently located in the .loc files. This would legalize translations and allow their | |
distribution, a necessary step to put all of the community's work into use. | |
2) We need access to the source files for all GUI used in Uru so that we can normalize their use of the | |
provided hooks in the code which they currently do not use, and a license to re-distribute at least the | |
compiled output with those fixes applied. If that is deemed impossible, an inferior solution that would | |
allow at least this specific goal is a license to modify and distribute the existing PRPs containing | |
translatable GUI items. | |
Thank you for reading and considering our proposal. | |
Following is additional technical information. | |
------------------------------------------------------------------------------------------------------ | |
-- Technical Information -- | |
The .loc files are XML files containing translations for all textual items in Uru. The ULP (http://rel.to/ulp) | |
already has an extensive library of translations and a system to export that database to Uru-ready .loc files. | |
Not all of Uru uses these however, with some values hard-coded in Python scripts or the PRPs themselves, but | |
this can be converted as the GUI items have the ability to reference the XML paths directly. Much of this | |
Python code references the GUI items by TagIDs, which are arbitrary unique numbers used to refer to the | |
resource. This is messy, as it must be updated when the GUI is updated and can otherwise become out of sync; | |
also it is problematic in the current data set as not all translatable GUI items have been assigned TagIDs, | |
meaning they must be found (if at all) by very fragile code. There is also an embedded text field in these | |
items, which currently contains only the English text. Fortunately, these items support a self-describing | |
LocalizationPath which automatically informs the Plasma engine's LocalizationManager which string to use, | |
allowing localization to be handled cleanly and consistently. All of these items are a part of the data and | |
without a license to modify and distribute the PRPs, we cannot continue with the efforts to localize Uru | |
outside of hacks and shims to the existing elegant but under-utilized engine. | |
As an additional benefit to Cyan: the changes made under the proposed licensing could be relatively easy | |
for Cyan to integrate back into their own assets without affecting current functionality. This would be | |
impossible if only binary changes are allowed to the exported PRPs rather than the .max sources, and it | |
allows Cyan to take advantage of the localization code changes in the engine once it reaches maturity in the | |
community testing with very little friction. | |
An extra note about the inferiority of the secondary suggestion in (2) which only allows modification of | |
PRPs -- The reason I mention this is inferior, aside from the obvious, is that while it would allow the | |
immediate goal of activating the built-in localization, I anticipate minor bugs such as text flow and | |
sizing in the UI when languages other than the one for which they were designed are used. These will be | |
extremely difficult to fix under the limited solution mentioned and should be far simpler under the ideal | |
of having access to the original 3D Studio Max source files. | |
-- License Suggestions -- | |
I was going to wrap up by suggesting licenses in order to lighten the load on Cyan, but as the OU Content | |
Licensing thread proves there are many viable options and they all address different needs. Unfortunately, | |
in order to find where that spot of compromise is we'll need feedback from Cyan on this point. I implore | |
Cyan, should they wish to consider this proposal, to respond with their concerns and needs first. At that | |
point tangible suggestions can be made regarding the specifics and the proposal can move forward should | |
they be agreeable. | |
At any rate, for the .loc files I'd suggest terms which preserves Cyan's ownership of the text (some of | |
which, being canon from the Myst universe, has inherent value to them), while allowing edits and | |
distribution by the community. A disclaimer stating that Cyan is only responsible for the original English | |
text may also be desirable. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment