Download
(162 Kb)
Download
Updated: 07/03/24 08:20 AM
Pictures
File Info
Compatibility:
Gold Road (10.0.0)
Updated:07/03/24 08:20 AM
Created:07/03/24 08:20 AM
Monthly downloads:148
Total downloads:165
Favorites:2
MD5:
Categories:Plug-Ins & Patches, Discontinued & Outdated
10.0.0
DEPRECATED: Babel - Clustered Chinese Localization Tools  Less than 3 days old!
Version: 1.038
by: MelanAster [More]
Clustered Chinese Localization Tools

集束型汉化工具

感谢以往为汉化做出贡献的大佬们,没有你们就不会有这个插件的诞生
后续将继续跟进维护并支持更多插件汉化


请支持一下 SA公会(美服 Splendid Achievers 群 452116107),谢谢喵~

顺带也支持一下 瓜儿公会(欧服 Guar Protection 群 703671761)(会长记得打钱),谢谢喵~
Optional Files (0)


Post A Reply Comment Options
Unread 07/04/24, 09:46 AM  
MelanAster
 
MelanAster's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 70
Uploads: 7
Originally Posted by Baertram
Hi MelanAster, thanks for the details and explanation.

In general I understand your idea and it might be okay to overwrite strings from external patches.
But I would not do that without asking the authors of these addons first!
It does not matter if you say "everyhting works" and "we test it to be compatible 100%". There are always things you might not know, but the addon devs know (other relating addons and API functions, things you might not even think they exist but were implemented and maybe even with a string comparison... ).
So please ask them if they can include translations or do not want to, and if they say "go ahead with your babel addon" then feel free to do add it here.



My addons
I see that some addons might be difficult to be translated as they are lacking the GetString usage but for example in case of AdvancedFilters it's not posible because of the plugin possibilities used.

If you want to have the strings added in zh language provide me the translated strings and I gladly directly add them to AF and update the addon.
Same for all of the other addons I've created and/or maintain that you'd come across with babel.


That said: Please remove AdvancedFilters and any other addon of mine/I maintain from Babel again.
If you want to add translations, feel free to write me a PM or send a pull request on Github, thank you:
https://github.com/Baertram?tab=repositories


LibStub


Sorry, makes no sense? If it's not used why (and how?) then prioritize anything?
If you want to prioritize file loading do not use an outdated library that must not be used anymore but please use proper version handling via txt manifest files.
Or if this is not possible, use another way but do not try to keep any old libraries alive, with a 999 number That will most likely bring problems as some older addons still "check for LibStub" and might fail then, or bring up bugs again.
I've decided to give up on Babel for now, but I've noticed that ESOUI doesn't seem to have a way to delete uploaded addons...

About LibStub

Babel has a mix of ways to localize, one of which is used to handle the addons that use strings immediately after loading language files.

Roughly, it hooks the last added string and then similarly performs the operation of reading $(language).lua, before the rest lua files work.
But this has a very fatal requirement, the Babel files need to be loaded before that addon.

And after some research, the order in which ESO loads the plugin files is not controllable

So this is a gimmick

Babel > LibStub (modified txt, 999 version, OptionalDependsOn Babel) > LAM > most addons

As a way to get a very high priority for loading files
Last edited by MelanAster : 07/04/24 at 10:00 AM.
Report comment to moderator  
Reply With Quote
Unread 07/04/24, 09:13 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 5092
File comments: 6163
Uploads: 78
Hi MelanAster, thanks for the details and explanation.

In general I understand your idea and it might be okay to overwrite strings from external patches.
But I would not do that without asking the authors of these addons first!
It does not matter if you say "everyhting works" and "we test it to be compatible 100%". There are always things you might not know, but the addon devs know (other relating addons and API functions, things you might not even think they exist but were implemented and maybe even with a string comparison... ).
So please ask them if they can include translations or do not want to, and if they say "go ahead with your babel addon" then feel free to do add it here.



My addons
I see that some addons might be difficult to be translated as they are lacking the GetString usage but for example in case of AdvancedFilters it's not posible because of the plugin possibilities used.

If you want to have the strings added in zh language provide me the translated strings and I gladly directly add them to AF and update the addon.
Same for all of the other addons I've created and/or maintain that you'd come across with babel.


