Freigeben über


Ny release, nya buggar...

Svensk IE7 nådde massorna strax före jul och svensk Windows Vista är på väg ut till butikerna - vissa kan redan hämta Vista från MSDN. Detta är alltså ett bra tillfälle att börja söka efter kommentarer från de användare som inte kunde delta i betaprogrammet.

Än så länge är det givetvis svårt att hitta feedback om svensk IE7/Vista, men jag snubblade över den här bloggposten: https://slammastera.blogspot.com/2006/12/bugg-i-ie7.html.

Problemet är följande: Om man startar svensk IE7 och öppnar menyn Sida ser man att kommandot "Nytt fönster" har acceleratorn Ctrl+W. Detta stämmer dock inte; Ctrl+W stänger aktuell flik (eller hela IE-instansen, om endast en flik är öppen). Rätt kommando för att öppna ett nytt fönster är istället Ctrl+N.

Jag har forskat i problemet, och så här ligger det till:

Detta rör sig om ett menyalternativ som även visar vilken accelerator som kan användas för att nå samma funktion. Som vi alla vet definieras den accelerator som visas i menyn helt separat från den accelerator som faktiskt leder till funktionen.*

Mitt favoritlokaliseringsverktyg har en funktion för automatöversättning, vilket innebär att vi kan översätta en strängresurs en gång och sedan återvinna översättningen när samma källtext förekommer igen. Den här funktionen är smart nog att identifiera och ignorera acceleratorer när den söker efter matchningar, men korkad nog att den i vissa fall kan resultera i en sträng där acceleratorn i översättningen skiljer sig från källtexten och från den accelerator som faktiskt fungerar.

Just den här strängen förekommer flera gånger i filen ieframe.dll, en av huvudfilerna för Internet Explorer 7. En av förekomsterna av strängen är den som visas i Arkiv-menyn, en annan förekomst används i Sida-menyn. Båda strängarna har följande källtext: "&New Window\tCtrl+N". Den första förekomsten översattes helt korrekt till "&Nytt fönster\tCtrl+N". På morgonen den 2006-03-15 automatöversatte sedan undertecknad den andra förekomsten - men av något skäl blev resultatet "&Nytt fönster\tCtrl+W". Varför? Ingen aning, faktiskt. Acceleratorerna i IE7 ändrades rätt ofta runt den här tiden, kanske användes tidigare Ctrl+W i källtexten och kanske innehöll den databas jag automatöversatte från en tidigare översättning med Ctrl+W... svårt att veta nu.

(Det är värt att notera att vi inte har någon funktionell bugg här, utan "bara" en ganska missvisande översättning. Acceleratorerna Ctrl+N och Ctrl+W fungerar som det är tänkt, men en av översättningarna kan lura användaren att använda fel accelerator. Ungefär som om man hade råkat översätta "OK" till "Avbryt" och "Cancel" till "OK". Kanske verkar detta som hårklyverier, men skillnaden innebär att det är lätt och säkert att fixa.)

Nu tänker kanske Vän av ordning att om acceleratorer är så vanliga och om Holmberg ska skylla på verktygen, borde inte detta problem finnas på fler ställen? I så fall har Vän av ordning helt rätt. Man kan hitta liknande miss på ytterligare ett halvdussin ställen i svensk Vista. Det tydligaste exemplet är i Kungen. Menyalternativet för funktionen "Ångra" visar att F10 är en giltig accelerator, men i själva verket är det Ctrl+Z som gäller.

I det här fallet kan jag tydligt se vad som skedde. Tidigt under Vista användes faktiskt F10 som accelerator för "Ångra". Vid något tillfälle ändrade utvecklaren accelerator till Ctrl+Z; vi såg att strängen i uppdaterats; vi automatöversatte och automatöversättningen återanvände glatt den tidigare acceleratorn.

Jag har kontrollerat ett dussin andra språk, och det verkar som om de flesta har en handfull sådana här problem. Mönstret börjar bli ganska tydligt; det rör sig ofta om situationer då acceleratorn har uppdaterats under projektets gång.

Ok, så nu har vi hyfsad förståelse för hur problemet uppstår. Vad gör vi åt det?

1) Jag har lagt in en bugg om just Ctrl+W-buggen i svensk IE7 och ska hoppas kunna fixa den strängen i Vista SP1. Det bör ta hand om just den här förekomsten.
2) Vi håller på att bygga på våra kvalitetskontrollverktyg så att de i framtiden kan fånga upp sådana här problem. Det bör innebära att vi tidigt kan upptäcka om detta sker igen, oavsett språk.
3) Vi ska försöka få automatöversättningsfunktionen fixad så att den hanterar acceleratorer bättre. Det bör dramatiskt minska risken att felet över huvud taget uppstår.

Om du använder svensk Vista, IE eller Media Player och hittar något översättningsfel, ser nåt som ser knas ut, eller bara har några frågor eller synpunkter på översättningsarbetet får du hemskt gärna kontakta mig. Stort eller litet spelar ingen roll - allt som kan leda till att vi levererar en bättre produkt är av intresse!

* se https://blogs.msdn.com/jesperh/archive/2007/01/09/vad-r-skillnaden-mellan-snabbtangenter-och-acceleratorer.aspx

