返回列表 发帖

[版本发布] [插件]Google多國語言網頁互譯插件

Google多國語言網頁互譯
翻譯整個頁面至選擇的語言
改自雜草的altavista版本, 因為yahoo頻繁更改網頁, 導致最近經常失效
找個穩定一點的網頁翻譯
已把所有語言全添加進去, 原本只加幾種而已。

來看看翻譯後的英文版世界之窗論壇畫面吧!


[ 本帖最后由 saya 于 2007-9-18 12:49 编辑 ]
附件: 您需要登录才可以下载或查看附件。没有帐号?加入 我们

不能直接點html檔, 那只是個script而已。不是完整網頁。
你點了, 當然會出現你所Post的內容
在你TW開啟的要翻譯的網頁中, 點狀態欄的插件圖標, 就會自動生成新的翻譯頁面。
不是讓你直接點插件目錄下html的。

TOP

廣告過濾的彈出廣告過濾要關掉, 因為它是彈出新視窗顯示翻譯後頁面, 但應該會出現警告訊息才是。
若不行, 應該是廣告過濾中的黑名單造成的吧?

TOP

請問一下您的作業系統? 是XP嗎?
其他插件都正常?

第一次遇上這種問題。
要不要試著將TW的執行檔換個目錄, 單獨只在plugin目錄放這個插件目錄。
記得好像一些舊的ini設定檔會使插件錯亂或沒反應。

TOP

因為你直接點html有出現一個語言選擇視窗, 然後才出現你POST的那個網址不存在的頁面, 所以script是有作用。
唯一的問題就是TW的環境設定了。
要不要把TW目錄下, 只留TheWorld.exe, 及Plugin目錄
其他TheWorld.ini/.xml/...等等的所有檔案全數刪除再試
(其實就是是剛才#11要你試的, 把TW"執行檔(.exe)"換個目錄)

真不行, 可能就要問一下開發組了。
我的系統XP SP2/TW 2.0.5.6是正常。

TOP

原帖由 nosa-1 于 2007-8-26 22:00 发表 http://bbs.ioage.com/cn/images/common/back.gif
我的依然不能用


你真的有照上面說的試過嗎?
若不行, 下這個回去, 解到D:\下, 雙擊解開後目錄的Theworld.exe, 因為是繁中版, 出現亂碼就不用理了, 去掉彈出視窗的廣告過濾, 隨便開個要翻譯的網頁, 再點下方的插件圖標
看有沒有在開啟頁面的中間出現選擇翻譯語言的視窗
點擊合適的後, 看有沒有開新頁面顯示翻譯結果
若可以, 就表示你的Theworld.ini檔有問題或插件超過TW容許上限
還不行, 那我也沒辦法了, 因為這是個人的環境問題, 不是我能解決的。
附件: 您需要登录才可以下载或查看附件。没有帐号?加入 我们

TOP

回复 #19 擱淺Δē√瑷 的帖子

問題一:
objPopup.show(screen.width/2 - 75, screen.height/2 - 80, 160, 80);
screen.width/2-75
選框離左邊距離為(螢幕寬度/2 - 75)px位置
screen.height/2 - 80
選框離上方距離為(螢幕高度/2 - 80)px位置
160
選框寬度
80
選框高度

問題二
objBody.style.margin = 10;
選寬離上下左右距離10px, (因為置中, 所以左右方會參考問題一寬度)
var strInner = "<center><select id=toLang size=19 onclick=parent.goGoogle(this.value)>";
size為選框內選項數目19個

因你只有4個, 所以若要完整顯示, 源碼要改為下面就沒問題了。

<script language="Javascript">
function goGoogle(toLang)
{
    if (objPopup) objPopup.hide();
    var newwin = top.window.open();
    if (newwin)
        newwin.location = "http://www.google.com.cn/translate?u="+top.document.location+"&langpair="+toLang+"&hl=zh-CN&ie=UTF8";
    else
        alert("弹出窗口被拦截。");
}
var objPopup = window.createPopup();
var objBody = objPopup.document.body;
objBody.style.border = "1 black solid";
objBody.style.margin = 10;
var strInner = "<center><select id=toLang size=4 onclick=parent.goGoogle(this.value)>";
strInner += "<option value=en|zh-CN>英文至中文(简体)</option>";
strInner += "<option value=zh|en>中文至英文</option>";
strInner += "<option value=zh-CN|zh-TW>中文(简体至繁体)</option>";
strInner += "<option value=zh-TW|zh-CN>中文(繁体至简体)</option>";
strInner += "</select></center>";
objBody.innerHTML = strInner;
objPopup.show(screen.width/2 - 75, screen.height/2 - 80, 150, 95);
</script>

TOP

原帖由 擱淺Δē√瑷 于 2007-8-27 18:48 发表 http://bbs.ioage.com/cn/images/common/back.gif
objPopup.show(screen.width/2 - 75, screen.height/2 - 80, 160, 80);
光改75 80不行,不能移到右下
后来我去掉了/2,自己跑右下角了,改数字不能移动


看來你還是不懂?

screen.width是螢幕寬度
若你設定為1024x768
則screen.width=1024
若設定為800x600
則screen.width=800
依每個人的螢幕設定這個值會變化

screen.width/2表示螢幕正中央
screen.width/2-75表示螢幕正中央再向左偏75個px

即1024x768的設定時, 框的左上角座標為由螢幕最左方數過來的距離為(screen.width/2-75)=1024/2-75=437px的位置
你去掉/2, 當然起始點是1024, 就是螢幕最右邊的位置。
但你改數字(screen.width-587), 一樣會是在離螢幕左邊的座標437px的位置。
這樣解釋清楚了嗎?

TOP

回复 #27 tommy8o8 的帖子

兩全齊美喔?

解決方法有二
1.使用frame, iframe
2.原頁刷新

簡單一點, 使用方法2, 麻煩你修改插件目錄下的googletranslate.htm

function goGoogle(toLang)
{
    if (objPopup) objPopup.hide();
    var newwin = top.window.open();
    if (newwin)
        newwin.location = "http://www.google.com.cn/translate?u="+top.document.location+"&langpair="+toLang+"&hl=zh-CN&ie=UTF8";
    else
        alert("彈出視窗被攔截。");
}
改成
function goGoogle(toLang)
{
    if (objPopup) objPopup.hide();
    location.href='http://www.google.com.cn/translate?u='+document.location.href+'&langpair='+toLang+'&hl=zh-CN&ie=UTF8';
}
就不會被廣告過濾給濾掉了。

TOP

它是把整個網頁翻譯
點擊到另一個鏈接後, 已是另一個網頁, 當然要再點插件重新翻譯。

你說失效? 不是很懂你的問題
請舉例詳述一下。

TOP

沒問題呀, 開了二個頁面
各自點擊插件, 都可以正常翻譯
Google強的地方是, 翻好的頁面, 點同頁面其中的鏈結, 點進去的仍是翻譯好的頁面, 不用重新點擊

TOP

返回列表