That said: Please remove AdvancedFilters and any other addon of mine/I maintain from Babel again.
If you want to add translations, feel free to write me a PM or send a pull request on Github, thank you:
https://github.com/Baertram?tab=repositories


LibStub
Babel carries the LibStub library, not to use it, but to prioritize file loading
Sorry, makes no sense? If it's not used why (and how?) then prioritize anything?
If you want to prioritize file loading do not use an outdated library that must not be used anymore but please use proper version handling via txt manifest files.
Or if this is not possible, use another way but do not try to keep any old libraries alive, with a 999 number That will most likely bring problems as some older addons still "check for LibStub" and might fail then, or bring up bugs again.
Last edited by Baertram : 07/04/24 at 09:15 AM.
Report comment to moderator  
Reply With Quote
Unread 07/04/24, 06:11 AM  
code65536
AddOn Author - Click to view AddOns

Forum posts: 21
File comments: 411
Uploads: 40
Originally Posted by MelanAster
Originally Posted by code65536
Originally Posted by MelanAster
We don't mean to be rude, but there are actually at least 24 missing string localizations as of version 2.0.9.1 of Code's Combat Alerts (counting the two new ones added in 2.0.9.1) in zh.lua (Because many of the original providers have retired from ESO)
I'm not sure what you mean. Every string in CCA's Engish l10n file is also in the Chinese one (except for the title, which is not translated). More importantly, the when I looked at Babel, every translated string provided by Babel for CCA is in 2.0.9.1, so any missed translations in 2.0.9.1 are also missed in Babel.

If there are strings that you feel like have been poorly translated, please should let me know and I'll correct them.

Of course, not all of the text used in CCA exists in l10n, since the strings there are only for general things like the settings panel.

The localization within each module is handled differently, and the person who provided the translation for the general addon only provided module translations for the U42 module, which is why there are still a number of untranslated strings. However, it is not possible for an external addon to modify the localization strings within the modules, so the only way to add these strings is to submit them to me for inclusion.

Finally, things in CCA-legacy should not be translated because most of that will be changed/moved.
I'm very sorry, I found myself confusing CombatAlerts with another addon, and it doesn't really fit the way Babel integrates localization
In any case, if you do want to provide translations for the actual alerts found in CCA's modules, I will always welcome localization contributions.
Report comment to moderator  
Reply With Quote
Unread 07/04/24, 06:06 AM  
MelanAster
 
MelanAster's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 70
Uploads: 7
Originally Posted by code65536
Originally Posted by MelanAster
We don't mean to be rude, but there are actually at least 24 missing string localizations as of version 2.0.9.1 of Code's Combat Alerts (counting the two new ones added in 2.0.9.1) in zh.lua (Because many of the original providers have retired from ESO)
I'm not sure what you mean. Every string in CCA's Engish l10n file is also in the Chinese one (except for the title, which is not translated). More importantly, the when I looked at Babel, every translated string provided by Babel for CCA is in 2.0.9.1, so any missed translations in 2.0.9.1 are also missed in Babel.

If there are strings that you feel like have been poorly translated, please should let me know and I'll correct them.

Of course, not all of the text used in CCA exists in l10n, since the strings there are only for general things like the settings panel.

The localization within each module is handled differently, and the person who provided the translation for the general addon only provided module translations for the U42 module, which is why there are still a number of untranslated strings. However, it is not possible for an external addon to modify the localization strings within the modules, so the only way to add these strings is to submit them to me for inclusion.

Finally, things in CCA-legacy should not be translated because most of that will be changed/moved.
I'm very sorry, I found myself confusing CombatAlerts with another addon, and it doesn't really fit the way Babel integrates localization
Report comment to moderator  
Reply With Quote
Unread 07/04/24, 05:11 AM  
code65536
AddOn Author - Click to view AddOns

Forum posts: 21
File comments: 411
Uploads: 40
Originally Posted by MelanAster
We don't mean to be rude, but there are actually at least 24 missing string localizations as of version 2.0.9.1 of Code's Combat Alerts (counting the two new ones added in 2.0.9.1) in zh.lua (Because many of the original providers have retired from ESO)
I'm not sure what you mean. Every string in CCA's Engish l10n file is also in the Chinese one (except for the title, which is not translated). More importantly, the when I looked at Babel, every translated string provided by Babel for CCA is in 2.0.9.1, so any missed translations in 2.0.9.1 are also missed in Babel.

