Inside 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 quản lý URL

Nhiều Người bảo trợ ConveyThis thích dịch chính xác tất cả các URL trên trang web của họ, đây có thể là một nhiệm vụ đòi hỏi khắt khe, đặc biệt là đố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 các URL của trang web của họ và tạo nội dung đã dịch của họ thông qua Bảng điều khiển ConveyThis một cách 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

Embracing Golang: Hành trình của ConveyThis 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 cân nhắc về một dự án phụ tiềm năng để làm quen với Golang, tôi chợt nghĩ đến một trình thu thập dữ liệu web. 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à một 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 quy 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 – nó nhanh chóng và hiệu quả. Alex, Giám đốc công nghệ của ConveyThis, đã nhìn thấy tiềm năng của giải pháp này và đã tiến hành nghiên cứu và phát triển để hoàn thiện khái niệm 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 Serverless 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 cân nhắc kịch bản lưu trữ không có máy chủ. Điều này mang lại các lợi ích như quản lý cơ sở hạ tầng bởi nhà cung cấp và khả năng mở rộng vốn có, làm cho nó trở thành một 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 tương tá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à bảng điều khiển ConveyThis. Mặc dù thời gian thực không phải là yêu cầu đối với một tính năng như vậy, nhưng tôi muốn người dùng của mình 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ó những kế hoạch trong 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 để đạt hiệu quả tốt hơn và có khả năng sử dụng công cụ này để làm ấm bộ đệm. Tôi hy vọng bạn thích cái nhìn lén này về thế giới công nghệ của ConveyThis nhiều như tôi đã 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ẽ cộng hưởng với độc giả của bạn, mang lại cảm giác tự nhiên cho ngôn ngữ đích.

Trong khi nó đòi hỏi nỗ lực, kết quả là bổ ích. 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ờ với tính năng dịch máy tự động.

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

độ dốc 2