Ask Slashdot: Do Most Programmers Understand the English Language?
Shadoefax writes "I have been developing Firefox add-ons for several years and all so far submitted to AMO have been translated (localized) into several different languages. My latest add-on is geared more to the web developer as opposed to the average web browsing user. (It is a utility for examining JavaScript Objects and their methods and properties.) By my reckoning, I believe JavaScript, HTML, CSS and the DOM are all pretty much designed to be easily understood by English language readers. My question is this: Can I assume that most programmers understand the English language well enough that I may forego localizing the UI? While this will save time, effort and bloat, it may also restrict the usage of (what I hope) is a useful tool for developers."
Reader Cenan provides an interesting response from the perspective of a developer for whom English is not a first language:
"I am a developer, and happen to speak english as a second language. As much as I find it's helpful to my users to have the program's text information presented to the user in their native tongue, I really hate it if the tools I use speak to me in my native language.
Some vital parts of exceptions tend to get mangled when being translated, and you can't search for relevant information regarding whatever obscure failure you're experiencing unless you translate it back. And Google Translate doesn't do very well with technical terms.
It is especially unhelpful when the exception has been re-thrown from somewhere deep down, and is being presented with some parts translated, some parts not (I'm looking at YOU Microsoft; "Was this exception text helpful to you?" ( ) No ( ) No (x) Hell No!)"
Reader tlambert recommends such a tool only if it doesn't have end-user exposure:
Google translate will do the job well enough for non-English speakers, and almost every programmer is an English speaker in any case - or used to Google translations of CS technical papers, in any case.
If there's actually UI being exposed to an end user rather than a program, then of course there should be some way to localize the end user exposed content, although you should expect that most users won't end up using it, and will opt for English instead, unless it's for data input for text data for storage and retrieval.
For better or for worse, the primary language for IT is English. I generally think it's for the better, since there are concepts that the English language is better suited to representing, either natively, or with coined words/terms/phrases and/or "borrow words". For the last, French is probably the worst language, since they have "language police" whose sole reason for existing is to prevent "borrow words" entering the French language and "contaminating" it. The next most comparable language for "purity" is Japanese, which was represented by Matsumata Ohta when he attempted to prevent the C-J-K unification of the Unicode standard, and eventually got his way by pushing another Unicode code page so that you could, for example, grep -v the Chinese text out of a Chinese textbook on Japanese poetry. Double the storage size for a wchar_t, just so that they could keep the languages distinct in both encoding and rendering, rather than just in rendering.
Reader dejanc responds with an analogy:
"Being a programmer and not understanding English is like being a historian writing papers on the Roman Empire and not knowing Latin. There is a lot of programmers out there who don't understand English or are not comfortable with it, but as a rule, they are not that good.
You have to learn our profession somehow. Yeah, you can learn C or Java from a book written in your native language, but most APIs out there are documented only in English. If you don't speak English, then your resources are severely limited.
That being said, if you can do localization, do it. Localization is usually very easy and doesn't require much bloat. You can have volunteers do the actual translation, you just need to get the strings ready, so it shouldn't be more than a couple of hours of your time.
Some talented programmers are just not talented for learning languages, or prefer to have UI in their own language. They are the ones who Google Translate documentation online, so you'll be doing them a favor."
"I am a developer, and happen to speak english as a second language. As much as I find it's helpful to my users to have the program's text information presented to the user in their native tongue, I really hate it if the tools I use speak to me in my native language.
Some vital parts of exceptions tend to get mangled when being translated, and you can't search for relevant information regarding whatever obscure failure you're experiencing unless you translate it back. And Google Translate doesn't do very well with technical terms.
It is especially unhelpful when the exception has been re-thrown from somewhere deep down, and is being presented with some parts translated, some parts not (I'm looking at YOU Microsoft; "Was this exception text helpful to you?" ( ) No ( ) No (x) Hell No!)"
Reader tlambert recommends such a tool only if it doesn't have end-user exposure:
Google translate will do the job well enough for non-English speakers, and almost every programmer is an English speaker in any case - or used to Google translations of CS technical papers, in any case.
If there's actually UI being exposed to an end user rather than a program, then of course there should be some way to localize the end user exposed content, although you should expect that most users won't end up using it, and will opt for English instead, unless it's for data input for text data for storage and retrieval.
For better or for worse, the primary language for IT is English. I generally think it's for the better, since there are concepts that the English language is better suited to representing, either natively, or with coined words/terms/phrases and/or "borrow words". For the last, French is probably the worst language, since they have "language police" whose sole reason for existing is to prevent "borrow words" entering the French language and "contaminating" it. The next most comparable language for "purity" is Japanese, which was represented by Matsumata Ohta when he attempted to prevent the C-J-K unification of the Unicode standard, and eventually got his way by pushing another Unicode code page so that you could, for example, grep -v the Chinese text out of a Chinese textbook on Japanese poetry. Double the storage size for a wchar_t, just so that they could keep the languages distinct in both encoding and rendering, rather than just in rendering.
Reader dejanc responds with an analogy:
"Being a programmer and not understanding English is like being a historian writing papers on the Roman Empire and not knowing Latin. There is a lot of programmers out there who don't understand English or are not comfortable with it, but as a rule, they are not that good.
You have to learn our profession somehow. Yeah, you can learn C or Java from a book written in your native language, but most APIs out there are documented only in English. If you don't speak English, then your resources are severely limited.
That being said, if you can do localization, do it. Localization is usually very easy and doesn't require much bloat. You can have volunteers do the actual translation, you just need to get the strings ready, so it shouldn't be more than a couple of hours of your time.
Some talented programmers are just not talented for learning languages, or prefer to have UI in their own language. They are the ones who Google Translate documentation online, so you'll be doing them a favor."
You should've made it a Slashdot poll for accurate results.
May Peace Prevail On Earth
You're assuming that the majority of web programmer reads RFCs and the HTML5 spec.
It's not unreasonable to think some people in less anglocentric parts just know tag names as character sequences rather than words (and science backs up the fact that arbitrary character strings works as commands when you're used to them).
Even if they do know the meanings of every word used in HTML/CSS markup, they still might have no idea how to conjugate "to be", much less read english prose.
As a native German speaker, let me share a universal UI idea with you, if you even see a remote chance of having your software internationalized: leave enough room on all your controls so that translated text fits nicely in it. A very simple example: English: "Cancel". German: "Abbrechen". Where "Cancel" fits nicely, "Abbrechen" will be cut off, forcefully word-wrapped or whatever.
That said and to answer the OP's question: I'd assume enough knowledge of the English language from programmers. If you try to label your add-on with not too sophisticated English, it should be accessable enough for the vast majority of programmers.
Basically, if you want to get anything done, you do it in English.
Some day another language may replace English as the lingua franca like French replaced German and Latin. When you have multiple cultures trying to do things, you need to have a common language to do it in.
None of this should surprise anyone.
--
BMO
But it doesn't change the fundamental reality: if you can't read the documentation, you've already put a limit on how effective you are.
It's not your fault. I get it. Internationalization needs to be more prevalent. English-centric technical and implementation biases probably need to be fixed.
Nonetheless. These are the facts, here and now. The majority of the Internet, and the majority of the cosmos of software, is implemented in English. Adapt, or be less effective until the world catches up to you.
Welcome to the Panopticon. Used to be a prison, now it's your home.