There are in fact two kinds of error pages that WebView can display. The first kind are the error pages generated by WebView itself. These pages are displayed when WebView for some reason can't connect to the server, for example, if you try navigate while the device is in Aeroplane mode. These pages are localized--at least on KitKat and Lollipop where I've just checked, but I'm pretty sure on earlier versions also. The only issue is that instead of a readable error description WebView displays a cryptic error tag, e.g. "net::ERR_NAME_NOT_RESOLVED", which is indeed not localized (in fact, this is just the name of a constant in Chromium code). You can display your own error page if you override WebViewClient.onReceivedError
callback.
Now, there is also the second kind of error pages--the error pages received from servers, e.g. "404 Not found" or "500 Server error". Localization of these pages is servers' responsibility. The only caveat is that the server needs to somehow know the language that you want it to use (e.g. via a cookie, or a query parameter, that largely depends on the server you use). If a server doesn't provide sending localized error pages, there is not much you can do about it, as WebView doesn't actually tell you, if it has received a page with HTTP error status. The best you can do is reading the page title via WebView.getTitle
or retrieving the page contents (which is unfortunately also non-trivial, see how to get html content from a webview?)