If there are strings that you feel like have been poorly translated, please should let me know and I'll correct them.

Of course, not all of the text used in CCA exists in l10n, since the strings there are only for general things like the settings panel.

The localization within each module is handled differently, and the person who provided the translation for the general addon only provided module translations for the U42 module, which is why there are still a number of untranslated strings. However, it is not possible for an external addon to modify the localization strings within the modules, so the only way to add these strings is to submit them to me for inclusion.

Finally, things in CCA-legacy should not be translated because most of that will be changed/moved.
Last edited by code65536 : 07/04/24 at 05:37 AM.
Report comment to moderator  
Reply With Quote
Unread 07/04/24, 04:20 AM  
MelanAster
 
MelanAster's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 70
Uploads: 7
Originally Posted by code65536
Code's Combat Alerts has native Chinese support in 2.0.9 and should be removed from this addon.

And as Baertram said, it's preferable that translations get added to the addons themselves, rather than be added by external extensions.
We don't mean to be rude, but there are actually at least 24 missing string localizations as of version 2.0.9.1 of Code's Combat Alerts (counting the two new ones added in 2.0.9.1) in zh.lua (Because many of the original providers have retired from ESO)

Trying to keep all the localization updates to the addon in sync is nearly impossible, especially for plugins that support a particularly large number of languages.

We feel that plugin authors should not be burdened with high frequency updates for a very small number of updates in localization files, and this was one of the considerations in creating Babel.

Babel can make separate incremental updates to compensate for missing parts of the localization files
Last edited by MelanAster : 07/04/24 at 04:21 AM.
Report comment to moderator  
Reply With Quote
Unread 07/04/24, 04:09 AM  
MelanAster
 
MelanAster's Avatar
AddOn Author - Click to view AddOns

Forum posts: 1
File comments: 70
Uploads: 7
Originally Posted by Baertram
!Please remove LibStub from your addon! This library is obsolete and must not be used anymore since Summerset DLC!
More details, read here: https://wiki.esoui.com/Libraries

Even if your version is changed and manipulated it must not be used anymore, so there is no need to add that to your addon here.
Thank you



ZO_CreateStringId
You must not use ZO_CreateStringId to overwrite any exisiting translation!
Example guild hall button:

Wrong:
Code:
ZO_CreateStringId("SI_GUILDHALLBUTTON_ADD_ON_COMPATIBILITY_IS_AND_7D8F8298C885E6090",'插件兼容性为 <<1>> 和 <<2>>')
ZO_CreateStringId is used ONLY once to create the first version of a translation, and that is done in 99% with the English texts.
If you want to add another translation you must not use ZO_CreateStringId but SafeAddString instead!

Correct:
Lua Code:
  1. SafeAddString(SI_GUILDHALLBUTTON_ADD_ON_COMPATIBILITY_IS_AND_7D8F8298C885E6090, '插件兼容性为 <<1>> 和 <<2>>', 2) --where 2 is the version your text should be using. Usually 1 is the defualt version if the first one created via ZO_CreateStringId


Please consider fixing this in your files and doing it the way ZOs defined it to be used, thanks.


Translation of addons that I maintain:
If you want to have a proper translation for "my addons" please contact me so I can include the translations "directly" into the addon, like AdvancedFilters.
I dislike having "external addons" messing within my addon' files to add custom translations...
That raised error messages in the past already which I have to find then as those are my addons, and I totally do not want to invest this time anymore because you guys decide to do anything non obviously in any other addon!

My addons provide a proper way to include translations, and you should contact me first before you start to create custom translations outside of the addon files.
Thank you for your understanding, and talking to me about translations in my addons.


Translations for common libraries
The same relates to addons/libraries like LibAddonMenu-2.0.
Please do not create your own hidden translations, but contact the author and let it be added there officially!

You can even use GitHub pull requests.
I'd like to talk about the reasons and ideas behind the creation of Babel below, and if Babel is unacceptable in this form, we'll take it down from ESOUI as soon as possible!

Babel was designed to emulate the process of loading $(language).lua as much as possible, as well as to deal with parts that can't be localized before. Babel will try to avoid interfering with the functionality of other addons and just do localization work.

A real dilemma is that there are large number of addons that need to be localized, but authors have their own habits for writing this feature. Some addons can't be fully localized via $(language).lua because some or all of the strings are written directly in the code.

