Recently i had trouble getting my zypper to talk in Slovak despite the correct locale set (using export LANG=sk_SK.utf8). I was so desperate after some time of searching for the cause that i even filed a bug report.
Well, it turned out that i forgot about one more variable, the LANGUAGE. This defines a language preference list and takes higher priority that LANG, or LC_* variables. Mine was set to en_US (i don't know why, though) :O(
So the fix for me was either to unset the LANGUAGE variable, or include sk in its value. Read more about this variable here.