07/10/2026 · VietTechies · Biên tập

Một lập trình viên vừa chia sẻ chi tiết về kiến trúc đằng sau ứng dụng web đa ngôn ngữ tra cứu giờ cầu nguyện dành riêng cho thành phố Riyadh, Ả Rập Xê Út. Dự án cho thấy tầm quan trọng của việc áp dụng chính xác các tiêu chuẩn dữ liệu địa phương—cụ thể là quy chuẩn Umm al-Qura chính thức của Ả Rập Xê Út—nhằm đảm bảo tính chính xác cho các ứng dụng tiện ích.
Chuẩn hóa phương pháp tính toán và chiến lược lưu bộ nhớ đệm
Cách tính giờ cầu nguyện trên thế giới có sự khác biệt rõ rệt do mỗi tổ chức áp dụng góc chạng vạng của mặt trời so với đường chân trời khác nhau. Chẳng hạn, Liên đoàn Thế giới Hồi giáo dùng góc 18 độ cho lễ Fajr và Isha. Trong khi đó, tiêu chuẩn Umm al-Qura chính thức của Ả Rập Xê Út lại áp dụng góc 18,5 độ cho lễ Fajr và ấn định khoảng thời gian 90 phút sau lễ Maghrib cho lễ Isha (tăng lên 120 phút trong tháng Ramadan). Để cung cấp dữ liệu chính xác cho người dùng tại Riyadh, ứng dụng lấy dữ liệu từ Aladhan API dựa trên tham số Umm al-Qura kết hợp với tọa độ cụ thể của thành phố (24,7136° Bắc, 46,6753° Đông).
Nhằm duy trì tốc độ tải trang và giảm sự phụ thuộc vào dịch vụ bên ngoài, lịch trình hằng ngày được tính toán trước thông qua các tác vụ cron định kỳ, lưu dưới dạng dữ liệu meta có cấu trúc và lưu vào bộ nhớ đệm transient của WordPress thay vì gọi API mỗi khi có lượt truy cập. Bên cạnh lớp thu thập dữ liệu chính, một quy trình kiểm tra tự động chạy ngầm sẽ đối chiếu kết quả tính toán với một bộ quy tắc Umm al-Qura độc lập khác, giúp phát hiện và cảnh báo cho đội ngũ quản trị nếu xuất hiện lệch giờ.
Tối ưu hóa kiểu chữ tiếng Ả Rập và giao diện từ phải sang trái
Việc thiết kế giao diện song ngữ đòi hỏi những điều chỉnh giao diện chuyên biệt cho hướng đọc từ phải sang trái (RTL). Bố cục trang web sử dụng các thuộc tính CSS logic như margin-inline-start và padding-inline-end thay cho các thuộc tính căn chỉnh vật lý cố định. Nhờ đó, các yếu tố giao diện hiển thị chuẩn xác và được tự động đảo chiều phù hợp khi người dùng chuyển đổi ngôn ngữ.
Ban đầu, tính năng tự động tạo ảnh Open Graph chia sẻ lên mạng xã hội gặp lỗi rời rạc chữ cái tiếng Ả Rập do bộ dựng hình ảnh cơ bản không hỗ trợ xử lý văn bản phức tạp. Để khắc phục hiện tượng lỗi định dạng ký tự và thứ tự hiển thị từ phải sang trái trên ảnh chia sẻ, hệ thống đã chuyển sang quy trình xử lý hỗ trợ định dạng theo ngữ cảnh. Ngoài ra, trang web còn tích hợp bộ chuyển đổi chữ số, cho phép người dùng tùy chọn hiển thị giữa chữ số Ả Rập Đông và chữ số Ả Rập Tây.
Tính toán trước tĩnh và tối ưu hóa hiệu năng
Để giảm độ trễ trên thiết bị di động, lịch trình hằng ngày được phân phối dưới dạng tập tin HTML tĩnh lưu trong bộ nhớ đệm. Các phiên bản ngôn ngữ được phân tách rõ ràng qua cấu trúc URL riêng biệt, kết hợp thẻ hreflang nhằm hỗ trợ công cụ tìm kiếm lập chỉ mục chính xác. Nhờ ưu tiên bộ phông chữ hệ thống có phông dự phòng cho tiếng Ả Rập và loại bỏ các công cụ dựng hình phía máy trạm, ứng dụng đạt chỉ số Largest Contentful Paint tối ưu mà không cần phụ thuộc vào các plugin dựng trang nặng nề.
Ảnh minh họa do AI tạo, không phải ảnh tư liệu.
Nguồn: How I built a bilingual prayer-times site for Riyadh (WordPress + Umm al-Qura API)