It's also very difficult to keep up with addons updates. For the addon creators, it's impossible to wait for all the localization files to be in place before releasing a new version, unless he's responsible for all the localization himself. Even if the authors intended to update at a high frequency, it may take several times to perfect the localization for all supported languages.

And it's not easy for localization providers to know whether they need to provide new localization files or not

These reasons led us to create Babel, a form separate from addon updates.

Answer:
1) Babel carries the LibStub library, not to use it, but to prioritize file loading
2) We will use the ZO_CreateStringId, SafeAddVersion and SafeAddString functions in a more standardized way.
But truth be told, most of the existing addon localizations tend to use ZO_CreateStringId over and over again
3) While this alone is a bit of a pale promise, when creating plugin entries in Babel, we have given the highest priority to not causing problems with the original addon, and we have also considered avoiding damage to the new strings that may are added after the addon has been updated. Localization of most addons can be turned off separately in Babel
Last edited by MelanAster : 07/04/24 at 04:11 AM.
Report comment to moderator  
Reply With Quote
Unread 07/03/24, 12:53 PM  
Masteroshi430
 
Masteroshi430's Avatar
AddOn Author - Click to view AddOns

Forum posts: 186
File comments: 778
Uploads: 21
Originally Posted by code65536
Code's Combat Alerts has native Chinese support in 2.0.9 and should be removed from this addon.

And as Baertram said, it's preferable that translations get added to the addons themselves, rather than be added by external extensions.
Same for PersonalAssistant.
Report comment to moderator  
Reply With Quote
Unread 07/03/24, 11:52 AM  
code65536
AddOn Author - Click to view AddOns

Forum posts: 21
File comments: 411
Uploads: 40
Code's Combat Alerts has native Chinese support in 2.0.9 and should be removed from this addon.

And as Baertram said, it's preferable that translations get added to the addons themselves, rather than be added by external extensions.
Last edited by code65536 : 07/03/24 at 11:53 AM.
Report comment to moderator  
Reply With Quote
Unread 07/03/24, 09:41 AM  
Baertram
Super Moderator
 
Baertram's Avatar
ESOUI Super Moderator
AddOn Author - Click to view AddOns

Forum posts: 5092
File comments: 6163
Uploads: 78
!Please remove LibStub from your addon! This library is obsolete and must not be used anymore since Summerset DLC!
More details, read here: https://wiki.esoui.com/Libraries

Even if your version is changed and manipulated it must not be used anymore, so there is no need to add that to your addon here.
Thank you



ZO_CreateStringId
You must not use ZO_CreateStringId to overwrite any exisiting translation!
Example guild hall button:

Wrong:
Code:
ZO_CreateStringId("SI_GUILDHALLBUTTON_ADD_ON_COMPATIBILITY_IS_AND_7D8F8298C885E6090",'插件兼容性为 <<1>> 和 <<2>>')
ZO_CreateStringId is used ONLY once to create the first version of a translation, and that is done in 99% with the English texts.
If you want to add another translation you must not use ZO_CreateStringId but SafeAddString instead!

Correct:
Lua Code:
  1. SafeAddString(SI_GUILDHALLBUTTON_ADD_ON_COMPATIBILITY_IS_AND_7D8F8298C885E6090, '插件兼容性为 <<1>> 和 <<2>>', 2) --where 2 is the version your text should be using. Usually 1 is the defualt version if the first one created via ZO_CreateStringId


Please consider fixing this in your files and doing it the way ZOs defined it to be used, thanks.


Translation of addons that I maintain:
If you want to have a proper translation for "my addons" please contact me so I can include the translations "directly" into the addon, like AdvancedFilters.
I dislike having "external addons" messing within my addon' files to add custom translations...
That raised error messages in the past already which I have to find then as those are my addons, and I totally do not want to invest this time anymore because you guys decide to do anything non obviously in any other addon!

My addons provide a proper way to include translations, and you should contact me first before you start to create custom translations outside of the addon files.
Thank you for your understanding, and talking to me about translations in my addons.


Translations for common libraries
The same relates to addons/libraries like LibAddonMenu-2.0.
Please do not create your own hidden translations, but contact the author and let it be added there officially!

You can even use GitHub pull requests.
Last edited by Baertram : 07/03/24 at 09:59 AM.
Report comment to moderator  
Reply With Quote
Post A Reply



Category Jump: