Giới thiệu

Bộ từ điển này giúp bạn gạt bỏ đi các cảnh báo tiếng việt không đáng có trong ReSpeller rất khó chịu.Trong hầu hết các dự án mình đều dùng tiếng anh nhưng đôi khi ít quan tâm một số vấn đề nhỏ như này.

Đôi lúc một vài dự án là người việt nam nên mình phải comment lại cho họ hiểu nên mình tạo ra một bộ từ điển không giấu này để sử dụng cho tiện, thay vì cứ comment không dấu là lại bị lỗi

Giải pháp

Ở đây mình sẽ sử dụng bộ từ điển từ chính trang chủ đã giới thiệu, sau đó gạt bỏ đi các kí tự unicode Việt Nam và loại bỏ tiếp các từ khoá trùng lặp.Bộ từ điển mới sẽ ít chữ hơn bộ từ điển mới rất nhiều.

//https://www.jetbrains.com/help/resharper/Spell_Checking.html#configuring-respeller-inspections
void ex()
{
string path = @"D:\API\dictionaries\dictionaries\vi\index.dic";
string newpath = @"D:\API\dictionaries\dictionaries\vi\index2.dic";
string text = File.ReadAllText(path);
string newtext = RemoveSign4VietnameseString(text);
string[] lines = newtext.Split(
new[] { "\r\n", "\r", "\n" },
StringSplitOptions.None
);
List<string> ss = lines.ToList().Distinct().ToList();
ss.Sort();
string[] strings = ss.ToArray();
strings[0] = strings.Length.ToString();
string textfilter = string.Empty;
foreach (string s in strings)
{
textfilter += s+"\n";
}
File.WriteAllText(newpath,textfilter);
}
public static string[] RemoveDuplicates(string[] s)
{
HashSet<string> set = new HashSet<string>(s);
string[] result = new string[set.Count];
set.CopyTo(result);
return result;
}
public static string RemoveSign4VietnameseString(string str)
{
for (int i = 1; i < VietnameseSigns.Length; i++)
{
for (int j = 0; j < VietnameseSigns[i].Length; j++)
str = str.Replace(VietnameseSigns[i][j], VietnameseSigns[0][i - 1]);
}
return str;
}
private static readonly string[] VietnameseSigns = new string[]
{
"aAeEoOuUiIdDyY",
"áàạảãâấầậẩẫăắằặẳẵ",
"ÁÀẠẢÃÂẤẦẬẨẪĂẮẰẶẲẴ",
"éèẹẻẽêếềệểễ",
"ÉÈẸẺẼÊẾỀỆỂỄ",
"óòọỏõôốồộổỗơớờợởỡ",
"ÓÒỌỎÕÔỐỒỘỔỖƠỚỜỢỞỠ",
"úùụủũưứừựửữ",
"ÚÙỤỦŨƯỨỪỰỬỮ",
"íìịỉĩ",
"ÍÌỊỈĨ",
"đ",
"Đ",
"ýỳỵỷỹ",
"ÝỲỴỶỸ"
};
view raw vi_no_phonology.cs hosted with ❤ by GitHub

Sau khi tạo xong bộ từ điển thì bạn thêm vào đây là được.Nếu tạo ở trên không thành công bạn có thể tải về bộ từ điển mới này mình đã thêm tại indexnophonology.dic

 Image 7764c945 6188 48f6 b9c5 11cb81882001

Kiểm tra với hai văn bản có một có dấu và một không có dấu, nếu cảnh báo không xuất hiện nữa tức là bạn đã thành công.

Tham khảo

Vietnamese_phonology

respeller