ESOUI

ESOUI (https://www.esoui.com/forums/index.php)
-   General Authoring Discussion (https://www.esoui.com/forums/forumdisplay.php?f=174)
-   -   Custom Localizations (https://www.esoui.com/forums/showthread.php?t=5290)

ZOS_ChipHilseberg 11/19/15 09:41 AM

Custom Localizations
 
Over the past few weeks we have implemented a secure system to supply custom localizations for ESO. Here are the steps for setting up a custom localization:
  1. Choose a prefix for your language. Any two letter string is valid, but we would recommend sticking to the official language codes.
  2. In the addons folder make an “EsoUI” folder, and then a “lang” folder inside of that.
  3. Inside the “lang” folder make <prefix>_pregame.str and <prefix>_client.str files. These files will contain UTF-8 encoded text.
  4. Fill out the .str files with lines of the form: [<stringId>] = “text”. For example: [SI_ACCOUNT_NAME] = “Translated Account Name”.
  5. In the addons folder make a “gamedata” folder, and then a “lang” folder inside of that.
  6. Inside the “lang” folder place a translated <prefix>.lang file.
  7. Set the game language to your new prefix and the game will load your localization files.
The goal is to get this into the next patch right now. Please leave any questions or feedback here.

ZOS_ChipHilseberg 11/19/15 09:42 AM

The changes from the last post are it no longer only supports a specific set of custom languages, and it now supports pregame.

sirinsidiator 11/19/15 10:11 AM

This sounds great and I have two questions.
Does this affect the variable expansion of $(language) in the addon metafile in any way?
And will GetCVar("language.2") return the custom language code as it has in the past?

ZOS_ChipHilseberg 11/19/15 10:21 AM

Yes to both. We are loading $(language)_pregame.str and $(language)_client.str.

TERAB1T 11/19/15 02:48 PM

In Russian localization we use custom fonts (because ESO doesn't support cyrillic charset). How can we replace default fonts with our custom fonts in pregame, loadscreens, Crown Store and other places that don't support public API?

ZOS_ChipHilseberg 11/19/15 04:57 PM

Hmm, that's a stickier problem. I'll have to give some thought to it.

ZOS_ChipHilseberg 11/19/15 05:05 PM

We could potentially do something like:

[Font:ZoFontGame] = "xyz.otf|32"

Where this would make a font object with the name and descriptor. Would that be sufficient?

TERAB1T 11/20/15 06:00 AM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 24329)
We could potentially do something like:

[Font:ZoFontGame] = "xyz.otf|32"

Where this would make a font object with the name and descriptor. Would that be sufficient?

Thanks for your response. This will work perfectly for files:
  • \esoui\libraries\globals\defaultfontdefs.xml
  • \esoui\libraries\globals\keyboard\defaultfontdefs_keyboard.xml
  • \esoui\libraries\globals\gamepad\defaultfontdefs_gamepad.xml

But we also have some font definitions in other places:
  • \esoui\app\loadingscreen\gamepad\gamepadloadingscreen.xml
  • \esoui\app\loadingscreen\sharedloadingscreen.xml (font="EsoUi/Common/Fonts/Univers67.otf|20|soft-shadow-thick" in "$(grandparent)ZoneDescription" and so on)
  • \esoui\internalingame\market\gamepad\marketclasses_gamepad.xml
  • \esoui\internalingame\market\keyboard\marketclasses_keyboard.xml
  • \esoui\internalingame\marketannouncement\keyboard\marketannouncement_keyboard.xml
  • \esoui\overlay\gamepad\overlayfontdefs_gamepad.xml
  • \esoui\overlay\keyboard\overlayfontdefs_keyboard.xml
  • \esoui\pregame\charactercreate\keyboard\zo_charactercreate_keyboard.xml
  • Chat Bubbles
  • and function ZO_TooltipStyledObject:GetFontString(...) for gamepad UI

These places potentially may have problems with fonts replacement, so please check them too.

ZOS_ChipHilseberg 11/20/15 01:46 PM

Alright. The font directive is implemented as specified and we've moved those outlying font objects into the default def files.

TERAB1T 11/20/15 01:57 PM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 24331)
Alright. The font directive is implemented as specified and we've moved those outlying font objects into the default def files.

Thank you. You rock :)

CradonWar 11/25/15 12:06 PM

Turkish team leader here! First of all, thank you so much Chip. And I have a question for you. Can we have our own chat channels? I think /<prefix>zone or /$(language)zone should work. Generic channels would be good.

TERAB1T 11/30/15 09:35 AM

I've remembered two things about unsupported languages:

1. Technical support. You can't access to support, if your language is not en/de/fr. Can you make something like (pseudo code):

if (unsupported_language) support = en;

2. Cinematic intro. If you launch game for the first time with unsupported language, you will see only black screen after login instead of character selection. Because game cannot find file \Video\Opening_Cinematic_[custom_language].bik. Can you add check for file existence, and if it doesn't exist, load English version of intro?

TERAB1T 11/30/15 10:02 AM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 24329)
[Font:ZoFontGame] = "xyz.otf|32"

And the most important question. Where do we need to put these fonts definitions?

TERAB1T 11/30/15 11:14 AM

Patch have been downloaded, but language selection still locked to en/fr/de. What do we need to do to enable our languages?

ZOS_ChipHilseberg 11/30/15 12:52 PM

Quote:

Originally Posted by TERAB1T (Post 24467)
I've remembered two things about unsupported languages:

1. Technical support. You can't access to support, if your language is not en/de/fr. Can you make something like (pseudo code):

if (unsupported_language) support = en;

2. Cinematic intro. If you launch game for the first time with unsupported language, you will see only black screen after login instead of character selection. Because game cannot find file \Video\Opening_Cinematic_[custom_language].bik. Can you add check for file existence, and if it doesn't exist, load English version of intro?

1) The things that use the ingame browser right now will no longer do that in the coming future.

2) We added $(officialLanguage) and made use of that to load the right video.

ZOS_ChipHilseberg 11/30/15 12:53 PM

Quote:

Originally Posted by TERAB1T (Post 24471)
Patch have been downloaded, but language selection still locked to en/fr/de. What do we need to do to enable our languages?

Looks like there was a small patch in between the one we were targetting. It isn't in this patch. We'll try to get a more concrete estimate.

ZOS_ChipHilseberg 11/30/15 12:54 PM

Quote:

Originally Posted by TERAB1T (Post 24468)
And the most important question. Where do we need to put these fonts definitions?

It's the same as other font definitions. You specify the path.

ZOS_ChipHilseberg 11/30/15 05:00 PM

Quote:

Originally Posted by CradonWar (Post 24384)
Turkish team leader here! First of all, thank you so much Chip. And I have a question for you. Can we have our own chat channels? I think /<prefix>zone or /$(language)zone should work. Generic channels would be good.

This one is not likely. Sorry.

CradonWar 12/02/15 04:24 AM

Quote:

Originally Posted by ZOS_ChipHilseberg (Post 24475)
Looks like there was a small patch in between the one we were targetting. It isn't in this patch. We'll try to get a more concrete estimate.

Is there any date? We're waiting for almost a month.

ZOS_ChipHilseberg 12/02/15 11:58 AM

Quote:

Originally Posted by CradonWar (Post 24494)
Is there any date? We're waiting for almost a month.

The work necessary to make this a real feature was wide reaching so we're being very careful to make sure it is as bug free as possible. We'll let you know as soon as it is officially assigned to a patch.


All times are GMT -6. The time now is 04:46 AM.

vBulletin © 2024, Jelsoft Enterprises Ltd
© 2014 - 2022 MMOUI