Does this kind of translation show a lack of understanding of English, or a lack of understanding of programming?

Is This a Case of Not Knowing English or Not Knowing Code?
"Programming C#: Build Cloud, Web, and Desktop Applications" is actually a pretty solid C# tutorial. Compared to most books in its category, it’s got a couple of real strengths: tons of well-chosen, approachable examples; some genuinely insightful programming ideas; sharp, illuminating coverage of the latest C# features; and special callouts for those especially tricky error-prone spots. Whether you’re just starting out or looking to sharpen your skills or simply want to get a feel for what’s new in the world of C#, there’s a lot to like.
Too bad, then, that the Chinese translation—"C#编程,构建云,Web和桌面程序", courtesy of Chen Ying, Li Jihong, and Jia Aiguang—turns the whole thing into a bit of a mess. Sure, the code and most of the content are just barely decipherable, but the flow is nothing like the original—it’s clunky, awkward, sometimes completely impenetrable unless you cross-check with the English version. And when you do, you start to wonder: did these three actually not understand English, or was it the programming that stumped them? Some of their “creative” translations are honestly so wild, it’s hard to tell.
Take the heading for section 2.8.1 in the Chinese edition: “更具体的时间”—something like “A More Specific Time.” It has nothing whatsoever to do with the context. It sounds like a throwaway line that wandered in from another book. The original English is "Getting more specific with when"—which, in this context, is talking about using "when" clauses in case statements to match things more precisely. For example:
case (int w, int h) when w > h:
Console.WriteLine("Landscape");
break;
Now, if the translators had a grasp of English, would they really turn “Getting more specific with when” into “A More Specific Time”? Where did "time" even come from? And how about "with"? And if they’d dabbled in programming even a little, just glancing at the example code, they’d realize the "when" here isn’t about time at all—it’s the C# keyword. So what happened? Why go with a translation that’s not just sloppy but actively misleading for beginners? Honestly, I have no idea.
I remember what Lu Xun once said: “I don’t hesitate to assume the worst about people, but I won’t make a federal case out of it.” I feel the same way.

