I’m just getting the release candidate for Able Player 4.8 ready. This isn’t as large a release as the last one, but it does include some pretty significant changes!
The most significant changes are in internationalization and in my progress towards removing jQuery and cookies.
The release is currently scheduled for February 2nd, 2026; but could get pushed if there are new bugs in the release candidate that need fixing first.
Internationalization
Until this release, translations have existed as properties on the player object, and were just referenced in the code as keys, e.g. this.tt.mediaType. In the code, this made it difficult to know exactly what the text you were manipulating would be.
I’ve added a translation method accessed as this.translate( 'mediaType', 'Default Text', [ args ] ). This allows me to know what the translatable text is in context, and is helpful for translators to figure out how text is being used.
It also allows me to start removing the concatenated strings in Able Player. Previously, the translations were frequently fragments that were concatenated together as needed. But that’s a problem for many languages – word order and changes due to gendered languages can cause all sorts of headaches if you’re trying to handle translations this way.
As part of this process, I’ve also added a lot more translatable strings to the packages, none of which are currently translated.
To make it a little easier to see things in context, I’ve added a demo page where the player can be viewed in translation, as well.
While Able Player is translated into 20 languages (yay!), most of those language files are significantly incomplete. I could use some help getting them updated!
View the current translations on Github.
Removing the Cookie Dependency
Able Player has used cookies to allow users to set preferences. These are all purely functional cookies, but they add an extra dependency on js-cookie, and many users would prefer to just not use cookies.
In version 4.8, cookies are optional. User preferences are stored in localStorage by default. The main difference between localStorage and cookies is that cookies can be read by the server. If you’re using Able Player in a context where the server may need to store a user’s preferences, add the js-cookie dependency. If not, use localStorage.
Decreasing jQuery Dependencies
My long-term goal is to remove jQuery as a dependency. That’s still a long ways away, but as a step in that direction, I’ve reduced usage so that you can use the “slim” build of jQuery instead of the full build.
The “slim” build excludes the effects, Ajax, and deferral modules. All relevant code has been migrated to native JavaScript.
In case it’s not obvious, you can still use the full build of jQuery – but it’s not necessary.
Changelog
You can read the full changelog on Github. This is a summary of changes, but you can browse the commit history or the milestone to get details about what has changed.

Nic Steenhout
Hey Joe, I’d be happy to help a bit with French. I can’t look at your repo till Monday but I’ll dive in next week. Emailing me directly might be more reliable than comments here
Joe Dolson
@mireia That would be great! If you’re comfortable making a pull request against the develop branch of Able Player with the updates, that would be my first preference; but I can work with other options, too, if that’s not viable for you.
I looked at the example you linked to, and it’s all referencing Able Player 4.5 – which is now three versions back, so it’s hard to make a direct comparison. Are you able to describe to me exactly what the problem is and what the fix is?
@negoslav Yes! I’d certainly be happy to have a Bulgarian translation.
Negoslav
I see that Bulgarian is not in the list of translations. Are you interested? I am willing to help.
Mireia Ribera
We contributed to the Catalan translation and can update and complete it. Let us know how to proceed.
BTW: the current version has some problems of reading the subtitles with keyboard for screen readers, in Catalan a company made a small improvement to arrange that:
https://ableplayer.tothomweb.dev/index.html
I don’t know if you have covered this in this release, but it could be an improvement too.
Thanks,
Mireia
Joe Dolson
I’ll send you an email! Thank you!
Sabine Jordan
I looked at the German translation and feel that I can help to complete the translation for those terms that have not yet translated.
Please let me know how you want me to proceed.
Best regards
Sabine