Sunday, April 17, 2011

essential vocabulary

http://www.manythings.org/vocabulary/lists/l/

English-Thai Online Dictionaries

บางครั้งอ่านคำอธิบายแล้วคลุมเคลือ ไม่เข้าใจ
ลองถามบรรดาผู้รู้ให้แปลเป็นภาษาไทยด้วยดีกว่า

thai2english.com
thai-language.com
Northern Illinois University
Longdo
palungit
kapook
lexitron
translate.google.com

English-English Online Dictionaries

Longman
Oxford
Macmillan
google.com

Open Dictionary
==========
ให้ชาวบ้านชาวเมืองเสนอคำศัพท์ใหม่
หรือศัพท์เก่าที่เอามาเติมหน้า-ต่อท้ายจนกลายเป็นศัพท์ใหม่ เป็นต้น
http://www3.merriam-webster.com/opendictionary/


Corpus
=====
jukuu รายละเอียดเพิ่มเติม
naver
British National Corpus


Others

ถ้ายังไม่พอใจอยากค้นหาเพิ่มเติม ไปที่
http://dir.yahoo.com/Reference/Dictionaries/
http://www.google.com/Top/Reference/Dictionaries/World_Languages/E/English/
http://www.dmoz.org/Reference/Dictionaries/World_Languages/E/English/

Thai-English Online Dictionaries

google
translate.google.com
thai2english
thai-language
Northern Illinois University

Longdo
palungit
kapook
lexitron
http://dictionary.flexthai.com/ by thaicyberu.go.th

ถ้ายังไม่เจอ หรือเจอแต่ไม่ถูกใจ
ลอง reverse ใส่ความหมาย เพื่อหาคำศัพท์ดูครับ
http://www.reference.com/reverse/
http://www.onelook.com/reverse-dictionary.shtml
ดูตัวอย่างได้ที่ http://intereladsd.blogspot.com/2007/02/72.html


ส่วนที่ซ้ำซ้อน ฐานข้อมูลเดียวกัน ไม่ต้องไป Search คือ
www. tumcivil .com/dict/
truehits .net/ dic.php
english-thai-dictionary .com
www. online-english-thai-dictionary .com
www. wooword .com
www .lexilogos .com/ english/ thai_dictionary .htm

จดไว้ซักหน่อยไม่งั้น ลืม นึกว่าเป็นแหล่งข้อมูลใหม่อยู่เรื่อย

Grammar

https://en.oxforddictionaries.com/grammar/grammar-a-z
https://en.oxforddictionaries.com/grammar
https://en.oxforddictionaries.com/grammar/grammar-tips
http://dictionary.cambridge.org/grammar/english-grammar-today/
http://www.ldoceonline.com/browse/topic/Grammar
https://www.usingenglish.com/glossary/

Thesaurus

list ของคำศัพท์ที่มีความหมายเหมือนกัน, คล้ายกัน, ต่างกัน, ตรงกันข้ามกัน หรือ แค่เกี่ยวข้องกัน

http://www.visualthesaurus.com/
เป็น Graphic สวยงาม ใช้งานง่าย แต่ต้องลงทะเบียน

http://www.snappywords.com
เป็น Graphic สวยงาม เหมือน visual thesaurus


http://www.lexipedia.com/
เป็น Graphic สวยงาม เหมือน visual thesaurus
แต่ศัพท์น้อยกว่า
สืบค้นไปยังคำศัพท์ถัดไปไม่ได้

http://www.macmillandictionary.com/
แสดงคำศัพท์ที่เกี่ยวข้อง พร้อมคำอธิบายศัพท์นั้นๆ

เพิ่มเติม http://directory.dek-eng.com/Dictionary/Thesaurus_Dictionary/

Sunday, April 10, 2011

Custom dictionary with stardict in babylon format

Create Dictionary data file
(in GLS:Babylon Glossary Source format)
as describe http://siripong-english.blogspot.com/2011/04/custom-dictionary-with-babylon.html

You might add compile options such as bookname, author, description to the data file.
To specify options and fields, leave the first line blank, then write options, one option per line.
Precede each line with a hash sign.

See libbabylongfile.cpp source file for complete list of supported fields and options.
http://stardict-tools.sourcearchive.com/lines/3.0.1/libbabylonfile_8cpp-source.html



Sample:

#bookname=My Dictionary
#description=Dictionary with incredible definitions.
#author=Siripong
#stripmethod=keep
#sametypesequence=h

incredible
เหลือเชื่อ

link
link to other words in the dictionary with bword  <a href="bword://next">next</a>



