Winamp Plug-in Language File Generator

Home The Plug-ins Plug-in Releases Plug-in Pack News / Updates Other Projects Contact / Donations


The Winamp Plug-in Language File Generator is a small tool intended for plug-in developers and translators (as of v2.0) to use when creating and maintaining Winamp language packs. For plug-in developers this is able to be run as part of the plug-in's build process or externally to generate a langauge file compatible with Winamp 5.5+ clients. For translators there are commands allowing for creating differentials between client releases to determine changes in resources or to update the HASH sections of the generated language file


Why would i want to use this?

The simple answer is because localisation is good for the user. Having Winamp completely localised in the user's own language typically makes for a better consistant user experience. It can also increase the potential userbase of plug-ins if users are able to understand all of the features in their own language. Localisation support is no guarantee of more people using your plug-in but it often improves the likelihood of it being suggested by other users.


How do i get the tool?

Download v2.2 (changelog)


How do i use the tool?

Below is the help message from the build tool and should provide enough details on how to use it.



What do i do with the generated language files? (for plug-in developers)

As long as you've updated you plug-in to use the api_language method of localisation, all you need to do is provide this file for localisers to be able to use it and that's generally it. If the plug-in is popular then the language file is likely to be included in official language packs otherwise (if using 5.57+ clients) then the langauge file can be placed into %language_folder%\%language_identifier% (e.g. C:\Program Files\Lang\de-de for use with the german language pack).


Anything else i need to know?
(for plug-in developers)


If you haven't already updated your plug-in to use the api_language interface (requires a 5.5+ client to work) then you will need to look at the gen_lang_example example which shows how to use the api_language interface. However if you really don't want to use it then you can always implement your own language file loader but that is something not covered here.

(for translators)

The differential tool should make it easier to determine differences between your language files and a given Winamp client. However as v2.0 is essentially a v1.0 as far as the differential code works, there may be some issues so please let me know (and provide full examples including files) if the tool does not recognise differences correctly as expected.


Changelog

v2.2 [29/06/2010] - Fixed /wlz not copying dialog resources correctly in all cases - is now bit perfect in copying
- Fixed /diff not working correctly in all scenarios (related to /wlz fixes)
- Added auto-updating of known entries in wlz_list.ini (will preserve any custom added aspects)
- Updated wlz_list.ini (fixes issues with some official plugins not being handled or guid being out of date)
- Added /use_wa_ver switch to the /wlz command to append the Winamp version on the end of the working folder
- Added /exclude_img switch to the /diff command to ignore RT_BITMAP resources when comparing against a wlz
- Changed /wlz to compress the created hash zip instead of using store (the wlz is still created with store)
- Changed some of the text output to clarify or make things clearer as to what has changed
- Updated /help to be able to display just the help for single commands e.g. /help /wlz

v2.1.1 [21/06/2010] - Fixed /zipup failing due to internal buffers not being correctly set in some cases

v2.1 [21/06/2010] - Added /filename= parameter to the /build command
Fixed duplicated text and better clarified some of the help message output
- Fixed wlz and archive files could remain locked in use sometimes
- Fixed some of the actions not using the resource language type already present (mainly affected HASH section updates)
- Changed /hashit to backup the original wlz file (my_original.wlz) and create the updated file with the original filename (my.wlz) instead of my.wlz.wlz as with v2.0

v2.0 [15/06/2010] - Fixed issues copying unicode TEXT resources and standard DIALOG resources via /build
- Added functions for translators - /diff, /hashit, /hashup, /ini_tx, /wlz and /zipup
- Fixed issues copying unicode TEXT resources and standard DIALOG resources via /build
- Fixed issues with some command-line handling which could cause invalid actions to be attempted or not followed
- Changed /build to accept an option /folder= parameter to make it more flexible as per the new commands also added

v1.0 [20/01/2010] - Initial release (reduced version of the official WLZ build tool for single plug-in handling)


Questions / Issues

If you do have any questions or issues to do with this then please post in this thread and i'll do what i can to help.