wanderlust-chatbot / scripts /populate_vi.js
Kiriten892's picture
chore(deploy): remove orphan root files and move JS scripts to chatbot-ml-service
5a2a91d
Raw
History Blame Contribute Delete
10.1 kB
// populate_vi.js — Populate Vietnamese fields for Activity and TravelGuide collections
const cityMap = {
'Hanoi': 'Hà Nội', 'Ho Chi Minh City': 'TP. Hồ Chí Minh', 'Da Nang': 'Đà Nẵng',
'Hai Phong': 'Hải Phòng', 'Can Tho': 'Cần Thơ', 'Hoi An': 'Hội An',
'Nha Trang': 'Nha Trang', 'Phu Quoc': 'Phú Quốc', 'Hue': 'Huế',
'Ha Long': 'Hạ Long', 'Da Lat': 'Đà Lạt', 'Vung Tau': 'Vũng Tàu',
'Quy Nhon': 'Quy Nhơn', 'Phan Thiet': 'Phan Thiết', 'Buon Ma Thuot': 'Buôn Ma Thuột',
'Vinh': 'Vinh', 'Thanh Hoa': 'Thanh Hóa', 'Hai Duong': 'Hải Dương',
'Nam Dinh': 'Nam Định', 'Thai Nguyen': 'Thái Nguyên', 'Viet Tri': 'Việt Trì',
'Ha Giang': 'Hà Giang', 'Cao Bang': 'Cao Bằng', 'Lang Son': 'Lạng Sơn',
'Lao Cai': 'Lào Cai', 'Dien Bien Phu': 'Điện Biên Phủ', 'Son La': 'Sơn La',
'Hoa Binh': 'Hòa Bình', 'Ninh Binh': 'Ninh Bình', 'Dong Hoi': 'Đồng Hới',
'Pleiku': 'Pleiku', 'Tuy Hoa': 'Tuy Hòa', 'Ca Mau': 'Cà Mau', 'Soc Trang': 'Sóc Trăng'
};
const actTypeMap = {
'Caving': 'Khám Phá Hang Động', 'City Tour': 'Tour Thành Phố',
'Cooking Class': 'Lớp Học Nấu Ăn', 'Countryside Tour': 'Tour Nông Thôn',
'Craft Workshop': 'Xưởng Thủ Công', 'Fine Dining Experience': 'Trải Nghiệm Ẩm Thực Cao Cấp',
'Historical Tour': 'Tour Lịch Sử', 'Hot Springs': 'Tắm Suối Nước Nóng',
'Jet Skiing': 'Lướt Mô Tô Nước', 'Kayaking': 'Chèo Thuyền Kayak',
'Market Visit': 'Tham Quan Chợ', 'Massage': 'Massage Thư Giãn',
'Meditation': 'Thiền Định', 'Museum Tour': 'Tour Bảo Tàng',
'Night Tour': 'Tour Đêm', 'Paragliding': 'Dù Lượn',
'Photography Tour': 'Tour Chụp Ảnh', 'Rock Climbing': 'Leo Núi',
'Scuba Diving': 'Lặn Bình Khí', 'Snorkeling': 'Lặn Biển',
'Spa Treatment': 'Chăm Sóc Spa', 'Street Food Tour': 'Tour Ẩm Thực Đường Phố',
'Surfing': 'Lướt Sóng', 'Temple Visit': 'Tham Quan Đền Chùa',
'Traditional Dance': 'Múa Truyền Thống', 'Trekking': 'Đi Bộ Đường Dài',
'Wine Tasting': 'Thưởng Thức Rượu Vang', 'Yoga Retreat': 'Khóa Yoga Nghỉ Dưỡng',
'Zip-lining': 'Trượt Zipline'
};
// ===== 0. UPDATE LOCATIONS =====
print("=== Updating Locations ===");
const locationViMap = {
'Vietnam': { nameVi: 'Việt Nam', descVi: 'Đất nước ở Đông Nam Á nổi tiếng với các bãi biển, sông ngòi, chùa Phật giáo và các thành phố sôi động.' },
'Hanoi': { nameVi: 'Hà Nội', descVi: 'Thủ đô của Việt Nam, nổi tiếng với kiến trúc hàng thế kỷ và nền văn hóa phong phú kết hợp ảnh hưởng Đông Nam Á, Trung Hoa và Pháp.' },
'Ho Chi Minh City': { nameVi: 'TP. Hồ Chí Minh', descVi: 'Thành phố năng động nhất Việt Nam, trung tâm thương mại và văn hóa đã thúc đẩy đất nước phát triển.' },
'Da Nang': { nameVi: 'Đà Nẵng', descVi: 'Thành phố ven biển miền Trung Việt Nam, nổi tiếng với bãi biển cát trắng và Cầu Vàng.' },
'Hai Phong': { nameVi: 'Hải Phòng', descVi: 'Thành phố cảng lớn nhất miền Bắc Việt Nam, cửa ngõ ra Vịnh Hạ Long.' },
'Can Tho': { nameVi: 'Cần Thơ', descVi: 'Thành phố lớn nhất vùng đồng bằng sông Cửu Long, nổi tiếng với chợ nổi Cái Răng.' },
'Hoi An': { nameVi: 'Hội An', descVi: 'Phố cổ được UNESCO công nhận ở bờ biển miền Trung Việt Nam, nổi tiếng với đèn lồng và kiến trúc cổ.' },
'Nha Trang': { nameVi: 'Nha Trang', descVi: 'Thành phố biển nổi tiếng với bãi biển đẹp, đảo và hoạt động lặn biển.' },
'Phu Quoc': { nameVi: 'Phú Quốc', descVi: 'Đảo ngọc ở vịnh Thái Lan, thiên đường nghỉ dưỡng với bãi biển cát trắng.' },
'Hue': { nameVi: 'Huế', descVi: 'Cố đô của Việt Nam, nổi tiếng với Đại Nội, lăng tẩm và ẩm thực cung đình.' },
'Ha Long': { nameVi: 'Hạ Long', descVi: 'Thành phố ven biển nổi tiếng với Vịnh Hạ Long - di sản thiên nhiên thế giới UNESCO.' },
'Da Lat': { nameVi: 'Đà Lạt', descVi: 'Thành phố ngàn hoa trên cao nguyên Lâm Đồng, khí hậu mát mẻ quanh năm.' },
'Vung Tau': { nameVi: 'Vũng Tàu', descVi: 'Thành phố biển gần TP.HCM, điểm nghỉ dưỡng cuối tuần phổ biến.' },
'Quy Nhon': { nameVi: 'Quy Nhơn', descVi: 'Thành phố biển xinh đẹp ở miền Trung với bãi biển hoang sơ và tháp Chăm cổ.' },
'Phan Thiet': { nameVi: 'Phan Thiết', descVi: 'Thành phố biển nổi tiếng với đồi cát Mũi Né và các resort ven biển.' },
'Buon Ma Thuot': { nameVi: 'Buôn Ma Thuột', descVi: 'Thủ phủ cà phê Việt Nam, trung tâm văn hóa Tây Nguyên.' },
'Vinh': { nameVi: 'Vinh', descVi: 'Thành phố quê hương Bác Hồ, cửa ngõ vào miền Trung Việt Nam.' },
'Thanh Hoa': { nameVi: 'Thanh Hóa', descVi: 'Tỉnh có bãi biển Sầm Sơn nổi tiếng và thành nhà Hồ - di sản UNESCO.' },
'Hai Duong': { nameVi: 'Hải Dương', descVi: 'Tỉnh ở đồng bằng sông Hồng, nổi tiếng với bánh đậu xanh và Côn Sơn-Kiếp Bạc.' },
'Nam Dinh': { nameVi: 'Nam Định', descVi: 'Vùng đất lịch sử với nhà thờ đá Phát Diệm và bãi biển Quất Lâm.' },
'Thai Nguyen': { nameVi: 'Thái Nguyên', descVi: 'Thủ đô chè Việt Nam, nổi tiếng với hồ Núi Cốc và ATK Định Hóa.' },
'Viet Tri': { nameVi: 'Việt Trì', descVi: 'Thành phố ngã ba sông, nơi tổ chức Giỗ Tổ Hùng Vương hàng năm.' },
'Ha Giang': { nameVi: 'Hà Giang', descVi: 'Tỉnh cực Bắc Việt Nam, nổi tiếng với cao nguyên đá Đồng Văn.' },
'Cao Bang': { nameVi: 'Cao Bằng', descVi: 'Tỉnh biên giới với thác Bản Giốc hùng vĩ nhất Đông Nam Á.' },
'Lang Son': { nameVi: 'Lạng Sơn', descVi: 'Tỉnh biên giới phía Bắc với chợ Đông Kinh và ải Chi Lăng lịch sử.' },
'Lao Cai': { nameVi: 'Lào Cai', descVi: 'Cửa ngõ lên Sa Pa, nơi có đỉnh Fansipan - nóc nhà Đông Dương.' },
'Dien Bien Phu': { nameVi: 'Điện Biên Phủ', descVi: 'Thành phố lịch sử với chiến thắng Điện Biên Phủ lừng lẫy năm châu.' },
'Son La': { nameVi: 'Sơn La', descVi: 'Tỉnh miền núi Tây Bắc với Mộc Châu - cao nguyên chè và hoa mận.' },
'Hoa Binh': { nameVi: 'Hòa Bình', descVi: 'Tỉnh có hồ Hòa Bình và bản Lác Mai Châu nổi tiếng.' },
'Ninh Binh': { nameVi: 'Ninh Bình', descVi: 'Tràng An - di sản UNESCO, cố đô Hoa Lư, được mệnh danh Hạ Long trên cạn.' },
'Dong Hoi': { nameVi: 'Đồng Hới', descVi: 'Cửa ngõ vào Phong Nha-Kẻ Bàng, hệ thống hang động kỳ vĩ nhất thế giới.' },
'Pleiku': { nameVi: 'Pleiku', descVi: 'Thành phố cao nguyên với biển hồ T\'Nưng và vườn quốc gia Kon Ka Kinh.' },
'Tuy Hoa': { nameVi: 'Tuy Hòa', descVi: 'Thành phố biển xinh đẹp với gành Đá Đĩa độc đáo.' },
'Ca Mau': { nameVi: 'Cà Mau', descVi: 'Mũi Cà Mau - điểm cực Nam Tổ quốc, rừng ngập mặn và đất mũi.' },
'Soc Trang': { nameVi: 'Sóc Trăng', descVi: 'Tỉnh miền Tây với chùa Dơi và văn hóa Khmer đặc sắc.' }
};
let locUpdated = 0;
db.locations.find({}).forEach(loc => {
const mapping = locationViMap[loc.name];
if (mapping) {
db.locations.updateOne({_id: loc._id}, {$set: {nameVi: mapping.nameVi, descriptionVi: mapping.descVi}});
locUpdated++;
}
});
print("✅ Updated " + locUpdated + " locations with nameVi + descriptionVi");
// ===== 1. UPDATE ACTIVITIES =====
print("=== Updating Activities ===");
let actUpdated = 0;
db.activity.find({}).forEach(act => {
const parts = act.name.match(/^(.+?) in (.+)$/);
if (parts) {
const typeEn = parts[1];
const cityEn = parts[2];
const typeVi = actTypeMap[typeEn] || typeEn;
const cityVi = cityMap[cityEn] || cityEn;
const nameVi = typeVi + ' tại ' + cityVi;
const descVi = 'Trải nghiệm ' + typeVi.toLowerCase() + ' tuyệt vời tại ' + cityVi + '. Tham gia cùng chúng tôi cho một hành trình đầy kỷ niệm đáng nhớ.';
db.activity.updateOne({_id: act._id}, {$set: {nameVi: nameVi, descriptionVi: descVi}});
actUpdated++;
}
});
print("✅ Updated " + actUpdated + " activities with nameVi + descriptionVi");
// ===== 2. UPDATE TRAVEL GUIDES =====
print("\n=== Updating Travel Guides ===");
let guideUpdated = 0;
db.travelguides.find({}).forEach(guide => {
const destEn = guide.destination;
const destVi = cityMap[destEn] || destEn;
const titleVi = 'Cẩm Nang Du Lịch ' + destVi + ' Toàn Diện';
const descVi = 'Khám phá những điều tuyệt vời nhất tại ' + destVi + ' với cẩm nang du lịch toàn diện về các điểm tham quan, ẩm thực, văn hóa và mẹo hữu ích.';
db.travelguides.updateOne(
{_id: guide._id},
{$set: {titleVi: titleVi, destinationVi: destVi, descriptionVi: descVi}}
);
guideUpdated++;
});
print("✅ Updated " + guideUpdated + " travel guides with titleVi + destinationVi + descriptionVi");
// ===== 3. VERIFY =====
print("\n=== Verification ===");
const sampleAct = db.activity.findOne({}, {name: 1, nameVi: 1, descriptionVi: 1});
print("Sample Activity:");
print(" name: " + sampleAct.name);
print(" nameVi: " + sampleAct.nameVi);
print(" descriptionVi: " + sampleAct.descriptionVi);
const sampleGuide = db.travelguides.findOne({}, {title: 1, titleVi: 1, destination: 1, destinationVi: 1, descriptionVi: 1});
print("\nSample TravelGuide:");
print(" title: " + sampleGuide.title);
print(" titleVi: " + sampleGuide.titleVi);
print(" destination: " + sampleGuide.destination);
print(" destinationVi: " + sampleGuide.destinationVi);
print(" descriptionVi: " + sampleGuide.descriptionVi);
print("\n🎉 All done! Refresh the frontend to see Vietnamese text.");