Packages

A chinese dictionary based on CEDict. Supports Traditional -> English, and Simplified -> English

Current section

Files

Jump to
chinese_dictionary lib dictionary dict.ex
Raw

lib/dictionary/dict.ex

defmodule ChineseDictionary.Dict do
def get_from_simplified(simplified) do
get("simplified", simplified)
end
def get_from_traditional(traditional) do
get("traditional", traditional)
end
defp get(column, value) do
case Sqlitex.with_db(
'lib/dictionary/dict.sqlite3',
fn db ->
{:ok, statement} =
Sqlitex.Statement.prepare(db, "SELECT * FROM translations WHERE #{column} LIKE ?")
Sqlitex.Statement.bind_values(statement, [value])
Sqlitex.Statement.fetch_all(statement)
end
) do
{:ok, result} ->
Enum.map(
result,
fn item ->
{item[:SIMPLIFIED], item[:TRADITIONAL], item[:PINYIN], item[:TRANSLATION]}
end
)
_ ->
nil
end
end
end