3 ms·
So its bad because other people won't localize their programs which might run yours? I can see that being a sadly accurate answer. Thank you for your clarific
by genericuser 11y ago
So its bad because other people won't localize their programs which might run yours? I can see that being a sadly accurate answer. Thank you for your clarification, assuming I read that correctly.
Although I think a more ideal solution to this problem would be if they are going to run your software they should be using the same library to provide input to it so that they can just specify the machine command (as their software doesn't need to be coded to provide short easy to read commands, like are ideal for a human) to look up the local language command, and give your program the command that will map back to the machine command in their local language where ever it is run. If both a machine and a human will be using your software, wouldn't optimizing for the human be ideal, even if it involves another look up or function call for the machine?
- mikeash 11y agoThat's one potential problem, yes. For your solution of running through the same mapping library on both ends, that works, but it transforms the scripting language into something dramatically different from writing commands on the command line. The beauty of shell scripting (and, I would argue, the only thing that even makes it worth doing at all) is that you write the same commands in the script that you would write interactively.
- genericuser 11y agoSo another dumb question, how do we get from it being a very bad thing in shell scripting to it being a very bad thing in general as the post states? By the way thank you again for taking the time to answer my questions, I do appreciate it as these are honestly things I am wondering. I seem to be getting down voted because I am so stupid, but at least you are helping me learn to be less stupid on this subject (which believe it or not everyone else the down votes don't actually accomplish).
- mikeash 11y agoI don't see any dumb questions on your part. Maybe some differences of opinion. Don't ask me about the downvotes. I personally only downvote stuff that's deeply counterproductive. But it seems other people are more twitchy with them. Anyway, I take the post as just saying that internationalization is bad for shell commands, not necessarily for other things. Shell commands are unusual in that they are both a programming interface and a human interface. That puts strange constraints on them that don't show up elsewhere. For things that are clearly just a human interface (for example, a GUI app) you definitely want to localize. For things that are clearly just a computer interface (for example, a REST API) you definitely don't want to. But how do you deal with something like this where it's half and half? Trying to optimize for one use case can hurt the other, which is what this post is trying to show.
- deleted 11y ago[deleted]