Comments

  • Anonymous
    January 10, 2007
    Jag antar att det är för sent att klaga på "Vanliga Filer". =) Just Ctrl+W är faktiskt ett vanligt skämt bland "kidsen" - särskilt på Lunarstorm och liknande ungdomscommunitysajter skriver man gärna "Vill du prova nåt kul? Tryck Ctrl+W så får du se..." på sina presentationssidor. =) Hade ordet "ungdomscommunitysajter" tillåtits passera ostört genom en korrekturläsning i Redmond?

  • Anonymous
    January 10, 2007
    Om språkavdelningen fick bestämma hade vi alla gånger översatt så här: ...och liknande YCS:er (Youth Community Sites) skriver man... :)

  • Anonymous
    January 13, 2007
    Hejsan. Har just laddat hem och installerat svenska Vista (32 bit) från MSDN. Det börjar bra, "Tryck ner valfri tangent för att starta .." och leder till skärmen "Windows is loading files", hmmm. Såg några andra saker också när jag kollade runt. Högerklickar man på en gadget så finns valet "Genomskinlighet" som är satt till 100% som standard. Genomskinlighet=100% är för mig något man inte kan se. I Systemegenskaper under fliken Systemskydd hittade jag något annat jag inte riktigt var med på. Där finns en lista på alla "Tillgängliga diskar", väljer man att ta bort markeringen på en disk (alltså stänga av skyddet) får man upp en dialog som säger "Vill du stänga av Systemåterställning?" men knappen säger "Aktivera Systemskydd". Och varför är det stora S över allt? Sen kommer vi till det här med namnen på mapparna, C:Users och C:Program files. Varför visas dom som C:Användare och C:Program i Windows? Vem vill ha det så? Jag rapporterade om felet med TelnetClients-gruppen för, hmmm, ett par år sedan och var givetvis tvungen att kolla det i Vista. Det står faktiskt nästan inget om Telnet-servern i hjälpen nu utan man hänvisas till en web-sida även om servern finns att installera. Men informationen på sidan är rätt i varje fall. :)

  • Anonymous
    January 13, 2007
    Frågan är om originaltexten för "Genomskinlighet" är "Transparency" eller "Opacity". Är det det förra, är det rätt översatt men fel tänkt från början, är det det senare, är det fel översatt. Stora S kan innebära att själva företeelserna räknas som produktnamn, vilket skulle medföra stor bokstav, till skillnad från bara vanliga ord. =) Mappnamnen (Användare och Program i Windows) tycker jag är bra att man översätter - särskilt när man har med "vanliga användare" att göra. Programmerare behöver ju aldrig bekymra sig om vilket språk man använder - mapparna hittar man ju ändå.

  • Anonymous
    January 13, 2007
    Nu har jag avinstallerat den engelska versionen av Vista så tyvärr vet jag inte vad det står i stället för "Genomskinlighet" där. Angående namnen på mapparna så tycker jag att det är fel att visa något som inte finns. Det största problemet är väll att miljövariablerna pekar på det riktiga namnet t.ex. ProgramFiles=C:Program Files, PUBLIC=C:UsersPublic osv (i varje fall i min installation). Det gör att program man installerar skriver att den vill installera sig i C:Program Files[Programnamn] men den finns inte (tror man). Skapar mer förvirring än något annat. Vet inte om man kan Vista anpassa sina installationsfiler så dom använder det översatta namnet och inte miljövariabeln direkt. Det hela borde väll gå att slå av i registret kan jag tro, får se vad Jeppe svarar.

  • Anonymous
    January 14, 2007
    Nja - när det gäller den typen av mappar har inte miljövariabler särskilt mycket med saken att göra. Installationsprogram använder varken miljövariabler eller faktiska sökvägar (om installationsprogrammen är rätt skrivna, vill säga). Rätt skrivna applikationsprogram ska inte heller använda sökvägar direkt, oavsett om de är hårdkodade eller anpassningsbara via inställningar. I .NET kan man använda Environment.GetFolderPath(SpecialFolder.ProgramFiles) för att hämta sökvägen till C:Program Files (eller motsvarande) och i WIN32 API är det SHGetFolderPath(...) som gäller. Miljövariabeln %PROGRAMFILES% är egentligen ingen "riktig" miljövariabel (kolla i Egenskaper för Den här datorn, välj Avancerat och Miljövariabler, så ser du att den inte finns med i listan), utan är en spegling av just specialmappen. Om alla program du installerat är korrekt skrivna, kan du utan problem med tungan rätt i mun flytta dina programfiler till en annan mapp och ändra i registret så att %PROGRAMFILES% pekar på rätt katalog. De program som är felskrivna och använder sökvägar direkt kommer troligen att sluta fungera. Samma gäller för Mina dokument, Skrivbordet med mera.

  • Anonymous
    January 21, 2007
    Det står "Opacity" i den engelska versionen. Angående "Windows is loading files", så är det nog by design. Påpekade det under sluskedet av beta-testningen, men gissar att tiden inte räckte till för att ändra till svenska...

  • Anonymous
    January 25, 2007
    The comment has been removed

  • Anonymous
    January 26, 2007
    The comment has been removed

  • Anonymous
    January 28, 2007
    Hej, Google.se finns sedan länge tillgänlig.