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."
All of the protocols that web programming depend upon are published in English. So presuming the ability to read written English is reasonable.
If you collaborating with non-native English speakers, although, you should be careful to not assume that the ability to read or even write English guarantees that they will be comfortable discussing ideas orally in English.
You don't have to be multi-lingual to help people that are going to translate/convert your stuff.
I use internationalized strings in my code so someone can come along later and make a Russian version without being any kind of programmer at all. It's a bit of a hassle and makes things a little harder to read, but I think it's worth it. So if you keep an eye toward, "what would it take for a native speaker to translate this," then you are doing enough. Button labels can be done this way with a bit more work. If you release it, and all the people commenting on how cool it is are speaking in Russian, then find the person who did the first translation and ask them to help with your next version. Odds are they'll be flattered to be included, and might have some UI ideas (from a non-English speaking perspective) that actually enhance your add-on.
Being clear and logical in the language that I do speak is probably more valuable to foreign-born users than any pidgeon-version of their elegant languages that I would be capable of pasting into my code anyway.
Or perhaps more accurately, no, or at least not fluently.
You might be able to presume that a majority of programmers have encountered english before, and may have a very basic understanding of it. But that's a far cry from having a practical and functional understanding of it.
File under 'M' for 'Manic ranting'
IMHO, after trying to manage a number of software projects in the 70's, 80's and 90's, no.
.. it is still nice to have localized documentation, like in a wiki. For many people, it is easier if they can specific (for example scientific) literature in their native language.
but I usually ignore whatever is not in english language. I always tell people that it doesn't make sense to write papers (or software) in polish language because only a minuscule part of world population uses it.
#
#\ @ ? Colonize Mars
#
I speak very good English. I learned it from a man page.
Credits partly to John Cleese.
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
If you're dealing with developers with a formal college education, they have a pretty high chance of understanding English. I just gave an English talk to developers in China Runtime CPU Performance Spike Detection Using Manual and Automated Compiler Instrumentation and while there was a translator (you could get headphones), most of the attendees chose to listen to the talk in English.
You may consider making localizable strings for the UI contained in an INI or other file though and be able to check if a local file with the country extension exists. If you have enough users for the product and make localization easy, you'll find a volunteer to do the work for you.
You should've made it a Slashdot poll for accurate results.
May Peace Prevail On Earth
How hard is it to store all the UI strings in an editable file? Wouldn't that also make your life easier if you decided to tweak the English version?
As for your code being hard to read, name the strings after their English content: $UI_Text_File_Menu_Save
I bet if you analyse any ageing programme you are likely to find a tonne of words spelt differntly. Most programmers realise localization is a grey area for every organisation. Now If you don't mind, i need to get into my favourite aluminium pyjamas and go eat some yoghurt.
Not living in an English speaking country (Spain), I can tell you that here nearly nobody knows English. Maybe, younger people know a bit more but at the university 18 year old guys are frigging afraid of it.
As I work on the games industry I'm already used to do multi-language stuff, and I can assure you it's not going to slow your plug-in. Just create a "text manager" class and ask it for MENU_FILE_TEXT instead of hardcoding the string.
All that said, IMHO, not learning English in the Internet age is absurd, and if you and others punish lazy people with English only stuff, I'm fine with it :-)
Based on my experience reading documents, code comments, and emails written by American programmers: no, they do not understand the English language at all.
Should be: English, programmer! do you speak it?
All the ones who can answer your question do.
"National Security is the chief cause of national insecurity." - Celine's First Law
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!)
... whatever
After working for various companies, if they're a US only company sure. But anything with a remote chance of having non US/English speakers is doubtful. I am currently working on code chock full of Japanese comments and variable names. It's a huge freaking PITA. And I'm sure they hate it when I add English comments and variable names to their pristine Japanese code.
Hold up, wait a minute, let me put some pimpin in it
If you review any of the conversations over on Code Project I think the answer is a resounding 'no'... most programmers don't understand English... or at least fail to use it properly even if it is their native tongue. But I digress... Why don't you let demand drive your decision? Architect the tool such that localization is possible and wait for demand to dictate if/when you go through the hassle of translation.
If they're programmers, they'll get the idea. Pick up a Japanese or Korean programming book and see if you get the idea. You probably will to some extent. They're jam packed with English: Function names, concepts, application names, and so on. People in technical fields have often muddled through multiple user interfaces with English words. They won't usually be as stuck as you might expect.
It is totally OK if your documents are untranslated, and stuff like inline comments should be english only, but anything that has a GUI really needs be translated.
I have a german-only desktop, that includes a german Firefox and - although I understand english quite well - I like anything that integrates with it to be german as well, or else it feels alien.
So, as a potential user of your add-on: Please do make it translatable. You will limit your user base if you don't. And I suppose this issue is a lot more problematic for asian languages.
As a side remark: I learnt to program BASIC at an age where I didn't know any English at all. I didn't know that these IF THEN ELSE ... things were English words (and I was pronouncing them quite funnily), but that didn't keep me from using them. So someone writing Javascript might not be understanding English at all - especially for speakers of non-western languages, that might very often be the case.
I wouldn't assume. SAP is full of German error messages. Star Office / OpenOffice / LibreOffice still have German comments in the code.
Shame about developers though...
Not in non-English speaking countries...
If it doesn't have end-user exposure, no. 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.
that I wondered if they "Spoke english". (Ok, I'm from the US but some of us here, our english sucks.)
Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
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.
.... Hey Programmers, what does the following string say in English?
"01001000 01000101 01001100 01001100 01001111 00100000 01010111 01001111 01010010 01001100 01000100"
Life takes interesting turns, but the most interest is when you're off the beaten path.
So if you keep an eye toward, "what would it take for a native speaker to translate this," then you are doing enough.
So what are best practices when names of objects in your interface have to be declined as nouns or conjugated as verbs?
In Quebec, however, it would be *illegal* to use English-only software in the workplace. All software must be available in French. This applies not only to any sort of government job, but to all companies within Quebec.
Finnish does not have a direct translations for "yes" and "no;"
You're not supposed to use yes/no dialogs anyway. For example: "Shall the file be closed? Close - Cancel" or "May the file run? Run - Cancel". Or does the button phrasing practice apply only to English?
But I can't figure out what the translator has used to name it in my native language.
So from one perspective - not using English in the tool you use may cause more confusion than help. Especially for programmers.
If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
Based on years of reading /., the answer is clearly, "No!"
Some mornings it's hardly worth chewing through the restraints to get out of bed.
I does!
...most C++ programmers understand C++, yes.
They understand. They do not comprehend.
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
I find mixing my native language (dutch) and english during development only helps to confuse things since pretty much all terminology is english.
When given the option, I always use english language versions of technical software (some software insists on showing me (badly) translated dutch, though). I even comment my code in english if the entire front-end is dutch only.
For office software and such, I prefer my native tongue.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
I am a developer too, and English is my second language (I am from Egypt, and Arabic is my first language). When I learned programming, it was in English using English text books and magazines, ...etc, whether BASIC or COBOL (long time ago).
Once, after many years in development, I was supporting a place that got a software package developed in Morocco. French is the lingua technica there. So, the source code was totally unitelligible to all of us except one of the Moroccan developers who worked for the company developing it.
All the variable names and comments were in French, and did not mean anything to us, making the code very hard to follow.
With English being the language most used internationally for businesss and such, I imagine this is true outside of the Francophone countries (and perhaps Latin America too)?
2bits.com, Inc: Drupal, WordPress, and LAMP performance tuning.
I think that every Quebecois should be subject to the ridicule of a Parisian over the "purity" of their French.
--
BMO
English is used just because while French has to be legislated.
I remember one time hearing that all TSN and CBC hockey broadcasts had to have a French SAP audio channel, but the RDS broadcasts didn't have to have an English one. I asked a Canadian about this and he said, "Because we don't care about French TV."
Peter predicted that you would "deliberately forget" creation 2000 years ago...
I find that most programmers I work with don't understand English, but a few understand American English. Can't tell you how many times someone uses "color" instead of the correct English word "colour".
Mind you, I work with statisticians and medical doctors, for the most part, and many are from France, Canada, S Korea, Vietnam, places like that.
-- Tigger warning: This post may contain tiggers! --
Given your concerns, if you choose not to use localization, at least consider using simple English words as much as possible.
I can tell you you have no idea what you are speaking of when it comes to French. No, there is no language police in France, and French is full of borrowed words, from dozens of languages in different periods. And in IT in particular French makes very heavy used of English words.
You're probably thinking of the French Academy, whose official task is to standardise French. But its influence is almost null in how French is spoken in the country, and in any case most Western countries have similar if less well-known academies for their own languages.
As a Dane who has worked in most of Scandinavia, Germany, Ireland, UK and with a plethora of nationalities from around the world - English is the language of choice for any technical discussion. Even among fellow Danish developers its toe cringing to try to speak in Danish as the words either don't exist or are 'old fashioned' direct translations. Which means if we're talking anything really technical - just switching to English is convenient and mutually understood anyways. So either its fully Danish or we have a hybrid language where all technical terms is spoken in English. I wouldn't be caught dead saying 'peger' instead of 'pointer' :).
Most of the stuff written during the Roman Empire and by Romans, eg. the stuff we have that you can still read, is written in Greek and not Latin. All the papers about Rome and by Romans are written in Greek. You actually can be a pretty good historian of the Roman Empire and not know Latin. While the common people spoke Latin, they didn't write. And we don't have their writing. Only the elite wrote and they all wrote Greek.
It is no longer uncommon to be uncommon.
What's an English speaking county? People speak languages, countries do not. Countries may have zero or more official languages, but that says very little of the people living in or visiting that country; or how well other languages work in that country.
printf("Copied %n file%s\n", n_files, n_files > 1 ? "s" : "");
There are languages with more than two grammatical numbers. There are languages that use different word order with different numbers. You need to redesign your simple and easy printf statement to accommodate them, and the outcome is bound to be anything but simple and easy.
I agree with you completely. I speak well English good!
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
... 95% of Russian programmers I spoke to (and 99.99% worthy ones) can read/write enough to understand whatever they need to know. Generally speaking, if a programmer in Russia doesn't know English, he's frowned upon by his colleagues, exclusions are usually over 45 years old. P.S. I learned my English through reading HTTP RFC, and amused the hell out of my English teacher in college by using associated terminology :)
You should have qualified the question better. Did you intend to ask "Do most US programmers understand English?".
If that was your question, I would say "to some degree" but with the large number of immigrants and visa holders working in the US there would be a percentage that does not.
When you leave the US, it should make little difference. RFCs, APIs, Specs, Docs, etc.. are all translated to the native language. Larger companies spend healthy sums of money to make their products available in other languages. How do you sell a Chinese company software that only works with an English keyboard? Well, you probably don't.
In poorer countries, I'm sure you would have them using more native English products due to cost. It's easier for let's say Kenya to use English Linux and have to read English to be able to perform well with the software. Kenya was not a literal example, I don't know much about Kenya. Just a convenient country name commonly associated with being a poorer country.
-The wise argue that there are few absolutes, the fool argues that there are no probabilities.
The problem is not the English, but the local understanding of the English. Many English words originate from other languages. By my guesstimate a lot of English words are of Swedish origin. Absolute is just one example of a word which comes to English from Latin, and Greek, by way of Swedish. I realize that many, if not most people from Europe are multi-lingual, and learn several languages simultaneously. Lets suppose the girl who picks up your article learned English as a third language. If she is Swedish there is some probability that she will use Swedish definitions and ideas with the new English words. Again, only as an example, the word absolute in the languages of continental Europe can have a range of meanings including: unrestricted, free, and pure. On the other hand, when the word absolute is used in American English it typically has to do with being restricted, constrained, and definite. For example, If a worker at Micky D's asks the manager: Should I clean the floor? the manager might reply: Absolutely! Meaning that if you value you job you WILL clean the floor. Everyone agrees the the guy with absolute power is unrestricted, and free to do anything he wants. In America the guy with absolute power is a negative figure, who is free to constrain others to do his will. The American view of absolute derives from the point of view of the one being constrained, rather than the holder of the power. An American might say that a jumper from lead A should absolutely be connected to lead Z. A native English speaker from another part of the world may interpret that to mean it is ok if he connects lead A to lead Z, or the worker in Micky-D's might feel free to clean the floor, if he wants. Perhaps as a result of the borrowing of words, phrases, and terms from other languages, one of the advantages of modern English is the ability to express many similar ideas in several different ways. This allows the English writer to constrain the idea he or she is communicating so there is less chance of a direct miss interpretation, such as the example given with the word absolute. To answer your question: It is probably best to get a native translation, otherwise it may not matter all that much.
A few thoughts:
I was told by former colleagues from Sweden and Belgium that given the choice between a crappy translation and the original English, they'd take the original English. A good translation, on the other hand, would be noticed. And respected.
Tech docs in English, please. Unless you're Arianespace or Airbus.
As others have pointed out, strings grow in most other languages.
To smoke out i18n issues one former employer used Pig Latin. YMMV.
...laura
I'm sorry, but programming jargon like "regular expressions (pattern substitution), service packs (bug fixes), binding (pulling information from elsewhere), tuples (an ordered list), virtual void functions (as close to masturbation as it gets in programming) and even web browsing" seemed more designed to obfuscate and inflate the self importance of programmers than convey useful information to anyone who wanted to understand what computing was about.
In contrast, loops, if-then statements, variables and constants all were pretty clear and made immediate sense
Please do not read this sig. Thank you.
I've seen XML with tags in Japanese. Tags in large-character set languages are troublesome. When text has to match exactly, full Unicode is a pain. There are homoglyphs; you can't tell by looking if there's a match.
There are huge headaches associated with Unicode URLs and domains. There are complex rules for avoiding domains that look visually the same but are different to DNS, and trouble getting the registrars to enforce them. Although they're fully supported by browsers today, they're not widely used in Japan or China. Arabic, Hebrew, and Cyrillic domains are widely used; they're unambiguous, provided that you stick to one language set per string.
As a French speaker, I can guarantee that most programmers here understand little more than the basic programming terms. Most of the specs have been translated into French, so that's not a problem.
Vincent: And you know what they call a ClassCastException in France?
Jules: They don't call it a ClassCastException?
Vincent: No man, they got the socialist system. They wouldn't know what the f*** a "class" is.
Jules: Then what do they call it?
Vincent: They call it a RoyaleWithCheeseException.
Jules: A RoyaleWithCheeseException. What do they call a NullPointerException?
Vincent: Well, a NullPointerException's a NullPointerException, but they call it un NullPointerException.
Jules: Un NullPointerException. Ha ha ha ha. What do they call the spaceship operator?
Vincent: I dunno, I didn't do any Perl programming over there.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
I wish at least the programmers and coders will be less parochial and be more catholic and be open to words/ideas/concepts "not invented here".
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
Every German speaker who studies IT learns enough English to read technical stuff. Many - maybe even most - prefer to use English documentation and tools.
I will go out on a limb and say that this is probably true for every Western European country except France.
The French make a real effort to prevent their language from becoming "contaminated" with foreign terms. Where every other language has just adopted computer terms as they were invented, the French have specifically gone to the trouble of inventing different words that sound more French. To take just one example: consider the word "byte". The Spanish say "byte", the Germans say "byte", the Italians say "byte", the Dutch say "byte", but the French say "octet". This is annoying, but really, it's their problem, they've done it to themselves.
Enjoy life! This is not a dress rehearsal.
All common programming languages are based on English, but are really their own languages.
For example, here is a programming blog post in Russian with some Java code mixed in. You don't have to understand Russian to "get" the joke, but you do have to speak Java.
http://habrahabr.ru/post/153225/
In Soviet Russia, articles before post read *you*!
Make the first version in English only, and somewhere in the app, ask for requests for support for other languages. The only population you care about are the users of your plugin.
Speaking English as a second language and having worked with several developers who speak English as their second language (if at all), I am tempted to say "all the good ones speak English."
Almost everything related to software development is described in English. It may be described in other languages as well, but I don't know any other language in which as much information is available. The APIs are generally based on English. Diagnostics are pretty much always available in English. Most questions and answers on the Internet are probably in English. English is not that hard to learn, and you will get a lot of benefit from just being able to read it. Really, if you do software development, you should learn English.
Most software developers I know are good enough at English that they can at least make themselves understood. Those who don't can at least read computer English. Without that, they would be seriously handicapped. Is that an audience you want to cater to? There may be good reasons to do so, but I personally would rather spend my time on other things.
Please correct me if I got my facts wrong.
highly educated technical people study english in India, Europe including the half of Russia, Canada, South America, China, Japan, Thailand....and it's their native language in most of Africa. ASCII and English, it's everywhere in IT. Do you see any programming languages using sanscript or pictograms. No. English, bitches.
How much technical terminology really is English in the first place?
"Binary" is from Latin, "Digit" is from Latin, and "Bit" is a contraction of "Binary Digit". "Byte" is from English and is based on the word "Bit".
Let's talk TCP. "Transmission" is from Latin, "Protocol" is from French and Latin, and "Control" is from English.
Using an Operating System? Both words from Latin, System is also from Greek.
Connecting your electronics on a PCB using a bus? "Electronics" is from Greek, "print" is from French, "circuit" is from Latin, "board" is from English, and "bus" is from Latin (from "omnibus").
Developing a program? "Develop" and "Program" are both from French.
I could go on, but much of English is just loanwords anyway.
...could even ask this question.
"Can I assume that most programmers understand the English language well enough that I may forego localizing the UI?"
The answer is:
a) No.
b) Even if you could making the assumption would be horribly disrepectful to your audience/customers/whoever you want to have listen to you.
I think most programmers know English well enough to comprehend technical messages in English. Some of them who used to having English UI may prefer English to their native language as it makes easier to search for the solution. Still some other programmers may strongly prefer to have the UI in their native language, as it makes the UI of the program more consistent with the rest of applications that they are running.
In fact, being able to use the UI in English is not same as being comfortable with English when it comes to reading. For example, many programmers in Russia find rather challenging to read any large documentation in English. For that reason alone, they switch to the UI in Russian as it makes all documentation to appear in Russian if it is available. Now if you switch between two or more programs using the UI in different languages, it can be slightly annoying, but usually it is not a dealbreaker.
So when you start a new tool, I do not think it makes sense to spend much time thinking about localization. If your tool gets really popular among developers then you will have more time to think about the issue. If it is an open source project, you are likely to be offered a helping hand by someone who has more experience in localization than you.
I'm among those who set their computers and gadgets to English the moment I get my hands on them, among the consternation of friends and family.
But I can attest to the fact that a LOT of programmers don't speak a word of English. They have learned the CS meanings of a few dozen words, but that's as far as they go.
They may know that 'this' refers to the current object in OO programming, but they have no clue how to pronounce it (I have heard things you humans...) let alone that it means 'this' as opposed to 'that.'
They know 'Windows' is the name of the most widely used OS, as most programmers clearly understand what an OS is. But if they came to your house and you asked them to open the windows, they would probably walk to your PC, not to the walls.
So there you go, developer tools need localization like everything else.
If anything, you must put EXTRA effort with developer tools, as opposed to generic software, to find and use the RIGHT translation. You wouldn't be very happy if your browser tool suddenly asked you to "gaze at the fountain" instead of "view the source", now would you?
First my advice:
1.) Leave everything in the code ready for localization.
2.) If you have competent people to do the localization do as many as you can. DO NOT, i repeat DO NOT use Google translate or similar tools to do your localization.
3.) If you can not do a good localization, deffer the work to volunteers.
Now, the reality. I am a Spanish speaker, fluent in English as a second language (For What Is Worth, long time ago, my ToEFL score was 293/300, but I am quite rusty now). I was a manager in telecoms for a long time, now a Teacher (Comp Networks II, mainly Layer 3 Stuff) for Comp Scy and Telecom Engineers in a Jesuit University here.
But my level of English is an exception around here, not the rule. Our university demands an English sufficiency test in order to graduate. And yet, most of the students are incapable of reading in English. Something as simple as reading a paper (for example: "OSI Systems and Network Management" Lakshmi Raman, ADC Telecommunications IEEE Communications Magazine, March 1998) my students will not do in English. They will rather OCR it, then use Google Translate, and will not even refer to the original article when the machine translation gets "wonky".
The fact that the documentation is written in English is of little concern, anything that is remotely interesting will have translations, or books written by native speakers within weeks/months.
*** As some other poster wrote: Non native English speaking programmers will treat the foreign syntax like a black box (in some cases, having to program in English as opposed to Spanish actually helps, in Spanish "Yes" and "If" both map to "Si", and you have to infer which is which from context :-S ). So, an effort to localize is well worth it.
*** And as some other posters wrote: Localize ALSO to show respect to the culture of the other person(s). And remember that part of that respect is to localize correctly, not taking shortcuts like using Google Translate to translate your strings.
*** Suerte a todos y Feliz dia!
this only fragments documentation and support. any web developer should know english anyways.
I usually avoid the localized UI, especially for technical stuff. I honestly understand better a program in the original english than in my native language, simply because most of the words from the "internet era" don't really have a standard translation (and if they do, I've never heard of it, because the english word is everywhere). I usually end up having to think about what they hell they were trying to translate to understand a text. Especially for programmers, stick with english.
--
Stay tuned for some shock and awe coming right up after this messages!
... oh wait...
It's simply impossible to become an actual proficient coder in the modern world without understanding English. Leaving aside the actual languages being designed in English, most important documentation and standards are written in English. Also, if you are a reasonably good coder, and land a reasonably good job, at a reasonably sized corporation, there will be outsourced code, and therefore the standard for comments and other communication will be English.
I am one of the owners of a software development company in Argentina. Everyone in my company is a native Spanish speaker. We rarely outsource projects, and when we do, it's small stuff, and it's completely outsourced (that is, the entire development of that particular software, we don't build Frankensteins with outsourced and in-house code). Still, our standard is to use English for everything, and English proficiency is a requirement for every code in our company. I know many other companies who do the same.
You might not like the historical reasons behind English's widespread adoption (I certainly don't), but you have to get pass that and just fucking learn English.
Don't bother translating the GUIs, most translations end up being inaccurate, as many terms are complicated or impossible to translate, and it ends up providing an inconsistent environment, since other software might not be translated. Any coder that doesn't bother learning English is a coder that shouldn't be coding anyway (If you can learn C, you should have no problems learning English). I'm talking to you, chinese motherfuckers who write firmware for IP cameras and comment your JS in chinese.
WTF am I doing replying to an AC at 5 A.M on a Friday night?
English is simple enough to use by devs. but if you app will be used overseas by normal people, then multilingual gui required.
Russian and Simplified Chinese, I agree. But German and Swedish??? Come on... Spanish and Arabic are a way more important. Spanish is the 3rd language in the world (behind, in this order, Chinese and English: yes, Chinese first!).
$ php -r ::
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM
> Google translate will do the job well enough for non-English speakers :-)
Yeah, like in this case. Please apologize for your stupidity
Bernie Innocenti - http://codewiz.org/
If your software is localized, it will be accessible to a wider audience, that's really all there is to it. You have to decide if that wider audience merits the additional work. Bear in mind, access to such localized materials could help those struggling to learn both programming and English at the same time a doubly useful tool. Being reminded of the meaning of a "pre" tag with a localized tooltip might go a long way in helping to learn the often arcane "English" that is markup and code.
Wrong. You'd say "I have opened the door". "I have open the door" just doesn't make sense.
While you can say "open door", in that case it's an adjective.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
I guess he's referring to http://en.wikipedia.org/wiki/Academie_francaise#Role_as_authority_on_the_French_language
The invention of interwebs, like the Germans finishing their breakfast, basically meant the battle was lost.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
So in Quebec if I boot a linux machine in text mode do I have the choice to open a frapper shell? Do I rename files using the bg command, and search for strings using oer?
Quebec is retarded.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."