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.
If we do, we would've put in comments.
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.
...Are the most acculturated population I know of. You can safely assume they speak English, at least on a basic functional level.
If possible, I would highly recommend covering Russian, Simplified Chinese, and possibly also German and Swedish. Maybe try to get someone else to do it though. Anything beyond those I think would hardly be worthwhile.
.. 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.
I by myself wouldn't bother for a small one-man project.
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.
I would wait, and if enough people express interest in another language (or languages), then work on translating. No need to translate it to a given language if no one in that language is using it.
You should've made it a Slashdot poll for accurate results.
May Peace Prevail On Earth
Keep reading Slashdot, and decide for yourself.
My impression is an overwhelming 'no'.
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
Yes, being able to survive as a programmer at least in part depends on ones proper understanding of the english language.
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.
Having to filter text, manage IO, and deal with the !@#$!@$!@#$ varying case insensitivity or broken ordering of modern computer language settings is an amazing waste of programming time, and can easily triple the program size, the programming time, and the QA to test it all. Throw it *out*. Write it robustly in standard "POSIX" language, also know as "C". It's as help as using the metric system instead of furlongs/fortnight and calculating interest in shillings and tuppence.
Being a french speaking developer, I can tell that it's not possible to rely on software being available in another language than English. I even sometime install English version of software when a french version is available to be sure that I have all the latest patches. To be a developer, understanding English is not an option, it's a prerequisite. That said, having a localized version is always nice.
As a french canadian, my born language is french. But we have english courses since the primary school. Not enough to be bilingual, but
everybody with some college will be able to read, write and probably discuss in english.
You can find alot of website, documentation and books in french but you get alot more of doc in english. So you get the better of the two world if you
can work in english too.
I cant tell for others countries but well.. i can say that close of 99% of french canadian I.T Workers can at least read and write in english.
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.
I don't mean to offend, but as part of my profession I've had been force to understand english as part of my work, and while we try to do so (in latin america) I must say that people in Spain for example refuses to do so. They just assume that is your fault if you don't translate, and I don't think that is something that only applies to one country, the same should probably apply to many other nations too.
.... 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.
... and judging from most Slashdot submissions, the answer must be "No."
That is all.
My advice is: always internationalize your software — make it possible for people to adapt it to their languages and local cultures. You might think it's not strictly necessary as of now, but I believe software needs to be prepared to grow and be extensible in the future, cultural adoption included.
While English is a kind of de-facto language on the Internet and anything around its technologies, that doesn't necessarily hold true for programmers.
If you want to see a real life example, head over the Mozilla Developer Network, where you can find technical content available in several languages. Those pages are not translated for the sake of translating, but because they answer to an actual need from programmers. You can find another example in the Firefox Developer Tools — which, by the way, are not a requirement to translate in order to have an official localized build on the release channel, but are actually translated into lots of languages.
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?
Most of us know enough english to read technical terms. I think you can find some people that will not understand english in some niches around bussines logic programming (java stuff), but it will be rare. Also, fuck these retards!.
...everyone, except Italians and Germans.
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.
English still doesn't make sense to me - I understand English reasonably well but do I "understand" English? Nope. It may or may not be better than other languages but it is not that great of a language. I do realize that my complaints would never be resolved in a perfectly constructed language because human languages get warped and altered over time (for good or for bad... but if it was perfect, then any change would be bad.)
My 1st written language was BASIC.
Exceptions are the modern GOTO.
They understand. They do not comprehend.
However meny devlopers I knows had problems wiv writin.
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
most do speak and understand english, but most is just something like 60%, the other 40% do understand only barely, so if you really care about your users, translate, it you care only about the majority.
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.
You don't have any other problems? You don't think other thoughts?
Focus on cleanliness and function, the language is not a real problem. I've been using English-based programms sind I've been 6 years old and didn't speak or understand any of it.
The Internet pretty much has squashed the language barrier by allowing everybody to communicate in English. Localization may be great for state mandated programs, but for the rest of us I actually despise localisation.
Proud european speaking.
You are asking a question for non English speakers on an English only web site. Do you think the responses be useful in any way?
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.
Having worked in several large software projects in Europe; I have to say that the answwer is a resounding "no."
As much as I hated learning all the localized technical terms (so glad O'Reilly books are translated into dozens of languages), as a native ENglish speaker, seeing all the code with non-english function names, non-english variables, and non-english UI was awkward for me, but not for the teams making their products for the local market.
I have also seen lots of SJIS (Japanese) in code with variables and functions being romanized (and in some cases, not even that, with UTF-8 (curse you PHP for having no restrictions on characters used in functions/variables > )
In short, it's a mixed bag. Having worked with tools that are localized, and the developers who prefer them -- it's personal preference, and I would say many people just don't like working in English for one reason or another. And sometimes that reason is that they need to google-translate everytime something unexpected comes up, because they use the localized IT Terms for conversing with everyone else, and in writing technical docs, and in coding practices. The native english words for "function", "exception", "variable" etc never get used on a day-to-day process.
That said, so glad to be back in the US working in English... solely doing translation work to translate tools XD
It's clear that not being a fluent reader of English is a handicap for a programmer, but it's not that limiting provided you speak a "major" language (German/French/Spanish/Japanese for instance, major here meaning mostly with a large IT community) and are not working on technologies that are too obscure. I've met quite a lot of good developers with shaky grasp of English that depended mainly on documentation in their languages and still did a fine job.
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.
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.
... from native Americans or British, I would say no. And I am not a native speaker.
... 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.
It avoids the all the confusions with "bit".
And the vast majority of technical IT terms in French are the English ones. It's the words that are used beyond IT that are often different: computer, mouse...
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.
English might be the main world language but the vast majority of business, education, entertainment etc worldwide is still done in other languages. And unless you are in a heavily international context it rarely makes sense to do things in English rather than local languages even today.
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.
"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."
"For several years, I have been developing add-ons for Firefox. All of these add-ons were submitted to AMO and have been translated (localized) into languages other than English. My latest add-on is focused more towards web developers, as opposed to the average web browsing user. IIt is a utility for examining JavaScript Objects and their methods and properties. By my thinking, JavaScript, HTML, CSS and the DOM are already designed to be understood by readers of English. My question is this: can I assume that most programmers understand English well enough so I can skip localizing the UI? This will save time, effort and bloat, but it may also restrict the usage of, what I hope will be a useful tool for developers."
There, fixed that for you, and in answer to your question -- apparently not.
...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.
All the ones who can answer your question do.
Very wise...
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!
Who doesn't speak the Christian God's English on planet USA? Quit yer trolling.
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!
More than 20 years ago, a study was comissioned, and it found that over 97% of all computer software source code is in English. That may have changed in the last 20 years, but AFAIK, most large software projects I have been a part of have all been written in English. International versions of the software have a language pack (or set of language packs) so that the front-end appearance displays the local language. Note that what appears on screen and the source code are mutually exclusive.
... oh wait...
If you want to be a good programer you have no choice but to learn English and that is a good thing. I am not English speaking by birth, I speak Swedish, but everyone in Sweden I have ever met agrees with this. So yes, assume that everyone speaks English. It would be a nightmare if you would need to learn Spanish, French, Japanese and Canton Chinese to understand information on the web. English is the Lingua franca of the web. Lets keep it that way.
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.
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.
Worng example: because 'bite' as the French would pronounce 'byte' means 'dick'. Talking about 23 mega dicks might not be what you really mean to say.
Is that why all those international standards call out "octets" which is a more generic term for eight of anything.
So if I'm doing text processing on an old CDC mainframe I'd be using sextets?
At least we're not working with binits... as was a common usage in the 40s.
The quality of English in print has been on the decline ever since radio and movies became available to the public. Even school teachers whose native language is English often have very low language skills. Most tv shows sought third grade educational abilities. You have an advantage in that most of your intended audience might function at a sixth grade level in English.
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.
As an European, I expect that most developers in the West are able to (and often willing to) deal with an English version for their tools. But as soon as you leave the countries with Latin and Germanic roots, I think you will encounter more and more developers who cannot understand a single word of English.
$ 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.
Google translate do not it's job well in russian.
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."
Hmm, the French have 'Language police'? Well, they must be so awesome at their job. Tell me, what is French for 'week end'?
It's actually 'week end'. Man they are good...
It's now possible to program in open vocabulary, executable English, by typing syllogism-like rules into a browser.
Here's an example app: www.reengineeringllc.com/demo_agents/Oil-IndustrySupplyChain1.agent
This raises the question whether apps in English should be translated into other languages. In principle, the technology [1] supports the writing and running of apps in French, German and so on. However, as with airline flight control, it may be better to standardize on one natural language. What do you think?
[1] Internet Business Logic
A Wiki and SOA Endpoint for Executable Open Vocabulary English Q/A over SQL and RDF
Online at www.reengineeringllc.com
Shared use is free, and there are no advertisements
It really depends who you target users are. I think the consensus here is pretty clear: Western European devs can get by with an English UI...
East Asians would have a much harder time.
I used to work at an IT company in China and even if a lot of people knew English technical terms, *all* the software & docs they used were translated into Chinese. If it wasn't Chinese, they flat-out wouldn't use it. I suspect a similar situation in Japan, based on what I've seen online. Not sure about Korea...
So advice is, if you're targeting East Asian users (1.4 bn+), get your UI translated into at least Simplified Chinese & maybe Japanese too...