Compile it with stardict-editor or stardicttools under Linux
(it is in the Ubuntu repository).

Siripong Pongpinyopap


Thanks
http://goldendict.org/forum/viewtopic.php?f=5&t=604#p1990

Custom Dictionary with Babylon

สร้างพจนานุกรมส่วนตัว ผ่านโปรแกรม Babylon Builder http://goldendict.org/forum/viewtopic.php?f=5&t=909#p3833

หรือ manual ดังนี้

Create a plain text file in UTF-8 encoding.

The first line must be empty.

Each term or glossary entry has the following basic structure:

[blank line]
Term | Alternate1 | Alternate2| ... | AlternateK
[attributes]
Definition
[blank line]

Each entry is written on two lines and is followed by a blank line.
On the first line is the searchword.
On the second line you have to put the content of the dictionary article.
You can use HTML tags to format text and include pictures.
The file must end with two empty lines.


Sample:

incredible
เหลือเชื่อ

link
link to other words in the dictionary with bword  <a href="bword://next">next</a>


Compile เป็น BGL file ด้วย http://www.babylon.com/products/glossary-builder.html

Siripong Pongpinyopap


อ้างอิง
- http://support.babylon.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=117 (Appendix A)
- stardict-3.0.2.tar.bz2

Decorate GoldenDict by CSS

By default, there is no article-style.css.

Create the article-style.css in the same directory where you find config and history ones.

on Windows 7 the file located at

C:\Users\{USERNAME}\AppData\Roaming\GoldenDict

On XP

C:\Documents and Settings\{USERNAME}\Application Data\GoldenDict\

Sample:
body
{
background: Orange; font-family: TahomaPlus, Palatino Linotype, Arial Unicode MS;
}


Siripong Pongpinyopap


Src:
http://goldendict.org/forum/viewtopic.php?f=4&t=1011

More info:
HTML color codes and names http://www.computerhope.com/htmcolor.htm

Saturday, April 9, 2011

Custom Dictionary

ในการสร้างพจนานุกรมส่วนตัว โดยที่เราเขียนแต่ในส่วนข้อมูล
แล้วใช้โปรแกรมที่มีแจกฟรี เช่น GoldenDict หรือ StarDict ในการแสดงผลนั้น
เรามีทางเลือกในการเขียนในส่วนข้อมูลอยู่หลายวิธี เช่น

