Giter Site home page Giter Site logo

g0v / moedict-webkit Goto Github PK

View Code? Open in Web Editor NEW
586.0 60.0 96.0 165.22 MB

萌典網站

Home Page: https://www.moedict.tw/

HTML 2.90% Makefile 0.21% JavaScript 10.87% CSS 14.57% Java 0.15% LiveScript 6.29% Perl 0.48% Ruby 0.04% Objective-C 32.12% Shell 0.42% Python 0.28% Dockerfile 0.10% Pug 1.06% SCSS 28.16% Sass 2.07% C 0.26%
g0v moedict cordova nodejs

moedict-webkit's Introduction

這是 http://moedict.tw/ 線上及離線查詢 App 的源碼庫。

Docker

可以從 Docker Hub 取回開發環境:

docker@boot2docker:~$ docker pull miaoski/moedict-webkit
docker@boot2docker:~$ docker run -p 8888:8888 -t -i miaoski/moedict-webkit /bin/bash
root@4a7bd751fd9e:/usr/local/src/moedict-webkit# make

需求

  • Node.js 0.10.x+
    • npm
  • Perl 5.8.0+
  • Python
    • lxml

在 macOS 上,目前僅支援 HFS+ 作為開發環境。High Sierra 以後的版本, 請先用 Disk Utility 建立一個 HFS+ 分割區,再將開發目錄移至該卷宗。

前置作業 (Debian/Ubuntu)

Ubuntu 16.04 之前的發行版

sudo apt-get update
sudo apt-get install -y python g++ make nodejs python-lxml curl npm

Ubuntu 16.04(含)之後的發行版

sudo apt update
sudo apt install -y python g++ make nodejs python-lxml curl npm

安裝環境

npm i
pip install lxml
sudo npm i -g gulp

建置

建置離線檔案

建置離線瀏覽所需要的檔案:

make offline

手動逐步建置

來源 JSON 檔 dict-revised.unicode.jsondict-revised.pua.jsonhttps://github.com/g0v/moedict-data 提供, 再經由 https://github.com/g0v/moedict-epub 造字轉換程式 json2unicode.pl 轉為 Unicode 編碼:

git clone --depth 1 https://github.com/g0v/moedict-data.git
git clone --depth 1 https://github.com/g0v/moedict-epub.git
cp -v moedict-data/dict-revised.json moedict-epub/
cd moedict-epub
perl json2unicode.pl > dict-revised.unicode.json
perl json2unicode.pl sym-pua.txt > dict-revised.pua.json

packat 資料目錄由 json2prefix.lsautolink.lslink2pack.pl 程式產生:

lsc json2prefix.ls a
lsc autolink.ls a > a.txt
perl link2pack.pl a < a.txt

lsc json2prefix.ls t
lsc autolink.ls t > t.txt
perl link2pack.pl t < t.txt

本機運行

# quick static server, uses the pre-built js/deps.js ( watches: sass/ .jade )
npm start

# auto-reloads with react-hot-loader ( watches: sass/ .jade .ls )
npm run dev

# builds for deployment, using webpack and uglify
npm run build

API 說明

首先請注意,萌典 API 必須去詢問 https://www.moedict.tw/,因為這個網址才有開 CORS。不要去訪問 http://moedict.org/ ,會噴 No 'Access-Control-Allow-Origin' header 的錯誤。

API 的原始資料,請參考連結,本段落的說明是參考連結整理後並加上範例。

目前 API 已有 7 個端點,分別是 /a/, /t/, /h/, /c/, /raw/, /uni/, /pua/

1. /raw/

原始 json 檔,Big5 區之外的字以造字碼 {[abcd]} 表示。

範例: https://www.moedict.tw/raw/%E8%90%8C

