Bên trong ConveyThis Tech: Xây dựng trình thu thập thông tin trang web của chúng tôi

Làm cho trang web của bạn đa ngôn ngữ trong 5 phút
Truyền đạt bản trình diễn này
Truyền đạt bản trình diễn này
My Khanh Pham

My Khanh Pham

Cải thiện trải nghiệm người dùng: ConveyThis Giới thiệu tính năng quản lý URL

Nhiều người bảo trợ ConveyThis thích dịch tất cả URL trang web của họ một cách chính xác. Đây có thể là một yêu cầu khắt khe nhiệm vụ, đặc biệt đối với các trang web mở rộng được dịch sang nhiều ngôn ngữ.

Phản hồi của người dùng đã chỉ ra rằng một số khách hàng thấy việc bắt đầu các dự án dịch thuật trang web ban đầu của họ hơi hoang mang. Họ thường đặt câu hỏi tại sao họ chỉ có thể xem URL trang chủ trong danh sách bản dịch và cách tạo bản dịch cho nội dung của họ.

Điều này chỉ ra một lĩnh vực tiềm năng để tăng cường. Chúng tôi đã nhìn thấy cơ hội để tạo điều kiện thuận lợi cho quy trình giới thiệu suôn sẻ hơn và quản lý dự án hiệu quả hơn. Tuy nhiên, chúng tôi thiếu một giải pháp cụ thể vào thời điểm đó.

Kết quả, như bạn có thể phỏng đoán, là sự ra đời của tính năng Quản lý URL. Nó cho phép người dùng quét URL của trang web và tạo nội dung đã dịch thông qua ConveyThis Trang tổng quan , nhanh chóng và hiệu quả.

Gần đây, tính năng này đã được chuyển từ Danh sách bản dịch sang một trang quản lý bản dịch dựa trên URL mới, dễ thích nghi hơn và mạnh mẽ hơn. Bây giờ, chúng tôi tin rằng đã đến lúc tiết lộ câu chuyện đằng sau sự ra đời của tính năng này.

921

Ôm Golang: ConveyThis' Hành trình hướng tới các dịch vụ dịch thuật nâng cao

922

Sự khởi đầu của đợt đóng cửa năm 2020 do đại dịch đã mang đến cho tôi cơ hội cuối cùng để học ngôn ngữ lập trình Golang đã bị loại bỏ do hạn chế về thời gian.

Được phát triển bởi Google, Golang hay Go đã trở nên phổ biến trong những năm gần đây. Một ngôn ngữ lập trình được biên dịch tĩnh, Golang được thiết kế để cho phép các nhà phát triển tạo mã hiệu quả, đáng tin cậy và đồng thời. Tính đơn giản của nó hỗ trợ viết và duy trì các chương trình mở rộng và phức tạp mà không làm giảm tốc độ.

Khi đang cân nhắc một dự án phụ tiềm năng để làm quen với Golang, một trình thu thập dữ liệu web đã nảy ra trong đầu tôi. Nó đáp ứng các tiêu chí được đề cập và có khả năng cung cấp giải pháp cho người dùng ConveyThis. Trình thu thập dữ liệu web hoặc 'bot' là chương trình truy cập trang web để trích xuất dữ liệu.

Đối với ConveyThis, mục tiêu của chúng tôi là phát triển một công cụ để người dùng quét trang web của họ và truy xuất tất cả các URL. Ngoài ra, chúng tôi muốn hợp lý hóa quá trình tạo bản dịch. Hiện tại, người dùng phải truy cập trang web của họ bằng ngôn ngữ đã dịch để tạo chúng, một nhiệm vụ trở nên khó khăn đối với các trang web lớn, đa ngôn ngữ.

Mặc dù nguyên mẫu ban đầu rất đơn giản – một chương trình lấy URL làm đầu vào và bắt đầu thu thập dữ liệu trang web – nhưng nó rất nhanh chóng và hiệu quả. Alex, ConveyThis' CTO, đã nhìn thấy tiềm năng của giải pháp này và đã cho phép nghiên cứu và phát triển để cải tiến ý tưởng cũng như dự tính cách tổ chức dịch vụ sản xuất trong tương lai.

Điều hướng xu hướng không có máy chủ bằng Go và ConveyThis

Trong quá trình hoàn thiện bot trình thu thập dữ liệu web, chúng tôi thấy mình phải vật lộn với các sắc thái của các tích hợp và CMS khác nhau. Sau đó, câu hỏi được đặt ra – làm cách nào chúng tôi có thể giới thiệu bot tốt nhất cho người dùng của mình?

