Sitecore internally uses the current language in the cache key so the above approach will work fine for different language versions as well. It treats every sublayout or rendering as a different version in each language.
The layout engine implements caching by retrieving the output that is previously generated by a component based on the language version, under similar conditions, instead of invoking the component again. By default, the layout engine executes each presentation component for each HTTP request, without any output caching. So it will work fine in every language.