{
  "heteronyms": [
    {
      "bopomofo": "ㄇㄥˊ",
      "bopomofo2": "méng",
      "definitions": [
        {
          "def": "草木初生的芽。",
          "quote": [
            "說文解字:「萌,艸芽也。」",
            "唐.韓愈、劉師服、侯喜、軒轅彌明.石鼎聯句:「秋瓜未落蒂,凍芋強抽萌。」"
          ],
          "type": ""
        },
        {
          "def": "事物發生的開端或徵兆。",
          "quote": [
            "韓非子.說林上:「聖人見微以知萌,見端以知末。」",
            "漢.蔡邕.對詔問{[9264]}異八事:「以杜漸防萌,則其救也。」"
          ],
          "type": ""
        },
        {
          "def": "人民。",
          "example": [
            "如:「萌黎」、「萌隸」。"
          ],
          "link": [
            "通「氓」。"
          ],
          "type": ""
        },
        {
          "def": "姓。如五代時蜀有萌慮。",
          "type": ""
        },
        {
          "def": "發芽。",
          "example": [
            "如:「萌芽」。"
          ],
          "quote": [
            "楚辭.王逸.九思.傷時:「明風習習兮龢暖,百草萌兮華榮。」"
          ],
          "type": ""
        },
        {
          "def": "發生。",
          "example": [
            "如:「故態復萌」。"
          ],
          "quote": [
            "管子.牧民:「惟有道者,能備患於未形也,故禍不萌。」",
            "三國演義.第一回:「若萌異心,必獲惡報。」"
          ],
          "type": ""
        }
      ],
      "pinyin": "méng"
    }
  ],
  "non_radical_stroke_count": 8,
  "radical": "",
  "stroke_count": 12,
  "title": ""
}

2. /uni/

將原始 json 檔,Big5 區之外的字轉成相應的 Unicode 字元表示。

範例: https://www.moedict.tw/uni/%E8%90%8C

{
  "heteronyms": [
    {
      "bopomofo": "ㄇㄥˊ",
      "bopomofo2": "méng",
      "definitions": [
        {
          "def": "草木初生的芽。",
          "quote": [
            "說文解字:「萌,艸芽也。」",
            "唐.韓愈、劉師服、侯喜、軒轅彌明.石鼎聯句:「秋瓜未落蒂,凍芋強抽萌。」"
          ],
          "type": ""
        },
        {
          "def": "事物發生的開端或徵兆。",
          "quote": [
            "韓非子.說林上:「聖人見微以知萌,見端以知末。」",
            "漢.蔡邕.對詔問灾異八事:「以杜漸防萌,則其救也。」"
          ],
          "type": ""
        },
        {
          "def": "人民。",
          "example": [
            "如:「萌黎」、「萌隸」。"
          ],
          "link": [
            "通「氓」。"
          ],
          "type": ""
        },
        {
          "def": "姓。如五代時蜀有萌慮。",
          "type": ""
        },
        {
          "def": "發芽。",
          "example": [
            "如:「萌芽」。"
          ],
          "quote": [
            "楚辭.王逸.九思.傷時:「明風習習兮龢暖,百草萌兮華榮。」"
          ],
          "type": ""
        },
        {
          "def": "發生。",
          "example": [
            "如:「故態復萌」。"
          ],
          "quote": [
            "管子.牧民:「惟有道者,能備患於未形也,故禍不萌。」",
            "三國演義.第一回:「若萌異心,必獲惡報。」"
          ],
          "type": ""
        }
      ],
      "pinyin": "méng"
    }
  ],
  "non_radical_stroke_count": 8,
  "radical": "",
  "stroke_count": 12,
  "title": ""
}

3. /pua/

與 /uni/ 相同,已使用 Unicode 字元,但動態組字改用 @medicalwei 的造字替代。

以「淘漉」為例,內容有一字在 raw 是 {[9ad7]},在 uni 是 ⿰扌層,在 pua 是 U+F9AD7。

若要顯示 PUA,必須引用萌典字型 woffttf

範例: https://www.moedict.tw/pua/%E8%90%8C

{
  "heteronyms": [
    {
      "bopomofo": "ㄇㄥˊ",
      "bopomofo2": "méng",
      "definitions": [
        {
          "def": "草木初生的芽。",
          "quote": [
            "說文解字:「萌,艸芽也。」",
            "唐.韓愈、劉師服、侯喜、軒轅彌明.石鼎聯句:「秋瓜未落蒂,凍芋強抽萌。」"
          ],
          "type": ""
        },
        {
          "def": "事物發生的開端或徵兆。",
          "quote": [
            "韓非子.說林上:「聖人見微以知萌,見端以知末。」",
            "漢.蔡邕.對詔問灾異八事:「以杜漸防萌,則其救也。」"
          ],
          "type": ""
        },
        {
          "def": "人民。",
          "example": [
            "如:「萌黎」、「萌隸」。"
          ],
          "link": [
            "通「氓」。"
          ],
          "type": ""
        },
        {
          "def": "姓。如五代時蜀有萌慮。",
          "type": ""
        },
        {
          "def": "發芽。",
          "example": [
            "如:「萌芽」。"
          ],
          "quote": [
            "楚辭.王逸.九思.傷時:「明風習習兮龢暖,百草萌兮華榮。」"
          ],
          "type": ""
        },
        {
          "def": "發生。",
          "example": [
            "如:「故態復萌」。"
          ],
          "quote": [
            "管子.牧民:「惟有道者,能備患於未形也,故禍不萌。」",
            "三國演義.第一回:「若萌異心,必獲惡報。」"
          ],
          "type": ""
        }
      ],
      "pinyin": "méng"
    }
  ],
  "non_radical_stroke_count": 8,
  "radical": "",
  "stroke_count": 12,
  "title": ""
}

