先前寫過一篇Post,介紹過如何用Trixie在IE加上自訂Script,一直以來還沒真的拿來寫些實用的東西,今天開張了!!

使用Google查詢連結到MS的KB時(例如: http://support.microsoft.com/kb/826007),微軟的Support網站會很貼心地視Browser的預設語系,自動切換成該語系的語言版本。

只是中文版KB分為兩種,一種是請人以中文重新翻譯撰寫過的,另一種看似中文,實際上卻是令人舌頭打結,眼睛出血的機器英翻中。

雖然,頁面上已明顯地標明了警語:

注意:本文是不經人為參與的自動機器翻譯系統翻譯完成。這些文章是Microsoft為非英語系國家使用者所提供,讓使用者可以了解文章的內容。Microsoft 不保證翻譯的語言品質也不對由於內容的錯譯或客戶針對內容使用所發生的任何直接或間接可能的問題負責。

但我還是無法接受,既然自知品質難以被人接受,為何還好意思把它變成某些人的預設內容?? 就好像先聲明吸煙會致癌,然後再塞了根煙到你嘴裡般令人不快。

// ==UserScript==
// @name          MS KB強制原文顯示
// @namespace     http://www.darkthread.net
// @description      避免MS開啟KB時自動跳至自動中文翻譯版本
// @include       http://support.microsoft.com/kb/*
// @exclude          http://support.microsoft.com/kb/*/en-us
// ==/UserScript==
(function()
{
    var divDefault = document.getElementById("default");
    if (divDefault) {
        for (var i=0; i<divDefault.childNodes.length; i++) {
            var node=divDefault.childNodes[i];
            if (node.tagName && node.tagName=="DIV" 
                && node.className=="disclaimer mt"
                && node.innerText.indexOf("不保證翻譯的語言品質")>-1
                )
            {
                //用location.replace,將自動翻譯版本從History中剔除
                document.location.replace(
                    document.location.href.replace("/zh-tw","")
                    +"/en-us"
                );
                break;
            }
        }
    }
})();

於是我用Trixie自力救濟一番,寫了以上的Script。當發現MS KB中出現"不保證翻譯的語言品質"云云,立即自動切到英文原文,以免讀了機器翻的爛中文傷眼睛,或是屢屢切換累手指。

整個Script很簡單,就不多做說明,只補充一個Javascript小技巧: 這裡切換網頁用的是location.replace(),而不是用location.href=new_url的寫法。主要原因是可以避免轉址過程被保留在瀏覽記錄中,到時按回上頁要多按一次。


Comments

Be the first to post a comment

Post a comment