ข้อดีข้อเสีย จุดเด่น-จุดด้อย
  • dsl
    • น่าจะสะดวกสุด ถ้าไม่ได้ต้องการการแสดงผลที่สวยงาม
      • เป็น text fie ธรรมดา ไม่ต้องแปลงเป็น binary file ก่อนเพื่อแสดงผลเหมือน gls
  • gls
    • สามารถ embeded html เพื่อตกแต่งให้สวยงาม อ่านง่ายได้
    • รองรับ keyword มากกว่า 1 ตัว สำหรับคำอธิบายหนึ่งๆ
      • เช่น กำหนดให้ search ด้วย teach |taught แล้วได้ผลลัพทธ์เดียวกัน
    • ข้อด้อยที่เด่นชัด คือ ในส่วนของคำอธิบายต้องเขียนรวมอยู่ในบรรทัดเดียว

    เพื่อให้สร้างไฟล์ gls ให้เราสามารถอ่านได้ง่ายผ่าน text editor ธรรมดา (เหมือน dsl)
    และ ยังคงจุดเด่นต่างๆ ข้างต้น ของ gls ไว้
    เลยต้องมีขั้นตอนพิเศษ จึงเป็นที่มาของบทความอันนี้

    เริ่มต้นเราเขียนในรูปแบบนี้

    #2011-04-13
    สลายการชุมนุม
     = disperse
      - He'd crackdown on PAD demosstrators if they failed to disperse.
    ร้านอาหาร
     = diner: a small, usually cheap, restaurant
      - This diner has reservations about its clients.
      * diner != dinner
    ฝ่าไฟแดง
     = Don't run red light.
    แต่งงาน|สมรส
      - The Monash University report suggests that <u>wedlock</u> was incresingly becoming the province of the well-educated and wealthy.
      - Before <u>settling into married life</u>, Holly worked at Disney World for six years.
    frozen
     ( โฟร เส่น ไม่ใช่ ฟรอส เส้น
      - frozen food
    ผู้รักษาประตู
      = Goalkeeper ย่อว่า GK ผู้รักษาประตูฟุตบอล
      ~ doorkeeper คนเฝ้าประตูโรงแรม
    ซึ่งอ่านง่าย แก้ไขง่าย (ไม่ต้องรวมคำอธิบายเป็นบรรทัดเดียว ตามข้อกำหนดของ gls)
    นำหน้าแต่ละบรรทัดด้วยสัญลักษณ์ ซึ่งเมื่อข้อมูลถูกแปลงไปไฟล์ output ก็จะถูกแทนที่ด้วยสีต่างๆ
    (พิมพ์สัญลักษณ์ตัวเดียว สะดวกกว่า การกำหนดสีด้วยวิธี gls แบบเดิม)
    สีที่จะถูกใช้สำหรับสัญลักษณ์ต่างๆ สามารถกำหนดเองได้ ในภายหลัง
    แทรก html tag ได้ ( เช่น tag u ในการขีดเส้นใต้ คำว่า wedlock เป็นต้น)

    (และถ้าไม่ทำในขั้นตอนถัดๆไป ก็สามารถบันทึกข้อมูลไฟล์เป็นนามสกุล dsl แล้วนำไปใช้งานได้เลย)

    หลังจากที่เขียนไฟล์ฐานข้อมูลต้นฉบับเสร็จ
    ก็เพียงใช้โปรแกรมแปลงข้อมูลในไฟล์ ให้อยู่ในรูปแบบเพื่อการแสดงผล ก็เสร็จแล้ว

    ซึ่งรูปแบบข้างต้น น่าจะทำให้การจดบันทึกของเราสะดวกขึ้น

    ตัวอย่างเมื่อนำไปใช้งาน



    (พจนานุกรมไทย-อังกฤษ ที่ค่อนข้างดี ก็ไม่มีอยู่ในรูปที่เราสืบค้นได้ง่าย
    ที่แจกๆกัน ก็ยังไม่ถึงจุดที่สมบูรณ์ เหมือนของต่างชาติ
    ช่วยๆกันทำสะสมไว้เพื่อลูกเพื่อหลานกันนะครับ)

    ขั้นตอน


    • (หลังจากลงโปรแกรม และกำหนด environment ตามรายการด้านล่างแล้ว)
    • แก้ไขไฟล์ต้นฉบับฐานข้อมูล (หัวข้อที่ 1 ในภาพ)
    • แปลงไฟล์ต้นฉบับฐานข้อมูล ให้อยู่ในรูปแบบมาตราฐานของ StarDict (หัวข้อที่ 2 ในภาพ)
      • c:\Python27\python.exe formatter.py < input.txt > output.txt
    • ทำการแปลงไฟล์ให้อยู่ในรูปแบบ binary ที่พร้อมให้ GoldenDict นำไปแสดงผล ด้วยโปรแกรม StarDict-Editor (หัวข้อที่ 3 ในภาพด้านบน)
    • หัวข้อที่ 4 ก็กำหนดให้ GoldenDict มาเปิดพจนานุกรมของเรา
    • หัวข้อที่ 5 ทำเพื่อตกแต่งการแสดงผล บนหน้าจอของ GoldenDict (ซึ่งจะทำก็ได้ หรือไม่ทำก็ได้)



    สภาพแวดล้อมที่ต้องการในการสร้างพจนานุกรมส่วนตัว
    • MS Windows XP
    • Text Editor เช่น Notepad
    • StarDict-Editor 
    • GoldenDict
    • Python
    • article-style.css 
      • เป็นไฟล์ที่ใช้กำหนดรูปแบบการแสดงผลของ GoldenDict (เช่น สีของตัวอักษร สีพื้นหลังตัวอักษร เป็นต้น)
      • ถ้านำฐานข้อมูลที่ได้ไปแสดงผลด้วยโปรแกรมอื่น เช่น QStarDict ก็ไม่ต้องทำในส่วนนี้
      • สร้างไฟล์นี้ ใน folder C:\Documents and Settings\{USERNAME}\Application Data\GoldenDict\ โดยที่ตัวอย่างของข้อมูลในไฟล์ อยู่ด้านล่างของบทความ
      • เพิ่มเติมใน [url: decorate-goldendict-by-css.html]


    รูปแบบในไฟล์ต้นฉบับฐานข้อมูล
    • บรรทัดแรก เป็นบรรทัดว่าง
      หรือ Comment ใดๆ เช่น วันที่แก้ไขล่าสุด
    • บันทึกไฟล์ในรูปแบบ UTF-8
    • keyword :
      • เขียนชิดขอบซ้ายสุด ถ้ามีหลายคำใช้ สัญลักษณ์ | คั่น
        เช่น คำว่า "แต่งงาน" ในตัวอย่างข้างต้น
      • เป็น keyword ภาษาอะไรก็ได้ ไม่ว่าอังกฤษ ไทย ญี่ปุน
        โดยที่เขียนรวมกันได้ เช่น sleep|นอน เป็นต้น
      • ส่วนคำแปลหรือคำอธิบาย :  
        • space + symbol + space + text
        • symbol ที่ถูกกำหนดขึ้นได้แก่
          • ( คำอ่าน เช่น บรรทัด "โฟรเส่น" ในตัวอย่างข้างต้น
          • = คำแปล
          • * หมายเหตุ เช่น อาจใช้เขียนว่าเราพบเจอศัพท์คำนี้ที่ไหน
          • ~ คำใกล้เคียง เช่น บรรทัด "doorkeeper" ในตัวอย่างข้างต้น
          • ! คำตรงกันข้าม
          • > เพิ่มเติม
        • มีมากกว่าหนึ่งบรรทัดได้
      • ส่วนตัวอย่างประโยค : 
        • space + space + symbol + space + text
        • symbol ที่ถูกกำหนดขึ้นได้แก่
          • - ตัวอย่างประโยค
          • * หมายเหตุ 
        • มีมากกว่าหนึ่งบรรทัดได้
          เช่น คำว่า "แต่งงาน" ในตัวอย่างข้างต้น

      formatter.py

      import sys
      import codecs
      #sys.stdout = codecs.getwriter('utf8')(sys.stdout)

      print codecs.BOM_UTF8
      print u"#bookname=My English Notes"
      print u"#description=Dictionary with incredible definitions."
      print u"#author=Siripong"
      print u"#stripmethod=stripnewline"
      print u"#sametypesequence=h",

      lines = sys.stdin.readlines()
      #lines[0] = u'' #Remove a byte-order mark (BOM)

      for line in lines[1:]:
          #print len(line.lstrip()),
          #if len(line.lstrip()) != 0:
          #line = line.decode('utf8')
              if not line.startswith(' '):
                 # keyword
                 print "\n\n" + line[:-1]
              else:
                 if line.startswith('  '):
                    if line[2] == '-':
                       print u'<div class="sample">' + line[4:-1] + u'</div>',
                    elif line[2] == '*':
                       print u'<div class="snote">' + line[4:-1] + u'</div>',
                    else:
                       print line[:-1],
                 else: #line.startswith(' '):
                    if line[1] == '(':
                       print u'<div class="pronounce">' + line[3:-1] + u'</div>'
                    elif line[1] == '=':
                       print u'<div class="meaning">' + line[3:-1] + u'</div>'
                    elif line[1] == '*':
                       print u'<div class="mnote">' + line[3:-1] + u'</div>'
                    elif line[1] == '+':
                       print u'<div class="next-meaning">' + line[3:-1] + u'</div>'
                    elif line[1] == '~':
                       print u'<div class="relate">' + line[3:-1] + u'</div>'
                    elif line[1] == '!':
                       print u'<div class="opposite">' + line[3:-1] + u'</div>'
                    elif line[1] == '>':
                       print u'<div class="moreinfo">' + line[3:-1] + u'</div>'
                    else:
                       print line[:-1],
      print "\n"



      article-style.css

      div.pronounce { text-indent: 9px; color: #093B8F; font-weight: bolder;}
      div.meaning { text-indent: 9px; color: #B93B8F; font-weight: bolder;}
      div.mnote { text-indent: 9px; color: #808080; }
      div.next-meaning { text-indent: 9px; color: #B93B8F; }
      div.relate { text-indent: 9px; color: #B9FB80; font-weight: bolder;}
      div.opposite { text-indent: 9px; color: #8F8F8F; }
      div.moreinfo { text-indent: 9px; color: #09F08F; font-weight: bolder;}
      div.moreinfo:before { content: 'more information at '; }
      div.sample { text-indent: 18px; color: #7E2217; font-weight: bolder;}
      div.sample:before { content: '- '; }
      div.snote { text-indent: 24px; color: #6D7B8D; }


      formatter.bat

      @ECHO OFF
      cls
      c:\Python27\python.exe formatter.py < Src.txt > MyEnglishNotes.txt
      IF ERRORLEVEL == 1 GOTO WAIT
      start notepad.exe MyEnglishNotes.txt
      GOTO END
      :WAIT
      pause
      :END

      anki

      Wednesday, April 6, 2011

      mispronounce

      Thierry Henry อ่านว่า อองรี ไม่ใช่ เฮ็นรี่