4. 國語 /a/

已使用 PUA 造字,再加上內文自動斷詞。

範例: https://www.moedict.tw/a/%E8%90%8C.json

{
  "n": 8,
  "t": "",
  "r": "`艸~",
  "c": 12,
  "h": [
    {
      "d": [
        {
          "q": [
            "`說文解字~:「`萌~,`艸~`芽~`也~。」",
            "`唐~.`韓愈~、`劉~`師~`服~、`侯~`喜~、`軒轅~`彌~`明~.`石~`鼎~`聯句~:「`秋~`瓜~`未~`落~`蒂~,`凍~`芋~`強~`抽~`萌~。」"
          ],
          "type": "`名~",
          "f": "`草木~`初~`生~`的~`芽~。"
        },
        {
          "q": [
            "`韓非子~.`說~`林~`上~:「`聖人~`見~`微~`以~`知~`萌~,`見~`端~`以~`知~`末~。」",
            "`漢~.`蔡邕~.`對~`詔~`問~`灾~`異~`八~`事~:「`以~`杜漸防萌~,`則~`其~`救~`也~。」"
          ],
          "type": "`名~",
          "f": "`事物~`發生~`的~`開端~`或~`徵兆~。"
        },
        {
          "type": "`名~",
          "l": [
            "`通~「`氓~」。"
          ],
          "e": [
            "`如~:「`萌黎~」、「`萌隸~」。"
          ],
          "f": "`人民~。"
        },
        {
          "type": "`名~",
          "f": "`姓~。`如~`五代~`時~`蜀~`有~`萌~`慮~。"
        },
        {
          "q": [
            "`楚辭~.`王~`逸~.`九思~.`傷~`時~:「`明~`風~`習習~`兮~`龢~`暖~,`百草~`萌~`兮~`華~`榮~。」"
          ],
          "type": "`動~",
          "e": [
            "`如~:「`萌芽~」。"
          ],
          "f": "`發芽~。"
        },
        {
          "q": [
            "`管子~.`牧民~:「`惟~`有道~`者~,`能~`備~`患~`於~`未~`形~`也~,`故~`禍~`不~`萌~。」",
            "`三國演義~.`第一~`回~:「`若~`萌~`異心~,`必~`獲~`惡報~。」"
          ],
          "type": "`動~",
          "e": [
            "`如~:「`故態復萌~」。"
          ],
          "f": "`發生~。"
        }
      ],
      "p": "méng",
      "b": "ㄇㄥˊ",
      "=": "0676"
    }
  ],
  "translation": {
    "francais": [
      "germer"
    ],
    "Deutsch": [
      "Leute, Menschen  (S)",
      "Meng  (Eig, Fam)",
      "keimen, sprießen, knospen, ausschlagen "
    ],
    "English": [
      "to sprout",
      "to bud",
      "to have a strong affection for (slang)",
      "adorable (loanword from Japanese `萌~え moe, slang describing affection for a cute character)"
    ]
  }
}

5. 閩南語 /t/

結構基本同 /a/

範例: https://www.moedict.tw/t/%E7%99%BC%E7%A9%8E.json

{
  "t": "`發~`穎~",
  "h": [
    {
      "_": "8778",
      "T": "huat-ínn",
      "s": "`發芽~",
      "d": [
        {
          "type": "`動~",
          "f": "`發芽~、萌`芽~。`植物~`的~`種子~`發出~`芽~。",
          "e": [
            "`樹仔~`發穎~`矣~!Tshiū-á huat-ínn--ah! `樹~`發芽~`了~!"
          ]
        }
      ]
    }
  ]
}

6. 客語 /h/

結構基本同 /a/

範例: https://www.moedict.tw/h/%E7%99%BC%E8%8A%BD.json