Ban đầu, chúng tôi đã xem xét phương pháp sử dụng AWS đã được thử nghiệm và thử nghiệm với giao diện máy chủ web. Tuy nhiên, một số vấn đề tiềm ẩn đã xuất hiện. Chúng tôi không chắc chắn về tải của máy chủ, việc nhiều người dùng sử dụng đồng thời và chúng tôi thiếu kinh nghiệm với dịch vụ lưu trữ chương trình Go.

Điều này khiến chúng tôi phải xem xét kịch bản lưu trữ không có máy chủ. Điều này mang lại những lợi ích như quản lý cơ sở hạ tầng của nhà cung cấp và khả năng mở rộng vốn có, khiến nó trở thành giải pháp lý tưởng cho ConveyThis. Điều đó có nghĩa là chúng tôi không phải lo lắng về dung lượng máy chủ vì mỗi yêu cầu sẽ hoạt động trong vùng chứa riêng biệt của nó.

Tuy nhiên, trở lại năm 2020, máy tính không có máy chủ có giới hạn 5 phút. Điều này đã chứng minh một vấn đề đối với bot của chúng tôi, bot này có thể được yêu cầu thu thập dữ liệu các trang web thương mại điện tử lớn có nhiều trang. May mắn thay, vào đầu năm 2020, AWS đã mở rộng giới hạn lên 15 phút, mặc dù việc kích hoạt tính năng này tỏ ra là một nhiệm vụ đầy thách thức. Cuối cùng, chúng tôi đã tìm ra giải pháp bằng cách kích hoạt mã serverless với SQS – dịch vụ xếp hàng tin nhắn AWS.

923

Hành trình tương tác với Bot thời gian thực với ConveyThis

924

Khi chúng tôi giải quyết được tình trạng tiến thoái lưỡng nan về việc đăng cai tổ chức, chúng tôi có một trở ngại khác cần vượt qua. Bây giờ chúng tôi đã có một bot chức năng, được lưu trữ theo cách hiệu quả, có thể mở rộng. Nhiệm vụ còn lại là chuyển tiếp dữ liệu do bot tạo ra cho người dùng của chúng tôi.

Nhằm đạt được khả năng tương tác tối đa, tôi quyết định giao tiếp theo thời gian thực giữa bot và trang tổng quan ConveyThis. Mặc dù thời gian thực không phải là yêu cầu bắt buộc đối với tính năng như vậy nhưng tôi muốn người dùng của chúng tôi nhận được phản hồi ngay lập tức ngay khi bot bắt đầu hoạt động.

Để đạt được điều này, chúng tôi đã phát triển một máy chủ ổ cắm web Node.js đơn giản, được lưu trữ trên một phiên bản AWS EC2. Điều này yêu cầu một số điều chỉnh đối với bot để liên lạc với máy chủ websocket và tự động triển khai. Sau khi kiểm tra kỹ lưỡng, chúng tôi đã sẵn sàng chuyển sang sản xuất.

Những gì bắt đầu như một dự án phụ cuối cùng đã tìm thấy vị trí của nó trong bảng điều khiển. Thông qua các thử thách, tôi đã có được kiến thức về cờ vây và trau dồi kỹ năng của mình trong môi trường AWS. Tôi nhận thấy Go đặc biệt hữu ích cho các tác vụ kết nối mạng, lập trình hợp tác và điện toán không có máy chủ, do dung lượng bộ nhớ thấp.

Chúng tôi có kế hoạch tương lai vì bot mang đến những cơ hội mới. Chúng tôi mong muốn viết lại công cụ đếm từ của mình để có hiệu quả tốt hơn và có khả năng sử dụng nó để làm ấm bộ đệm. Tôi hy vọng bạn thích thú với thế giới công nghệ của ConveyThis này cũng như tôi rất thích chia sẻ nó.

Sẵn sàng để bắt đầu?

Dịch thuật, không chỉ là biết ngôn ngữ, là một quá trình phức tạp.

Bằng cách làm theo các mẹo của chúng tôi và sử dụng ConveyThis, các trang đã dịch của bạn sẽ thu hút được khán giả của bạn, cảm giác bản địa của ngôn ngữ mục tiêu.

Mặc dù nó đòi hỏi nỗ lực nhưng kết quả lại rất xứng đáng. Nếu bạn đang dịch một trang web, ConveyThis có thể giúp bạn tiết kiệm hàng giờ nhờ dịch máy tự động.

Dùng thử ConveyThis miễn phí trong 7 ngày!

độ dốc 2