link download: https://drive.google.com/file/d/0B4nqOsoZZZrUa1VLenQ5eW13NDA/view?usp=sharing
Đưa lên website của bạn hoặc chay localhost cũng được, url có cấu trúc
http://yourwebsite/lingoes-converter-master/converter.php?input=path/to/somefile.ld2&encodingWord=UTF-8&encodingDef=UTF-8
Giải thích một chút về các param:
input: đường dẫn tới file ld2 (file chứa dữ liệu về từ điển của lingo)
encodingWord: encoding của file nguồn
encodingDef: encoding của file đích
Lưu ý: lingoes lưu trữ dữ liệu dưới dạng: từ => miêu tả về từ dó
Do vậy khi convert sang file txt nên phân biệt hai phần này bằng một ký tự đặc biệt để dễ explode ra cho việc insert vào mysql.
Ở đây mình dùng ký tự “|”. Có thể sửa lại ở file LingoesConverter.php dòng 493
Việc tạo bảng và insert dữ liệu vào bảng đó mình sẽ không nói nữa vì mọi người quá quen việc này rồi. Ở đây mình chỉ hướng dẫn viết một đoạn mã đọc từng dòng (vài chục dòng) một để insert vào database cho đến hết file
Đoạn mã đó như sau:
Bạn lưu file này vào thư mục vừa download về ví dụ tên file là a.php
sau đó bắt đầu chạy http://yourwebsite/lingoes-converter-master/a.php
Lưu ý: đoạn mã html bên dưới không có tác dụng gì ngoài việc f5 liên tục đường dẫnhttp://yourwebsite/lingoes-converter-master/a.php mỗi khi chạy xong. Thời gian delay là 2 giây
Thế là xong!
Nguyenduchanh blog
Chuyển từ file lingo sang txt
Cách sử dụng lingoes-converter-master:Đưa lên website của bạn hoặc chay localhost cũng được, url có cấu trúc
http://yourwebsite/lingoes-converter-master/converter.php?input=path/to/somefile.ld2&encodingWord=UTF-8&encodingDef=UTF-8
Giải thích một chút về các param:
input: đường dẫn tới file ld2 (file chứa dữ liệu về từ điển của lingo)
encodingWord: encoding của file nguồn
encodingDef: encoding của file đích
Lưu ý: lingoes lưu trữ dữ liệu dưới dạng: từ => miêu tả về từ dó
Do vậy khi convert sang file txt nên phân biệt hai phần này bằng một ký tự đặc biệt để dễ explode ra cho việc insert vào mysql.
Ở đây mình dùng ký tự “|”. Có thể sửa lại ở file LingoesConverter.php dòng 493
Chuyển từ txt sang mysql
Ở đây mình lấy file English-Vietnamese.ld2 (file này có trong link download) làm ví dụ. Sau khi chạy đường dẫn http://yourwebsite/lingoes-converter-master/converter.php?input=English-Vietnamese.ld2&encodingWord=UTF-8&encodingDef=UTF-8 ta sẽ được file English-Vietnamese.txt ở dùng thư mục. File này có khoảng 139205 dòng, rất lớn nên không thể insert chỉ bằng 1 câu lệnh sqlViệc tạo bảng và insert dữ liệu vào bảng đó mình sẽ không nói nữa vì mọi người quá quen việc này rồi. Ở đây mình chỉ hướng dẫn viết một đoạn mã đọc từng dòng (vài chục dòng) một để insert vào database cho đến hết file
Đoạn mã đó như sau:
- Code:
<?php
session_start(); // bên dưới sử dụng session nên phải khai báo cái này, để lưu lại thông tin đã chạy đến dòng nào rồi
$start = isset($_SESSION['start']) ? $_SESSION['start'] : 0; // bắt đầu từ 0 sau khi f5 lần 1 sẽ là 200, lần 2 là 400 ...
$num = 200; // đọc 200 dòng một lúc để insert vào database
for($i = $start; $i < ($start + $num); $i++){
if($i >139205 ) { // for sẽ dừng khi đọc hết file
echo "done";
exit;
}
$file = "Vietnamese-English.txt";
$lines = file( $file );
$line = $lines[$i];
$line = explode("|",$line);
// insert to db
đoạn này các bạn tự viết
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="2" />
</head>
<body>
<p>hehe</p>
</body>
</html>
Bạn lưu file này vào thư mục vừa download về ví dụ tên file là a.php
sau đó bắt đầu chạy http://yourwebsite/lingoes-converter-master/a.php
Lưu ý: đoạn mã html bên dưới không có tác dụng gì ngoài việc f5 liên tục đường dẫnhttp://yourwebsite/lingoes-converter-master/a.php mỗi khi chạy xong. Thời gian delay là 2 giây
Thế là xong!
Nguyenduchanh blog