{
  "t": "`發~`芽~",
  "h": [
    {
      "=": "02735",
      "p": "四?⃞fad²nga¹¹ 海?⃞fad⁵nga⁵⁵ 大?⃞fad²¹nga¹¹³ 平?⃞fad²nga⁵⁵ 安?⃞fad²⁴nga⁵³",
      "s": "`暴~`芽~,`暴筍~",
      "d": [
        {
          "e": [
            "`春天~`一~`到~,`草~`仔~`樹仔~`相賽~`開始~`發芽~。`春天~`一~`到~,`草~`木~`相~繼`開始~萌`芽~。"
          ],
          "f": "`植物~`的~`種~`子~,`因~`本身~`的~`生理~、`外~`部~`環~`境~`條件~`的~`合適~,`而~`開始~萌`發~`的~`一~`種~`現象~。",
          "type": "`動~"
        }
      ]
    }
  ]
}

7. 兩岸詞典 /c/

結構基本同 /a/

範例: https://www.moedict.tw/c/%E9%BE%8D.json

{
  "t": "",
  "h": [
    {
      "p": "lónɡ",
      "A": "",
      "d": [
        {
          "e": [
            "例?⃝「`飛~`龍~`在~`天~」、「`生龍活虎~」、「`葉公好龍~」、「`畫龍點睛~」。"
          ],
          "f": "`傳說~`中的~`神異~`動物~,`有~`角~、`鱗~、`爪~、`鬚~,`能~`上天~`入~`水~,`興~`雲~`降雨~。"
        },
        {
          "e": [
            "例?⃝「`龍顏~`大~`怒~」、「`龍~`體~`欠安~」、「`龍~`子~`龍~`孫~」。"
          ],
          "f": "`古代~`用作~`帝王~`的~`象徵~;`也~`指~`與~`帝王~`相關~`的~`物~`或~`人~。"
        },
        {
          "e": [
            "例?⃝「`人中~`之~`龍~」。"
          ],
          "f": "`借~`指~`首領~`或~`豪傑~`才~`俊~。"
        },
        {
          "e": [
            "例?⃝「`龍~`旗~」、「`龍舟~」、「`龍~`票~」。"
          ],
          "f": "`形狀~`像~`龍~`或~`裝飾~`著~`龍~`的~`圖案~`的~。"
        },
        {
          "e": [
            "例?⃝「`排~`成長~`龍~」、「`車水馬龍~」、「`大火~`蔓延~`一片~,`形成~`一~`條~`火龍~」。"
          ],
          "f": "`指~`某~`些~`連~`成~`一~`串~,`形狀~`像~`龍~`的~`東西~。"
        },
        {
          "e": [
            "例?⃝「`恐龍~」、「`翼~`手~`龍~」。"
          ],
          "f": "`指~`遠~`古~`某~`些~`巨大~`的~`爬行動物~。"
        },
        {
          "f": "`姓~。"
        },
        {
          "f": "`二~`一~`四部~`首~`之~`一~。"
        }
      ],
      "_": "1048060000",
      "b": "ㄌㄨㄥˊ"
    }
  ],
  "translation": {
    "francais": [
      "dragon",
      "impérial",
      "(nom de famille)",
      "212e radical"
    ],
    "Deutsch": [
      "Drache  (S)",
      "Long (Name)  (Eig, Fam)",
      "Schlange (auf der Speisekarte)  (Ess)",
      "Radikal Nr. 212 = Drache, Drachen "
    ],
    "English": [
      "surname Long",
      "dragon",
      "CL:`條~|条[tiao2]",
      "imperial"
    ]
  }
}

API 使用範例

Ajax

/uni/ 範例

 $.ajax({
   url: "https://www.moedict.tw/uni/萌",
   dataType: "json",
   success: function(result) {
     console.log(result);
   }
 });

/a/ 範例

 $.ajax({
   url: "https://www.moedict.tw/a/萌.json",
   dataType: "json",
   success: function(result) {
     console.log(result);
   }
 });

jsonp

callback= 參數須固定為 moedict_jsonp_callback

範例: https://www.moedict.tw/uni/萌?callback=moedict_jsonp_callback

ajax 範例

 $.ajax({
   url: "https://www.moedict.tw/uni/萌",
   dataType: "jsonp",
   jsonpCallback: "moedict_jsonp_callback",
   success: function(result) {
     console.log(result);
   }
 });

Terminal

/uni/ 範例

