LibTime-1.0

4.2k Downloads

[BUG]: The release version doesn't include locales

maqjav opened this issue · 9 comments

commented

WoW client

WoW Retail

What happened?

Hello!
I downloaded the ZIP released in github and curseforge, and the latest version doesn't include localizations, the LUA file is empty.

do
	local L = lib.countryLocalizedNames;
	if LOCALE_deDE then

	elseif LOCALE_esES then

	elseif LOCALE_esMX then

	elseif LOCALE_frFR then

	elseif LOCALE_itIT then

	elseif LOCALE_koKR then

	elseif (LOCALE_ptBR or LOCALE_ptPT) then

	elseif LOCALE_ruRU then

	elseif LOCALE_zhCN then

	elseif LOCALE_zhTW then

	end
end

Cheers.

Lua Error Message?

No response

Other addons?

No response

commented

Apparently the version r36 is still crashing.

This is the new log:

2x ...RareScanner/ExternalLibs/LibTime-1.0-36/LibTime-1.0.lua:98: attempt to index field 'countryLocalizedNames' (a nil value)
[string "@RareScanner/ExternalLibs/LibTime-1.0-36/LibTime-1.0.lua"]:98: in function `?'
[string "@RareScanner/ExternalLibs/LibTime-1.0-36/LibTime-1.0.lua"]:127: in function <...RareScanner/ExternalLibs/LibTime-1.0/LibTime-1.0.lua:125>
[string "=[C]"]: ?

I don't know if maybe these users have several addons with the same library and something is messed up.

commented

I could reproduce the error installing Broker_Everything 4.5.10 and RareScanner (and loading the game in spanish).
I guess that the old code in Broker_Everything is still setting countryLocalizedNames to nil, so you have to take into account that if other addons are using the same library, the problem will show up.

In the meantime I'm going to add a fix to the library in my addon so I can release a working version, otherwise users are going to be very mad ;)

EDIT: I attached my fix, but I'm sure you can do it better (LibTime-1.0.lua.zip) ;)
I also added the spanish translations to your site so you can add them if you want.

commented

Broker_Everything get the new version with next update. :-)

commented

That depends on the localization page on curseforge.
113 Entries and 0% translated into other languages.

:-/

commented

Maybe it doesn't use the english values by default?
I'm getting a report of someone playing in french that is getting this error:

6x ...RareScanner/ExternalLibs/LibTime-1.0-35/LibTime-1.0.lua:94: attempt to index field 'countryLocalizedNames' (a nil value)
[string "@RareScanner/ExternalLibs/LibTime-1.0-35/LibTime-1.0.lua"]:94: in function `?'
[string "@RareScanner/ExternalLibs/LibTime-1.0-35/LibTime-1.0.lua"]:127: in function <...RareScanner/ExternalLibs/LibTime-1.0/LibTime-1.0.lua:125>
[string "=[C]"]: ?

He says that replacing the library included in my addon with the library included in Broker_Everything, that apparently includes all the traslations, fixes the issue.

You can read the whole thread here.

Cheers.

commented

I see the problem in event execution. The code around line 94 should only be executed one time. I don't know why event VARIABLES_LOADED is trigger multible. I move the part to PLAYER_LOGIN and remove the "lib.countryLocalizedNames = nil". That should avoid the error.

I see no reason to copy&paste the version from Broker_Everything. It does not contains localized county names too. Or do you have another source of Broker_Everything? Offical sources are Github, Curseforge, WoWInterface and Wago.io.

Some years ago i've found modified versions on korean websites with completed korean localization and added it to my version of Broker_Everything. ;-)

commented

Hello!
Great! I will give it a shot.

The version of Broker_Everything published in Curseforge includes translations in german, french, russian, korean and chinesse (it's missing spanish, italian and portuguese). And the idea of replacing my version with that one is because the user that plays in french that reported the error confirms that with those strings it works.

My addon doesn't use those translations at all, but I assume that like the game is loading my version (because RareScanner comes after Broker), the user might be getting the error because Broker_Everything probably requires them.

Cheers

commented

I haven't developed a library before so I'm not sure how they instantiate, but maybe like this user has 2 addons that includes the library, is it possible that each addon triggers that event?, once with Broker_Everything, and once with RareScanner, finding the nil table in my case because Broker_Everything set it to nil before.

Your change should work anyway ;)

commented

Oh 🤦 Now i've saw it. But that was the wrong localization entries. The lib in Broker_Everything has localization entries from Broker_Everything and not from LibTime.

I still have to change that. :-/