yeah i had fun with that one. i wrote a little tool that generates a complete timezones and offsets and start-end from a data source... let me see if i can dig it up to help
https://github.com/mleku/timelanguage
this already has mostly current data on it. you need to run the "generator.go" function in the "data" directory after deleting the two json files in there to make it regenerate. takes a minute or two for it to do it.
the languages are also part of the locale data, and includes currencies and phone codes and iso country codes and all that.
it actually generates a plain one with just the time zones data
the offsets are in seconds, and the start/end for places with DST are unix timestamps of the current next start/end
i hope it helps. you can use it as is but i recommend you write some script to make it regenerate it every 3 months or so because who knows what the fuck governments are gonna do in that time lol