$ curl "https://www.moedict.tw/uni/萌"

/a/ 範例

$ curl "https://www.moedict.tw/a/萌.json"

其他

index.*.json 為「重編國語辭典(修訂本)」的完整詞條清單。

dict-concised.audio.json 為「國語辭典簡編本」的詞條發音 檔名清單。

其他平台版本、API 及原始資料等,均可在 http://3du.tw/ 取得。

感謝 http://g0v.tw/ 頻道內所有協助開發的朋友們。

CC0 1.0 公眾領域貢獻宣告

除前述資料檔之外,本目錄下的所有其他檔案,由作者 唐鳳 在法律 許可的範圍內,拋棄該著作依著作權法所享有之權利,包括所有相關 與鄰接的法律權利,並宣告將該著作貢獻至公眾領域。

教育部國語辭典公眾授權網

http://resources.publicense.moe.edu.tw/

教育部版權頁

    =====================================================
    編  輯  者:        教育部國語推行委員會
    國語推行委員會主任委員:童春發
    編輯委員會主任委員:    李 鍌
    總  編  輯:        李殿魁
    副 總 編 輯:        曾榮汾

    發  行  人:        杜正勝
    發  行  所:        教育部
    地     址:        臺北市中山南路5號
    電     話:        (02)7736-6801
    =====================================================

moedict-webkit's People

Contributors

a-tsioh avatar audreyt avatar c9s avatar caasi avatar chen17 avatar clkao avatar daixiaoluck avatar dependabot[bot] avatar ethantw avatar gkjcjg avatar gugod avatar hms5232 avatar imzack avatar kcwu avatar lwhsu avatar miaoski avatar miaout17 avatar miau715 avatar muan avatar peterdavehello avatar rexyuan avatar sea-n avatar timdream avatar viirya avatar wildjcrt avatar yhsiang avatar youchenlee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moedict-webkit's Issues

some symbols missing on android

I know new font from moedict-epub is not in android version app. So I use chrome browser to visit http://moedict.tw/

From android chrome browser,
https://www.moedict.tw/#八卦
I see the symbols in 陰(⚋)、陽(⚊)are blank. And I can see symbols in 乾(☰)、兌(☱)、離(☲)、震(☳)、巽(☴)、坎(☵)、艮(☶)、坤(☷)

加上書籤功能

或是查詢紀錄... 但感覺書籤(用 fontawesome 的星號圖示?)較實用。

link back to moe dict official site

Please provide link to official site, like
dict.revised.moe.edu.tw/cgi-bin/newDict/dict.sh?idx=dict.idx&cond=^%B5%DE$&pieceLen=50&fld=1&cat=&imgFont=1

(this requires big5 encoding)

支援部件檢字

如可用「口大心」或「因心」檢索「恩」字
方便查詢易拆組而用一般輸入法難輸入的字

P.S.已經做了些survey,稍後補上

客語發音圖示

按條目下方的「四海大平安」可以發音,但界面上沒有指示。三個可能的解法:

  1. 按三角形圖示後輪流各唸一遍
  2. 三角形圖示 hover 或 tap 後,highlight 「四海大平安」
  3. 「四海大平安」各自出現小三角形圖示

IE8: layout bug

The search bar is at the bottom instead of at the left as webkit. This is fine.
However the "link to moe site" button overlapped with the search bar.

[ANDROID] Unable to switch language

I was looking at the Hakka dictionary before upgrading to the latest version. After the upgrade, I could switch to Mandarin but not to Minnan. After switching to Mandarin I could no longer switch to either Minnan or Hakka.

Android 2.3.6

Clarify Prerequisites

Noticed that the build prerequisites only specify Perl but failed to declare File::Slurp module dependency. The build will fail with following errors when running perl link2pack.pl a < a.txt:

Can't locate File/Slurp.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at link2pack.pl line 13.
BEGIN failed--compilation aborted at link2pack.pl line 13.
make: *** [offline] Error 2

wish: separate network permission as plugin

some people may love a dictionary doesn't require any permissions.

ideas:

  1. A plugin app: Only the plugin require network permission. Moedict can support network audio after install the plugin.
  2. A plugin app which bundle audio data offline.
  3. Build another app without network audio feature.

取得重編國語辭典的條目分類清單

From ethantw:

是不是有辦法讓《#萌典》中的所有條目都手工加上和專名號元素呢?不僅增進語義,也能讓使用者自選要不要看到這些這些標點符號。

