• Warren (unregistered)

    Permier!

  • (cs)

    Some programmers, when they think of solving a problem with regular expressions, can't remember the French for 'regular expression'.

    Now they have three problems.

  • Balu (unregistered)

    I love it when the introduction is 3 times longer than the core of the story...

    TRWTF is validating email addresses client side.

  • Trello (unregistered)

    TRWTF is using a regex for validating emails. That or blindly translating page content instead of marking areas for translation. Shouldn't it be translating <head> to <tête> too?

    Captcha: refoveo - I refoveo to validate clientside

  • (cs) in reply to Balu
    Balu:
    TRWTF is validating email addresses client side.
    That's really only a minor WTF. TRWTF is not keeping content and code separate and only combining them when the page is constructed.
  • StrahdIvarius (unregistered)

    the problem lies in using programming languages where instructions are named in English.

    Use Brainfuck :-)

    ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.

  • Balu (unregistered) in reply to DaveK
    DaveK:
    Balu:
    TRWTF is validating email addresses client side.
    That's really only a minor WTF. TRWTF is not keeping content and code separate and only combining them when the page is constructed.
    Thinking about it more closely, TRWTF is some translation process that translates word-by-word. What a lovely page that must be...

    Captcha: modo - as in Quasi-modo...

  • Sebastian Ramadan (unregistered)

    This is a WTF?

    Online.net makes you agree to a French version of their ToS, despite an English version existing... An English version, with a more recent date...

    Their documentation also has some glaring discrepancies.

  • Balu (unregistered) in reply to Trello
    Trello:
    TRWTF is using a regex for validating emails.
    What do you suggest? (disclaimer: I know most people do email address validation wrong, but email addresses can be validated using regular expressions)
  • Thomas (unregistered)

    True WTF the timing? Must be really late night ... doesn't make much sense: we're ahead 6 or 7 hours, so even midnight is really early in the Euro morning, NY AM is comfortable PM in France.

  • Dentricx (unregistered) in reply to DaveK
    DaveK:
    Some programmers, when they think of solving a problem with regular expressions, can't remember the French for 'regular expression'.

    Now they have three problems.

    Especially since the translation of "regular expression" in french is a troll in itself. Some (including me) argue for "expression rationnelle", other argues for "expression régulière" (which sort of translates to "recurring expression").

  • Pippo (unregistered)

    TRWTF is French. There, I said it, so sue me if it's wrong. My wife, who's French and a lawyer, doesn't seem to disagree with me.

  • Trello (unregistered) in reply to Balu
    Balu:
    Trello:
    TRWTF is using a regex for validating emails.
    What do you suggest? (disclaimer: I know most people do email address validation wrong, but email addresses can be validated using regular expressions)

    They can, but getting it right is difficult (also it might not do exactly what you want). See http://www.regular-expressions.info/email.html

    I'm willing to bet that almost every hand-rolled email address validator doesn't really conform.

    Captcha: letatio - if you use your own half-baked regex to validate email addresses you won't be getting any letatio from me later

  • CigarDoug (unregistered) in reply to Balu
    Balu:
    Trello:
    TRWTF is using a regex for validating emails.
    What do you suggest? (disclaimer: I know most people do email address validation wrong, but email addresses can be validated using regular expressions)
    For one thing, stop overthinking the problem. Require the email to have an '@' symbol. That's it. If the process sends a confirmation email with a link you must click to continue, and you type in [email protected] (my personal favorite), then YOU DON'T GET THE EMAIL. What possible validation could you need more restricted than that?
  • Clarence Darrow (unregistered)
    Did your monkeys try switching languages before?

    TRWTF is employing monkeys. Or was Yvonne just being condescending?

  • (cs)
    The story:
    pour (var i = 1; i < a.length; i++) {

    Je… Quand… Enfin… Comment… Pourquoi… Qui a pu… Et même…

    Arghhhhhhhhhhh!

  • aigarius (unregistered) in reply to Balu

    The only thing that you can truly rely on is that a valid email address will contain "@" somewhere. Everything else is ... optionalish. You can have the hostname part be without a dot, you can have almost anything in the username part. You can try to check the hostname by running a DNS query (unless it is an IP address already), but the only real way of checking the username part is to ask the SMTP server on the client side if ti would accept emails for that user. Sure, most email hosts will only recognise US-ASCII usernames and host names, but strictly speaking that is not a hard limit too. http://en.wikipedia.org/wiki/International_email#International_email_address

  • Peter G. Bouillon (unregistered)

    As any professional translator will tell you, automatic translation systems can't even translate the text portions of content – properly.

    This is okay if the user requests the automatic translation. In that case, the user knows they're requesting garbled, retarded monkey speak. The're getting what they asked for by heading over to Google translate.

    OTOH, it's completely, unacceptable when the site does this on its own. This makes the site owners look like garbled, retarded monkeys - and their brand, too.

    Don't do automatic translations for any texts that are even remotely marketing related!

    Peter G. Bouillon

  • faoileag (unregistered) in reply to Balu
    Balu:
    I love it when the introduction is 3 times longer than the core of the story...
    I got as far as "the last in a dozen late-night conferences with the temperamental, but always polite, programmer" when I got suspicious, checked the author and headed straight down to "Lost in Google Translate" (second paragraph heading). Did I miss something in between?
  • Mike (unregistered)

    Shouldn't for "(var i = 1; i < a.length; i++) {"

    come out as

    pour (il est je = 1; je < un.lonueur; je++) {

    Interestingly, google translates it into french as

    for (var i = 1; i < a.length; i++) {

  • Geoff (unregistered) in reply to Trello
    Trello:
    TRWTF is using a regex for validating emails. That or blindly translating page content instead of marking areas for translation. Shouldn't it be translating <head> to <tête> too?

    Captcha: refoveo - I refoveo to validate clientside

    My guess is it was at least smart enough to only translate content in side of tags, but using some automatic translate API on a website is pretty ballsy and I would say pretty dumb. I mean I can see creating localized versions of your content using a tool like that, but you read the output ( or find someone who can ) and make sure its reasonable. Having it happen live I'd be pretty worried the results are going to change at some point and might say something really embarrassing. Its also clear from the story the testers don't actually look at the other language pages.

    Also yea trying to 'validate' e-mail address with regex is probably broken; the only correct way to do it really is to send a confirmation message and see if the user can reply.

  • faoileag (unregistered)
    the article:
    Where they expected to see:
    for (var i = 1; i < a.length; i++) {
    Was instead:
    pour (var i = 1; i < a.length; i++) {
    Very mysterious. I would have expected the translated javascript statement to be:
    pour (var i = 1; i < a.longueur; i++) {
    Which adds to the suspicion that everything apart from the obious wtf ("we ran the whole html page through a translater, not only the content, ha, ha, ha, stupid us") is embellishment.
  • Bob Jones (unregistered) in reply to Clarence Darrow
    Clarence Darrow:
    Did your monkeys try switching languages before?

    TRWTF is employing monkeys. Or was Yvonne just being condescending?

    "I've got some interns playing around with it," Charles said. "Maybe it's just a matter of enough monkeys banging enough keyboards at this point."
  • (cs) in reply to faoileag
    faoileag:
    Balu:
    I love it when the introduction is 3 times longer than the core of the story...
    I got as far as "the last in a dozen late-night conferences with the temperamental, but always polite, programmer" when I got suspicious, checked the author and headed straight down to "Lost in Google Translate" (second paragraph heading). Did I miss something in between?
    I'm seriously considering whether I could write a GreaseMonkey script which blocks stories from Erik Gern or at least adds a "beware" banner.
  • foxyshadis (unregistered)

    Even if every page is NOT a PHP monstrosity including everything inline, which seems pretty likely here, this is pretty much a failure on the translation service's side for not recognizing HTML as well as Google did ten years ago, if they support web pages, or else the company's for not asking what the translation service supported.

  • Jeff Grigg (unregistered)

    YES, TRWTF is relying on a "magic" automatic runtime translation service -- that is obviously somewhat brain-dead. Sensible people should ask, "Who imposed this inane and inappropriate architecture on the project?" Obviously, it wasn't anyone who had a clue about the standard industry patterns for doing internationalization and localization.

    Andre is probably the victim here (unless he, himself, is the idiot who put this inappropriate architecture in place). He probably violated some ill-documented "programming standard" of theirs like, "one must not use <script> tags, because our magic runtime auto-translate software is brain-dead and will vandalize your ECMA-script code at random."

  • Ulab (unregistered) in reply to Balu
    Balu:
    TRWTF is validating email addresses client side.

    That's not even a WTF let alone TRWTF, validation client side is good practise so long as it's not the only validation, it's more responsive and can prevent pointless rubbish from hitting your servers in the first place.

  • ¯\(°_o)/¯ I DUNNO LOL (unregistered) in reply to faoileag
    faoileag:
    Very mysterious. I would have expected the translated javascript statement to be:
    pour (var i = 1; i < a.longueur; i++) {
    It's because of the parentheses (ya know).
  • (cs) in reply to Dentricx
    Dentricx:
    DaveK:
    Some programmers, when they think of solving a problem with regular expressions, can't remember the French for 'regular expression'.

    Now they have three problems.

    Especially since the translation of "regular expression" in french is a troll in itself. Some (including me) argue for "expression rationnelle", other argues for "expression régulière" (which sort of translates to "recurring expression").

    "expression norme" or "expression canonique" may be appropriate.

    Although now its etymology has been called into question, I now wonder what's so "regular" about a "regular expression".

  • (cs)

    Once again an Erik Gern story embellished beyond making any sense!

    What has Andres Email validation change to do with the failed deployment?

    "I do not understand, it works on my computer." Andre sounded confused and tired over the VoIP connection. "You say no one can sign up in France?"
    Why does it work for Andre, who shirley has set his language setting to french, given his bad understanding of english language?
    Half can in Germany (...)
    Half the users in Germany have set their language settings to english? WTF?!?
    Where they expected to see:
    for (var i = 1; i < a.length; i++) {
    
    They expected to see a Javascript code-snippet, that does not look like it belongs to Andres email-validation.

    So there was other Javascript on the page as well. Why did this translation issue never happen before?

    Erik, have you ever considered handing out your articles for proofreading before publishing them on this side?

    Or do you just publish anything that goes through your head?

  • (cs) in reply to Pippo
    Pippo:
    TRWTF is French. There, I said it, so sue me if it's wrong. My wife, who's French and a lawyer, doesn't seem to disagree with me.

    J'ondule mes parties intimes à votre tante. Je pète à votre direction générale.

  • (cs) in reply to CigarDoug
    CigarDoug:
    Balu:
    Trello:
    TRWTF is using a regex for validating emails.
    What do you suggest? (disclaimer: I know most people do email address validation wrong, but email addresses can be validated using regular expressions)
    For one thing, stop overthinking the problem. Require the email to have an '@' symbol. That's it. If the process sends a confirmation email with a link you must click to continue, and you type in [email protected] (my personal favorite), then YOU DON'T GET THE EMAIL. What possible validation could you need more restricted than that?

    This.

    Although I do feel a certain amount of anguish on behalf of the poor person for whom [email protected] is their email address.

  • faoileag (unregistered) in reply to Matt Westwood
    Matt Westwood:
    Dentricx:
    DaveK:
    Some programmers, when they think of solving a problem with regular expressions, can't remember the French for 'regular expression'.

    Now they have three problems.

    Especially since the translation of "regular expression" in french is a troll in itself. Some (including me) argue for "expression rationnelle", other argues for "expression régulière" (which sort of translates to "recurring expression").

    "expression norme" or "expression canonique" may be appropriate.

    Or you could use google to find some french sites about programming and take the correct translation from one of those sites: "Expressions régulières" seems to be the accepted term (found in http://formation-perl.fr/guide-perl-08.html et al.).

  • (cs) in reply to aigarius
    aigarius:
    The only thing that you can truly rely on is that a valid email address will contain "@" somewhere.
    Strictly speaking, an email address doesn't require an @ (i.e. user is local). Also, I send my emails using bang paths, you insensitive clod.
  • Anonymous coward (unregistered) in reply to Pippo
    Pippo:
    TRWTF are French. There, I said it, so sue me if it's wrong.
    FTFY! :p
  • faoileag (unregistered) in reply to no laughing matter
    no laughing matter:
    Erik, have you ever considered handing out your articles for proofreading before publishing them on this side?
    "But I have this automatic proof reader, programmed for me by Andre in Normandy! It says everything is fine!"
  • faoileag (unregistered) in reply to ¯\(°_o)/¯ I DUNNO LOL
    ¯\(°_o)/¯ I DUNNO LOL:
    faoileag:
    Very mysterious. I would have expected the translated javascript statement to be:
    pour (var i = 1; i < a.longueur; i++) {
    It's because of the parentheses (ya know).
    Ah, I see. Andre's translation api ignores text in parentheseses (mais dans ce cas je ne peux utiliser les parentheses dans mes textes... m****).
  • notfunny (unregistered) in reply to no laughing matter
    no laughing matter:
    Half the users in Germany have set their language settings to english? WTF?!?

    Depending on the website and its target group, that's entirely plausible. Why get the out-of-date, incomplete, garbled versions of everthing when you understand English just fine? There is a whole lot of localized software where to understand what the hell was intended you have to guess how exactly the expression in question got translated literally back from English.

  • (cs) in reply to Ulab
    Ulab:
    That's not even a WTF let alone TRWTF, validation client side is good practise so long as it's not the only validation, it's more responsive and can prevent pointless rubbish from hitting your servers in the first place.

    Really? I would love to see your code that assuming that it rejects only invalid email addresses. All email validation normally achieves is to prevent users with perfectly legal email addresses from being accepted.

  • Calimero (unregistered) in reply to faoileag

    Or "length" isn't detected as a word in "a.length". I guess the translation algorithm break the text into space separated "words".

  • faoileag (unregistered) in reply to ip-guru
    ip-guru:
    Ulab:
    That's not even a WTF let alone TRWTF, validation client side is good practise so long as it's not the only validation, it's more responsive and can prevent pointless rubbish from hitting your servers in the first place.

    Really? I would love to see your code that assuming that it rejects only invalid email addresses. All email validation normally achieves is to prevent users with perfectly legal email addresses from being accepted.

    Actually, it depends how thorough you want to be. If you stick to the general "local-part@domain" scheme there's a few "standard" errors you can catch: - no @ - nothing before or after @ - no top-level domain (jim@gmail is invalid) - extremely long inputs

    And believe me, your customers will thank you for telling them that it's "foobar@gmail.com" instead of just silently ignoring "foobar@gmail".

    A good read on the subject is https://en.wikipedia.org/wiki/Email_address

  • Froggy (unregistered)

    The only good thing in France are the women and even some of them aren't so great in the bedroom

  • MerdeMan (unregistered) in reply to faoileag

    Try this regex buddy:

    [a-zA-Z0-9._-]+@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6}

  • faoileag (unregistered) in reply to Calimero
    Calimero:
    Or "length" isn't detected as a word in "a.length". I guess the translation algorithm break the text into space separated "words".
    That would be an even bigger wtf than translating javascript properties and keywords. Think: the last word in a sentence would not be translated, quotes would not be translated... oh, and never accidentally forget a space after a comma, fullstop or other punctuation symbol - the following word would also not be translated.
  • faoileag (unregistered) in reply to MerdeMan
    MerdeMan:
    Try this regex buddy:

    [a-zA-Z0-9._-]+@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6}

    And that was just after a quick glimpse at the regex.

  • faoileag (unregistered) in reply to Froggy
    Froggy:
    The only good thing in France are the women and even some of them aren't so great in the bedroom
    Looking at your sentence... what else, apart from french women, have you tried in your bedroom??? Oh no, please don't tell. I don't want to know.
  • Matthias (unregistered)

    This must be Microsoft.

    I think it was Frontpage 98 when Microsoft translated parts of CSS to german: the generic font-family "sans-serif" (name is part of css spec) was translated to "Ohne Serifen" in the output of german Frontpage. IE (at least the german IE) was the only Browser that understood this translated font Name. All other Browsers showed the content of the page in standard font.

    In Outlook the "Re:" prefix in E-Mails was translated to "AW:", so conversations across countries led to subject lines like

    Hello! Re: AW: Hello! Re: AW: Re: AW: Hello! Re: AW: Re: AW: Re: AW: Hello! Re: AW: Re: AW: Re: AW: Re: AW: Hello! Re: AW: Re: AW: Re: AW: Re: AW: Re: AW: Hello! Re: AW: Re: AW: Re: AW: Re: AW: Re: AW: Re: AW: Hello!

    When they realized that this was a bad idea Outlook (next version?) began to omit everything before the last colon what wasn't a godd idea either...

  • MrBester (unregistered) in reply to MerdeMan

    Fails on [email protected] which is valid (I use this for auto-tagging emails in gmail via rules)

  • Jeff Grigg (unregistered) in reply to notfunny
    notfunny:
    no laughing matter:
    Half the users in Germany have set their language settings to English? WTF?!?

    Depending on the website and its target group, that's entirely plausible. Why get the out-of-date, incomplete, garbled versions of everything when you understand English just fine? There is a whole lot of localized software where to understand what the hell was intended you have to guess how exactly the expression in question got translated literally back from English.

    And given their online real-time translation, it should not be surprising that to find that the translations are so bad that most users (and possibly even some of the developers) would prefer to use a poorly-understood foreign language (English) rather than a really bad translation of English into their native language.

  • Jeff Grigg (unregistered) in reply to faoileag
    faoileag:
    MerdeMan:
    Try this regex buddy:

    [a-zA-Z0-9._-]+@(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,6}

    And that was just after a quick glimpse at the regex.

    There are lots of other issues with that regex. If you're going to validate external email addresses, there is something to be said for consulting the standards documentation (and other such resources).

    http://en.wikipedia.org/wiki/Email_address#Syntax

Leave a comment on “Translate Everything!”

Log In or post as a guest

Replying to comment #:

« Return to Article