Re: international language support
- Posted by Kat <gertie at PELL.NET> Aug 16, 2001
- 449 views
On 16 Aug 2001, at 9:55, Irv Mullins wrote: > > On Monday 13 August 2001 18:23, John McAdam wrote: > > > Igor, I am sure that you will agree with me that there are some > > intelligent people in the world who don't speak english. Probably > > quite a few in fact. People who would pay for the ability to write > > computer programs in their native language. A world full of people. > > A really big world full of people who want this. I think this would > > be a truly enormous market and there is no competition. There is > > no language that does this. > > > Rolf, Just because all other languages are in english doesn't mean > > that they have to be. > > I was wondering why Eiffel doesn't use French keywords, considering > 1. it was developed by French research institutes and universities. > 2. the well-known emphasis that the French place on using their language, > even for things that are imported. > > What about Lua? Why aren't its keywords in Portuguese? > It was developed at universities in Brasil. Wasn't it originally all in Portugese? > French was once a basic requirement for someone who wanted to be a > diplomat. > I suppose English is now a requirement if you want to be a programmer. Yes, French was one of the unofficial international languages, used as 2nd language (after english) even with airline pilots. This is because of the equipment they used being supplied either from France or the usa. Programming languages have not that critical tho, at least until the internet became a world-wide event. > > Igor, I speak portuguese very well, but if am trying to figure out some > > complicated algorithm I do it in english because it flows faster for me. > > I think that new programmers will have an even more difficult time if > > their language skills are not as good. It turns off their creativity and > > their enthusiasm - things that we need. > > I will download the red.ex tonight when the rates go down. > > > > Irv, Why do you need a different sort order, as well? I don't understand. > > Because ASCII sorting is based on a very simplistic rule: the letters A...z > are > in numeric order, 65,66,67..... making them easy to sort. But what about > accents? The letter ã isn't anywhere near a in the ascii sequence, meaning > that > without customized sort routines, it'll come out at the end of the sort, after > zebra - not good. Next question: should ã come before or after a ? Such rules > may vary from one language to the next, even though the letter in question is > the same in both. Since there are lots of people on this list who could > explain > this more clearly, I'll stop here. All i can say is i made a function in the metaphone-ish code to translate all the upper ascii latinic chars down to 7bits, to eliminate all the lamers on irc who like to use "l33t sPeAk"(grrrr). The "leet" translation was easy (see below), but the metaphone code wasn't really so great, and still didn't work for non-english languages. Anyhow, converting, sorting, then applying the conversion order back to the original text would mean a new sort routine isn't needed. Kat -- this prolly will not look right in other code pages,, -- which is yet another problem function convertstuff(sequence theword) integer location sequence array for loop = 1 to length(theword) do -- if theword[loop] > 128 then location = find(theword[loop],{"ë","è","é","ê","ë","È","É","Ê","Ë"}) if location != 0 then array = {"e","e","e","e","e","E","E","E","E"} theword[loop] = array[loop] end if location = find(theword[loop],{"Æ","æ","ä","å","ª","à","á","â","ã","À","Á","Â","Ã","Ä","Å"}) if location != 0 then array = {"AE","ae","a","a","a","a","a","a","a","A","A","A","A","A","A"} theword[loop] = array[loop] end if location = find(theword[loop],{"î","ì","í","î","ï","Ì","Í","Î","Ï"}) if location != 0 then array = {"i","i","i","i","i","I","I","I","I"} theword[loop] = array[loop] end if location = find(theword[loop],{"ß","©","¢","ç","Ç","Ð"}) if location != 0 then array = {"B","c","c","c","C","D"} theword[loop] = array[loop] end if location = find(theword[loop],{"ø","ö","ð","¤","°","º","Ò","Ó","Ô","Õ","Ø"}) if location != 0 then array = {"o","o","o","o","o","o","O","O","O","O","O"} theword[loop] = array[loop] end if location = find(theword[loop],{"µ","ù","ú","û","ü","Ù","Ú","Û","Ü"}) if location != 0 then array = {"u","u","u","u","u","U","U","U","U"} theword[loop] = array[loop] end if location = find(theword[loop],{"ý","ÿ","¥","Ý"}) if location != 0 then array = {"y","y","Y","Y"} theword[loop] = array[loop] end if location = find(theword[loop],{"£","ñ","Ñ","¶","þ","Þ","®","§","+","¿"}) if location != 0 then array = {"l","n","N","P","p","p","r","S","t","?"} theword[loop] = array[loop] end if -- end if end for return theword end function -- convertstuff(sequence theword)