@ethantw 好主意!可以幫忙(或找朋友幫忙)把 http://dict.revised.moe.edu.tw/ 的分類表 (頁面中間的 dropdown) 拆出來嗎?裡面有所有的專名詞條列表,我們就不用手工加了。

部首檢字

目前初步的想法是在主搜尋框鍵入「木11」就可以顯示所有木部11劃的字;在單字右上角「X 部 Y 畫」點擊可以填入搜尋框。

也許「11」可以找所有筆畫為 11 的字。

chrome frame install notification doesn't work on IE8

網頁錯誤詳細資料

使用者代理程式: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; FDM)
時間戳記: Sun, 3 Mar 2013 15:53:59 UTC

訊息: 必須要有物件
行: 1
字元: 1908
程式碼: 0
URI: https://raw.github.com/atomantic/jquery.ChromeFrameNotify/master/jquery.gcnotify.min.js

點擊發音後退出程式聲音不會關閉

按「主頁面」鍵退出,或是長按「主頁面」鍵切換發音會中止,不過切回程式後發音按鈕會消失,等在久都不會出現

按返回鍵或是選單裡的離開發音都不會中止

Failed to execute link2pack.pl

The error message is Can't locate object method "say" via package "IO::File" at link2pack.pl line 20, <STDIN> line 10000.

It seems a problem related to Perl version. I tried to modify use 5.008; to use 5.010; and it works. I'm not familiar to Perl and I'm not sure if this is the right fix.

BTW, My perl version is 5.12.4.

perl --version
This is perl 5, version 12, subversion 4 (v5.12.4) built for darwin-thread-multi-2level
(with 2 registered patches, see perl -V for more detail)

auto complete menu out of order if navigate too fast

How to reproduce:

  1. Search "一"
  2. Press down keyboard "Down" key for 10 seconds.
    After that, the content shown on the right window usually mismatches the entry on the left.
  3. navigate up using keyboard arrow key
    most of the content mismatch
  4. repeat 3

No menu/info on android without hardware menu key

Many android devices don't have hardware menu key.

IIRC, if the SDK version is old, android system will show menu softkey to be compatible with old app. The system will hide that softkey for new SDK. I heard there is a flag to enable menu keys with new SDK. New android seems encourage applications have their own menu button.

audio 無法 play 兩次

22:55 < kcwu> au: 發音功能 play 一次之後, 變回三角形, 再 click play 沒有反應 (chrome on linux)

好像相關的 issue
23:25 < clkao> au: 歌詞教學 play 不同詞兩次好像會炸掉

auto complete menu should not scroll back after click

