Localized at



  • I was just writing a little script to set up an at job on various Windows XP machines and came across the following:

    English XP:

    C:\> at 13:00 /every:M,T,W,Th,F "%PROGRAMFILES%\openaudit\audit.cmd" 

    Added a new job with job ID = 1

    C:\>

     

    works, fine.

     

    German XP:

    C:\> at 13:00 /every:M,T,W,Th,F "%PROGRAMFILES%\openaudit\audit.cmd"

    Sie haben eine Option mit einem ungültigen Wert verwendet.

    Mit dem Befehl AT können Befehle und Programme zu einem vorbestimmten
    Termin gestartet werden. Der Zeitplandienst muss gestartet sein, um den
    Befehl AT zu verwenden.

    AT [\\Computername] [ [Kennung] [/DELETE] | /DELETE [/YES]]
    AT [\\Computername] Zeit [/INTERACTIVE]
        [ /EVERY:Datum[,...] | /NEXT:Datum[,...]] "Befehl"

    \\Computername     Gibt einen Remotecomputer an. Ohne diesen Parameter werden
                       die Befehle auf dem lokalen Computer ausgeführt.
    Kennung            Eine Identifikationsnummer, die dem geplanten Befehl
                       zugeteilt wird.
    /DELETE            Löscht geplante Befehle. Ohne Kennung werden alle geplanten
                       Befehle auf dem Computer gelöscht.
    /YES               In Verbindung mit /DELETE werden die geplanten
                       Befehle ohne weitere Bestätigung gelöscht.
    Zeit               Gibt die Zeit an, zu der ein Befehl ausgeführt werden soll.
    /INTERACTIVE       Ermöglicht dem Auftrag, Eingaben von dem Benutzer anzu-
                       nehmen, der angemeldet ist, wenn der Auftrag ausgeführt
                       wird.
    /EVERY:Datum[,...] Führt den Befehl zu jedem der angegebenen Tage der Woche
                       oder des Monats aus. Ohne Angabe eines Datums wird der
                       aktuelle Tag des Monats angenommen.
    /NEXT:Datum[,...]  Führt den Befehl am nächsten angegebenen Tag aus (z.B.
                       nächsten Montag). Ohne Angabe eines Datums wird der aktuelle
                       Tag des Monats angenommen.
    "Befehl"           Ist der auszuführende Windows NT-Befehl oder Stapel-
                       programm.

     

    Turned out they localized the weekdays, so instead of M,T,W,Th,F i had to write Mo,Di,Mi,Do,Fr.  WTF?



  • @kshade said:

    Turned out they localized the weekdays, so instead of M,T,W,Th,F i had to write Mo,Di,Mi,Do,Fr.  WTF?

    Wow. That is a WTF. They should've just used day numbers and stuck with Sunday for start of week (day 1).



  • Doing that kind of makes sense, since a German person may not know the English days (just like I don't know the German days). Maybe it should use a more standard approach, like numbering the days, that way scripts can be consistent.



  • @AbbydonKrafts said:

    Sunday for start of week (day 1).
     

    That's a WTF all by itself...


  • Considered Harmful

    I don't see any collisions between the German and English day names, so why not have it accept both localized and English versions both?



  •  

    @kshade said:

    Wow. That is a WTF. They should've just used day numbers and stuck with Sunday for start of week (day 1).

     

    Good idea, except that Sunday is 0, except when Monday is 0, for which case Sunday is 6.   

    I took a class on a BMC product called Control-M, which is basically a multi-machine, cross-platform job scheduler on steroids.   During the class, they pointed out that the numerical representation of the day of week was dependent on localisation, with 0 being Sunday in most places, but Saturday if the localisation was set to Israel.



  • @Critter said:

    the numerical representation of the day of week was dependent on localisation

    Which is why you explictly call out in the documentation what the mapping is between the numbers and the days of the week.



  •  @rbowes said:

    Doing that kind of makes sense, since a German person may not know the English days (just like I don't know the German days). Maybe it should use a more standard approach, like numbering the days, that way scripts can be consistent.

    I don't think that makes sense. Most people had English classes in school and one of the first things (right after "Hello, my name is Peter" and "It's twelve o'clock") you learn are the weekdays.

    There's really no excuse for localizing them, especially since they left the parameters (and the commands name!) untouched.

    "At 13:00 every Montag, Dienstag, Mittwoch, Donnerstag und Freitag" is just an ugly mish-mash of tongues and won't run on other language versions.



  • You guys may not know, but Microsoft translated its embedded programming constructs, such as the functions in Excel, for many versions. Not sure if this is still the case with the latest versions. Anyway, it made you write cell functions such as:

        =WENN(E32="B";"some_text";"some_other_text")

     (where "WENN" actually means "IF" in german. Makes baby jesus cry)



  • @rbowes said:

    Doing that kind of makes sense, since a German person may not know the
    English days (just like I don't know the German days). Maybe it should
    use a more standard approach, like numbering the days, that way scripts
    can be consistent.

    And if I gave you a russian cmdlet script that you need to run would you be able to run it if it needed to call at?



  • @TheRider said:

    You guys may not know, but Microsoft translated its embedded programming constructs, such as the functions in Excel, for many versions. Not sure if this is still the case with the latest versions. Anyway, it made you write cell functions such as:

        =WENN(E32="B";"some_text";"some_other_text")

     (where "WENN" actually means "IF" in german. Makes baby jesus cry)


    Yes, that is indeed a RWTF&trade
    I once had to translate a perfectly working excel file because it didn't work on a dutch version. Reallyyyyy annoying.



  • Whoops, not in time to fix the &trade. Should be &trade ; (without the space) = ™



  • @dtech said:

    @TheRider said:

    You guys may not know, but Microsoft translated its embedded programming constructs, such as the functions in Excel, for many versions. Not sure if this is still the case with the latest versions. Anyway, it made you write cell functions such as:

        =WENN(E32="B";"some_text";"some_other_text")

     (where "WENN" actually means "IF" in german. Makes baby jesus cry)

    Yes, that is indeed a RWTF&trade
    I once had to translate a perfectly working excel file because it didn't work on a dutch version. Reallyyyyy annoying.
     

    No, that's alright, the whole point of translated softwares that you don't need to speak English in order to understand them. Not everybody speaks English and that's fair enough. The Real WTFTM is that Excel doesn't translate those keywords to their English counterparts in the background on the fly to achieve portability. It could still display the Dutch / Eskimo / whatever version on localised products.



  • @AbbydonKrafts said:

    Sunday for start of week (day 1).


    WTF?!? Check your ISO standards. Monday is the first day of the week. It should be day 1.

    And day 0 should NOT be assigned to Sunday (altough most date implementations will convert day 0 to Sunday to to support retarded programmers).



    For more information see: [url=http://www.iso.org/iso/support/faqs/faqs_widely_used_standards/widely_used_standards_other/date_and_time_format.htm]ISO FAQs - Numeric representation of Dates and Time[/url]



  • @DrJokepu said:

    The Real WTF™ is that Excel doesn't translate those keywords to their English counterparts in the background on the fly to achieve portability.


    As far as I have been able to determine, Excel does support this, in a very limited and mind numbing way. It will translate English function names to Dutch.

    I haven't able te test this further (I don't need the brain damage). However, I suspect the localized versions are only aware of the English function names and their localized versions. So German to Dutch won't work. English to German will work. But, since the English version is not aware of any localisation, you probably can never convert back to English (Excel won't let you save your file as 'English'). So once you save a Dutch file, you are limited to that version.



    Maybe if you have the proper localisation tools (which can change the language of your Microsoft software), you might be able to convert to the supported languages. But knowing MS, that probably won't work either...



  • @kshade said:

    Turned out they localized the weekdays, so instead of M,T,W,Th,F i had to write Mo,Di,Mi,Do,Fr.  WTF?

    WTF indeed. I'm German too, and I've nevery really understood the need to localize parameter values (even less: function names in Excel!). To be consequent, they should have renamed the application and all parameters, so that the poor english-illiterate home users can write something like:

    C:\um 13:00 /jeden:Mo,Di,Mi "%PROGRAMFILES%\bang\headontable.cmd"

    @kshade said:

    C:\> at 13:00 /every:M,T,W,Th,F "%PROGRAMFILES%\openaudit\audit.cmd"
     

    I think it's slightly amazing that you may write "13:00". I'd have expected "1pm" :-)

     



  • @joe.edwards said:

    I don't see any collisions between the German and English day names, so why not have it accept both localized and English versions both?
     

    Because they weren't thinking they weren't.- 



  • @tdittmar said:

    C:\um 13:00 /jeden:Mo,Di,Mi "%PROGRAMFILES%\bang\headontable.cmd"

     

    Nono,  that's

    C:\um 13:00 /jeden:Mo,Di,Mi "%PROGRAMMDATEIEN%\knall\koppauftisch.cmd"

    :p



  • Heh, I've been bitten by the at thing, too. Many machines here run Slovenian MUI, and that adds another interesting aspect to command-line applications - when translating their help, somebody helpfully translated all US-style "quotation marks" to »reverse French quotation marks« used here:

    AT [\imeračunalnika] čas [/INTERACTIVE]
    [ /EVERY:datum[,...] | /NEXT:datum[,...]] »ukaz«

    Of course, trying to use them in the actual command (assuming you know how to type them - they're not on the keyboard) will not work - you have to use the "normal" quotes.

    And I think we already agreed that Excel is a WTF in itself. Ever tried importing a CSV file in a locale that uses , as the decimal separator (and by CSV file I mean a file that uses , to separate fields, instead of ;, which is what you get when you export CSV from Excel on such locale)? Luckily, at least nobody got the bright idea to translate Excel's functions in Slovenian version.



  • @kshade said:

    Nono,  that's

    C:\um 13:00 /jeden:Mo,Di,Mi "%PROGRAMMDATEIEN%\knall\koppauftisch.cmd"

    :p

     

    :-D Unfortunately, the file name and path are up to the user... However, Microsoft should consider creating this folder and file during Windows setup. By default, this would show random screenshots of weird Windows error messages. Oh wait, we have SpecateSwamp Desktop Search for that... Forget it...



  • @kshade said:

    @tdittmar said:

    C:\um 13:00 /jeden:Mo,Di,Mi "%PROGRAMFILES%\bang\headontable.cmd"

     

    Nono,  that's

    C:\um 13:00 /jeden:Mo,Di,Mi "%PROGRAMMDATEIEN%\knall\koppauftisch.cmd"

    :p

    Wrong, wrong, WRONG! It has to be

     
    C:\um 13:00 /jeden:Mo,Di,Mi "%PROGRAMMDATEIEN%\knall\koppauftisch.bfl"

    "Command" is not German; obviously the proper word to use would be "Befehl". Likewise, .exe (executable) would have to become .aus (ausführbar).


Log in to reply