Fix for startup error w/weird locale language tags ("de-CH@currency=EUR")

https://forums.zotero.org/discussion/37901

And just return a noop sorter on failure instead of breaking