How to reproduce

  1. type something into search bar. there are a lot of candidates (more than one page)
  2. scroll down to page 2
  3. click one item
  4. sometimes (I don't know the condition yet), the scrollbar will reset to zero after click.

The scrollbar should not reset after click

[android app] No audio at all on Xperia ZL(4.2.2).

reported by @priv,

No audio at all on Xperia ZL(4.2.2).
Working on Galaxy Tab 2 7.0 (4.1.1) under same network environment.

D/HostStatisticManager( 273): netstack: DNS Host Prioritization is: ON, Version: 5.0.1
I/ ( 273): netstack: LIB_MGR - Lib loaded: libdnshostprio.so
I/ ( 273): netstack: STAT_HUB - Succeeded to load plugin: libdnshostprio.so
E/ ( 273): netstack: LIB_MGR - Error loading lib spl_proc_plugin.so
E/ ( 273): netstack: STAT_HUB - Failed to load plugin: spl_proc_plugin.so
I/ ( 273): netstack: LIB_MGR - Lib loaded: pp_proc_plugin.so
I/ ( 273): netstack: STAT_HUB - Succeeded to load plugin: pp_proc_plugin.so
E/ ( 273): netstack: STAT_HUB - App /system/bin/mediaserver isn't supported
E/ ( 273): netstack: LIB_MGR - Error loading lib libsocketpoolextend.so
I/SockPoolExtend( 273): Using default ClientSocketPoolExtend
D/ ( 273): dl error message Cannot load library: soinfo_link_image(linker.cpp:1635): could not load library "libcneapiclient.so" needed by "libtcpfinaggr.so"; caused by soinfo_link_image(linker.cpp:1635): could not load library "libcnefeatureconfig.so" needed by "libcneapiclient.so"; caused by load_library(linker.cpp:745): library "libcnefeatureconfig.so" not found
D/Socket_Pool( 273): Failed to create TCP Fin Aggregation interface.
D/Socket_Pool( 273): netstack: CloseUnusedSockets is ON
D/Socket_Pool( 273): netstack: system net.statistics value: 0
D/Socket_Pool( 273): Failed to create TCP Fin Aggregation interface.
D/Socket_Pool( 273): netstack: CloseUnusedSockets is ON
D/Socket_Pool( 273): netstack: system net.statistics value: 0
D/ ( 273): external/chromium/net/http/http_getzip_factory.cc: libgetzip.so successfully loaded
D/ ( 273): external/chromium/net/http/http_getzip_factory.cc,: GETzip initializing method was found in libgetzip.so
D/ ( 273): netstack: Getzip is: ON, Version: 5.0.1
D/VideoUrlCaching( 273): libvideo_cor.so was successfully loaded
D/VideoUrlCaching( 273): VideoCOR is: ON, Version: 5.0.1
D/ ( 273): netstack: Early Connections is: ON, Version: 5.0.1, Param: 3
E/MM_OSAL ( 273): ValidateAACFile failed
D/QCUtilClass( 273): extended extractor not needed, return default
D/AwesomePlayer( 273): Use tunnel player only for AUDIO_STREAM_MUSIC
E/AwesomePlayer( 273): LPAPlayer::Clip duration setting of less than 30sec not supported, defaulting to 60sec
E/AwesomePlayer( 273): LPAPlayer::Clip duration setting of less than 30sec not supported, defaulting to 60sec
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4230c768 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4200ae38 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4200af78 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x420a3ee8 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x400a54f0 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x400a5450 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x41ff1bb0 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4226a228 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x420a3f40 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x420a3e18 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4230c680 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x42269fd0 successful
I/OdekakeDcfFile( 283): Invalid content
E/MM_OSAL ( 273): ValidateAACFile failed
D/QCUtilClass( 273): extended extractor not needed, return default
D/AwesomePlayer( 273): Use tunnel player only for AUDIO_STREAM_MUSIC
E/AwesomePlayer( 273): LPAPlayer::Clip duration setting of less than 30sec not supported, defaulting to 60sec
E/AwesomePlayer( 273): LPAPlayer::Clip duration setting of less than 30sec not supported, defaulting to 60sec
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4233d168 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4248e868 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x42258028 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x423bfe80 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x42159e90 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x41fef478 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x41fe5f80 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x424e8550 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x42261290 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x42017f68 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4233d168 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x423148b8 successful
/MM_OSAL ( 273): ValidateAACFile failed
I/OdekakeDcfFile( 283): Invalid content
D/QCUtilClass( 273): extended extractor not needed, return default
D/AwesomePlayer( 273): Use tunnel player only for AUDIO_STREAM_MUSIC
E/AwesomePlayer( 273): LPAPlayer::Clip duration setting of less than 30sec not supported, defaulting to 60sec
E/AwesomePlayer( 273): LPAPlayer::Clip duration setting of less than 30sec not supported, defaulting to 60sec
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4226a1f8 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x41ffec10 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x400a54e0 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4230c700 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x42034508 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x423294d0 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x42323470 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x42261260 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x41ff1c30 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4226a240 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4230c6a0 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x41ffebd8 successful
I/AwesomePlayer( 273): setDataSource_l(URL suppressed)
I/NuCachedSource2( 273): ERROR_END_OF_STREAM
E/MM_OSAL ( 273): ValidateAACFile failed
D/QCUtilClass( 273): extended extractor not needed, return default
E/AwesomePlayer( 273): LPAPlayer::Clip duration setting of less than 30sec not supported, defaulting to 60sec
W/TimedEventQueue( 273): Event 33 was not found in the queue, already cancelled?
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4249b450 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4249b3b0 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x42140ef0 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x42140d38 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4230e760 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4249b928 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4249b7e8 successful
I/OMXNodeInstance( 273): OMX_FreeBuffer for buffer header 0x4249b5d8 successful
I/AwesomePlayer( 273): setDataSource_l(URL suppressed)
I/NuCachedSource2( 273): ERROR_END_OF_STREAM
E/MM_OSAL ( 273): ValidateAACFile failed
D/QCUtilClass( 273): extended extractor not needed, return default
E/AwesomePlayer( 273): LPAPlayer::Clip duration setting of less than 30sec not supported, defaulting to 60sec

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.