Bán hàng đa ngôn ngữ
Một cửa hàng bán bằng nhiều thứ tiếng — cài app, thêm ngôn ngữ, dịch mọi thứ ở một chỗ, để máy điền phần còn thiếu, và duyệt lại những gì máy viết.
Quản lý → Ứng dụng → Đa ngôn ngữ (en: Manage → Apps → Multilingual) — mọi thứ trong trang này sống ở đó. Lần đầu mở, màn hình sẽ nói cửa hàng chưa cài app và cho bạn nút Cài đặt; bấm là xong, không rời trang.
App có ba tab, và thứ tự đó là thứ tự công việc: Ngôn ngữ (chọn bán bằng tiếng gì), Dịch nội dung (dịch), Chờ duyệt (đọc lại những gì máy viết).
Điều đáng biết trước tiên: thêm một ngôn ngữ không đổi địa chỉ nào đang có.
Ngôn ngữ mặc định giữ nguyên mọi URL như cũ; mỗi ngôn ngữ bổ sung được phục vụ
dưới tiền tố đường dẫn riêng của nó — /en/about là trang /about bằng tiếng
Anh. Link cũ khách đã lưu vẫn chạy, và công cụ tìm kiếm được khai báo những
ngôn ngữ mà trang đã thật sự được dịch, để tự đưa khách đến đúng bản — thế nào
thì tính là "đã dịch", xem SEO.
Ngôn ngữ mặc định nằm ở chỗ khác, và đó là chủ ý
Tab Ngôn ngữ hiện ngôn ngữ mặc định với nhãn Mặc định, ô của nó luôn được tick và không tắt được — một cửa hàng thôi xuất bản chính ngôn ngữ gốc của nó thì không còn trang chủ. Nhưng đổi ngôn ngữ mặc định thì không làm ở đây: nó nằm ở Quản lý → Cài đặt → Tiền tệ & khu vực.
Lý do: app này gỡ được. Một cửa hàng bán bằng đúng một thứ tiếng vẫn phải nói được đó là tiếng gì — nếu ô chọn nằm trong app thì gỡ app đi là mất luôn chỗ đặt. Cửa hàng chưa từng đặt được phục vụ bằng tiếng Anh, và tab Ngôn ngữ nói thẳng điều đó thay vì hiện một danh sách trống rỗng.
Thêm một ngôn ngữ, và tiền tệ nó bán
Cài app xong, câu hỏi đầu tiên là cửa hàng này bán bằng tiếng gì. Chọn ngôn ngữ trong ô, chọn tiền tệ bên cạnh, bấm Thêm — bao nhiêu ngôn ngữ cũng được, và không cần nhờ ai. Ngôn ngữ bạn thêm là của riêng cửa hàng này; cửa hàng khác trên cùng nền tảng bán thứ tiếng khác là chuyện bình thường.
Nền tảng có sẵn một danh sách gợi ý để bấm cho nhanh, nhưng nó chỉ là gợi ý: ngôn ngữ không quyết định tiền tệ. Chọn ngôn ngữ thì ô tiền tệ được điền sẵn đồng tiền của thị trường chính, còn bán bằng gì là bạn quyết — cửa hàng tiếng Anh bán ở Nhật thì chọn yên, hoàn toàn bình thường. Đổi lại lúc nào cũng được: mỗi dòng ngôn ngữ đang bán có ô tiền tệ ngay tại đó.
Tên ngôn ngữ được lưu bằng chính tiếng đó — 日本語 chứ không phải "Tiếng Nhật" — vì đó là chữ khách đọc trên khối Đổi ngôn ngữ ngoài cửa hàng, không phải chữ bạn đọc trong trang quản lý.
Một dòng cảnh báo đáng để ý: nếu ngôn ngữ bạn vừa bật bán bằng một đồng tiền mà cửa hàng chưa có tỷ giá, tab này nói thẳng — khách đọc trang tiếng đó vẫn thấy giá bằng tiền tệ gốc cho tới khi bạn thêm tỷ giá ở Cài đặt → Tiền tệ.
Tiền tệ hiện trên dòng của một ngôn ngữ là đồng tiền cửa hàng bạn đặt cho ngôn ngữ đó; ngôn ngữ nào bạn chưa đặt thì hiện — và bán bằng — tiền tệ gốc của cửa hàng. Nó không bao giờ lấy đồng tiền đi kèm ngôn ngữ trong danh sách của nền tảng: đó là đồng tiền nền tảng tính giá gói dịch vụ của chính nó, không phải thứ khách của bạn trả.
Ngôn ngữ đi vào địa chỉ như thế nào — ba lựa chọn
Tiền tố đường dẫn là mặc định, nhưng không phải lựa chọn duy nhất. Tab Ngôn ngữ có mục "Ngôn ngữ đi vào địa chỉ như thế nào" với ba kiểu, và mỗi site chỉ dùng một kiểu — dùng cả ba cùng lúc nghĩa là mỗi trang có ba địa chỉ, điều công cụ tìm kiếm phạt là nội dung trùng lặp:
- Tiền tố đường dẫn —
/en/about. An toàn nhất cho SEO và là khuyến nghị của chúng tôi. - Tham số truy vấn —
/about?lang=en. Mọi ngôn ngữ chung một địa chỉ cộng một tham số; dễ chia sẻ link nhất, nhưng yếu nhất cho việc lập chỉ mục. - Subdomain —
en.ten-mien-cua-ban.com. Cần tên miền riêng, và một bản ghi DNS cho mỗi ngôn ngữ trỏ về nền tảng — chứng chỉ HTTPS được cấp tự động khi khách đầu tiên ghé. Kiểu này không dùng được trên địa chỉ có sẵn.sbuilder.site, vì chứng chỉ của địa chỉ đó chỉ phủ một cấp tên.
Ở kiểu nào thì ngôn ngữ mặc định cũng không mang gì cả — không tiền tố, không tham số, không nhãn — nên đổi kiểu không làm hỏng địa chỉ nào khách đã lưu ở ngôn ngữ mặc định.
Cũng nên biết ngay: đây không phải nút dịch tự động cả site. Bản dịch là nội dung của bạn — máy chỉ điền giúp phần còn thiếu, và những gì máy viết được đánh dấu chờ bạn đọc lại.
Dịch ở đâu: một chỗ cho tất cả
Tab Dịch nội dung là nơi dịch sản phẩm, bộ sưu tập, bài viết, chủ đề blog, khoá học, trang, biểu mẫu, chữ của chính cửa hàng, chữ trong email và nhãn bạn đặt trong Cài đặt. Cột trái là các loại nội dung; chọn một loại rồi chọn từng mục để mở khung dịch của nó.
Trước đây mỗi loại có khung dịch riêng nằm bên trong trang sửa của nó — một tab trong trang sửa sản phẩm, một tab trong trang sửa bài viết, và vài chỗ nữa. Những tab đó không còn: nếu bạn từng dịch sản phẩm bằng cách mở sản phẩm ra, giờ hãy vào đây. Đổi lại, có hai thứ mà cách cũ không làm được:
- Ô tìm kiếm trên danh sách, và
- công tắc Chỉ hiện chưa dịch — câu hỏi "còn gì chưa dịch" mà trước kia phải tự lật từng trang mới trả lời được.
Khung dịch thì vẫn y như cũ, kể cả cách lưu:
"Chữ gốc nằm bên trái. Những gì bạn gõ là những gì khách đọc ở ngôn ngữ đó."
Trường bỏ trống thì trang ở ngôn ngữ đó hiện chữ gốc — không bao giờ hiện trang trắng. Không có nút Lưu: mỗi ô lưu khi bạn rời khỏi nó, và hiện chữ Đã lưu một thoáng để bạn biết nó đã đi.
SEO đi cùng nội dung, không tách ra thành mục riêng. Khung dịch của một sản phẩm hay bài viết có luôn hai ô Tiêu đề SEO và Mô tả SEO ngay dưới phần nội dung, nên dịch xong một sản phẩm là xong hẳn. Bỏ trống thì mỗi ô giữ giá trị gốc của chính nó; và ở sản phẩm chưa từng đặt tiêu đề SEO riêng, tiêu đề trang tự đi theo tên sản phẩm đã dịch — đúng như bản gốc đi theo tên gốc.
Một trang là một dòng, có hai nửa. Mở một trang trong loại Trang và bạn thấy hai tab: Nội dung — mọi câu chữ trên trang đó, mỗi dòng ghi rõ nó là gì ("Nút · Chữ trên nút", "Tiêu đề · Chữ tiêu đề") — và SEO — tiêu đề và mô tả mà công cụ tìm kiếm hiện cho trang. Nội dung đứng trước vì đó là thứ khách đọc; SEO chỉ là câu giới thiệu về trang. Trước đây hai nửa này là hai loại tách rời, và ai mở nhầm nửa SEO trước sẽ tưởng trang chỉ dịch được SEO — không phải vậy, và giờ màn hình không còn cho phép hiểu nhầm đó.
Khoá học cũng là một dòng có hai nửa. Nếu cửa hàng cài app Khoá học, loại Khoá học liệt kê từng khoá: tab Nội dung là tên, tóm tắt, mô tả và SEO của khoá; tab Chương & bài học là tên từng chương và từng bài, bài nằm thụt dưới chương của nó. Trang bán khoá, lưới khoá học trên trang chủ và mục lục khách đọc trước khi mua đều đi theo ngôn ngữ của trang. Nội dung bên trong bài học (video, bài viết) không dịch ở đây — đó là nội dung đã bán, và phụ đề video đã có theo từng ngôn ngữ.
Biểu mẫu dịch được cả câu hỏi lẫn các lựa chọn. Nhãn, gợi ý, chú thích của từng trường đã dịch được từ lâu; từ 2026-09-06 dịch được cả danh sách lựa chọn của trường Chọn / Radio / Hộp kiểm, và tên cùng mô tả từng phương thức thanh toán.
Điều quan trọng nằm ở chỗ này, và nó là lý do trước đây chưa mở: chỉ chữ khách đọc đổi theo ngôn ngữ, giá trị gửi lên thì không. Khách chọn "Single room" ở bản tiếng Anh, nhưng biểu mẫu vẫn gửi "Phòng đơn" — nên luật hiển thị theo điều kiện vẫn khớp, lựa chọn mặc định vẫn trỏ đúng, và mọi phản hồi bạn đọc lại đều nằm trong một ngôn ngữ dù cửa hàng bán bằng bao nhiêu thứ tiếng. Vì vậy trong khung dịch bạn sẽ không thấy dòng cho "Giá trị mặc định": nó tên một giá trị không bao giờ đổi.
Chữ trên trang dịch được ở cả hai nơi, và hai nơi đó trả lời hai câu hỏi khác nhau. Tab Nội dung của một trang trong app liệt kê mọi câu chữ còn thiếu — đây là chỗ trả lời "còn trang nào chưa xong". Còn trong trình dựng trang, cạnh nút đổi thiết bị có ô Ngôn ngữ đang sửa: chọn ngôn ngữ rồi gõ thẳng lên trang, cùng một trang một góc nhìn khác — đây là chỗ để thấy câu chữ nằm vừa hay tràn khung. Bố cục, ảnh, thiết kế là chung; chỉ chữ đổi theo ngôn ngữ.
Nhãn tuỳ chọn của bộ lọc và bộ sắp xếp cũng dịch được — đáng nói vì hầu hết mọi người tưởng là không: giá trị lấy từ danh mục nên trông giống dữ liệu hơn là chữ. Chúng là chữ: "Mới nhất", "Giá: thấp đến cao", "Còn hàng" đều do bạn viết lại theo từng ngôn ngữ, trên phần tử Lựa chọn lẫn cả bốn phần tử lọc.
Bản dịch gắn vào giá trị của dòng, không gắn theo vị trí cũng không theo nhãn — và đó là thứ giúp nó sống sót: đồng bộ lại bộ lọc với danh mục sẽ dựng lại các dòng, và mỗi dòng tìm lại đúng bản dịch của mình. Dòng nào danh mục không còn giá trị đó nữa thì quay về chưa dịch, đó là câu trả lời thật thay vì để lại một chữ cũ đã sai.
Riêng giá trị thì không bao giờ dịch. Nó là thứ cửa hàng dùng để đối chiếu và
là thứ nằm trong địa chỉ (?f.tag=sale), nên dịch nó ra sẽ thu hẹp thành rỗng
ở đúng một ngôn ngữ — cửa hàng hỏng ở đúng một chỗ.
Bản dịch có thể cũ đi, và khung dịch nói ra điều đó. Mỗi bản dịch nhớ câu gốc mà nó được dịch từ đó. Sửa câu gốc sau khi đã dịch — đổi tên sản phẩm, viết lại tiêu đề — thì bản dịch bên cạnh mang nhãn Câu gốc đã đổi: "Câu gốc đã được sửa sau khi dịch — hãy kiểm tra bản dịch còn đúng ý không." Không có gì bị thay hộ bạn. Viết lại cho khớp, hoặc bấm Vẫn đúng — giữ bản dịch nếu chỗ sửa không đổi ý, và nhãn biến mất.
Chữ của chính cửa hàng cũng dịch được, từ 2026-09-06. Có hai loại chữ trên một trang đã xuất bản. Loại thứ nhất là nội dung của bạn, và nó đi theo bản dịch của bạn từ lâu. Loại thứ hai do trang tự sinh ra lúc khách thao tác — thông báo "Đã thêm vào giỏ hàng", chữ Đóng của khung xem ảnh, tên các trạng thái đơn hàng, câu báo lỗi của biểu mẫu — và loại đó trước đây nền tảng viết sẵn, chỉ bằng tiếng Việt và tiếng Anh. Cửa hàng bán bằng tiếng Nhật có trang tiếng Nhật và nút tiếng Việt, không sửa được ở đâu cả.
Giờ nó là một loại nội dung như mọi loại khác: Chữ của trang bán hàng, nằm cuối cột trái của tab Dịch nội dung. Mỗi dòng là một câu chữ, và dòng được gọi tên bằng chính câu chữ đó ở ngôn ngữ gốc của cửa hàng — bạn đọc thấy "Đã thêm vào giỏ hàng" trên cửa hàng thì gõ đúng mấy chữ đó vào ô tìm kiếm để tìm ra nó. Trường nào bỏ trống thì khách vẫn đọc chữ có sẵn của nền tảng, và nút Dịch phần còn thiếu chạy qua mục này y như chạy qua sản phẩm.
Email gửi cho khách cũng vậy. Mọi thư của cửa hàng — mã xác minh, xác nhận đơn, báo giao hàng, trả hàng, điểm thưởng, đặt lịch, khoá học — trước đây được viết sẵn hai thứ tiếng trong cùng một lá thư: một dòng tiếng Việt rồi một dòng tiếng Anh, luôn gửi cả hai. Hợp lý với cửa hàng Việt bán cho cả khách nước ngoài, và sai theo hai hướng với mọi cửa hàng khác.
Loại Chữ trong email ở cuối cột trái cho phép viết lại từng câu — và từ
2026-09-26 thư đi bằng tiếng của khách. Mỗi đơn hàng ghi lại ngôn ngữ khách
đang đọc lúc thanh toán, nên các thư về đơn — đặt hàng, đã thanh toán, đã gửi
hàng, đã huỷ — chỉ viết bằng đúng tiếng đó. Thư tài khoản cũng vậy: khách đăng
ký hay xin mã đặt lại mật khẩu trên các trang /en/ sẽ nhận mã bằng tiếng Anh.
Thư song ngữ kiểu cũ chỉ còn ở chỗ không có ngôn ngữ nào được ghi: đơn đặt ở ngôn ngữ mặc định của cửa hàng, đơn bạn tự tạo tay, đơn đặt trước khi có tính năng này — và, trong lúc này, những thư không nói về đơn hay tài khoản (trả hàng, điểm thưởng, đặt lịch, khoá học). Ở đó quy tắc vẫn như xưa, đặt ra để không có gì thay đổi với cửa hàng đang chạy: cửa hàng bán bằng tiếng Việt hoặc tiếng Anh gửi thư song ngữ, chỉ khác là nửa tiếng của bạn là chữ bạn tự viết; cửa hàng bán bằng thứ tiếng khác thì thư ra một thứ tiếng — tiếng của cửa hàng.
Ngôn ngữ ghi trên đơn được đối chiếu với các ngôn ngữ bạn đang xuất bản, nên một trang cũ trong bộ nhớ đệm hay một yêu cầu bị sửa tay không thể khiến thư của đơn ra bằng thứ tiếng cửa hàng không bán. Và ngôn ngữ được chốt lúc thanh toán: sau này bỏ một ngôn ngữ đi cũng không đổi tiếng mà người mua đơn đó được viết thư.
Tên từng dòng hàng theo cùng quy tắc. Bản thân đơn giữ nguyên tên sản phẩm lúc bán; còn lá thư, và lịch sử đơn hàng khách xem trên cửa hàng, in tên từng dòng bằng tiếng của khách nếu bạn đã dịch.
Hai chỗ cần để ý khi sửa. Thứ nhất, những ký hiệu như %d, %s là chỗ máy điền
số hoặc tên vào; giữ đủ chúng, nhưng được phép đổi vị trí cho đúng cách nói
của tiếng mình. Thứ hai, có vài dòng là cách viết ngày (02/01/2006 nghĩa là
ngày/tháng/năm); đổi được sang cách của tiếng bạn, miễn là còn đủ cả ngày, tháng
và năm. Sửa hỏng một trong hai thì nền tảng dùng lại câu gốc thay vì gửi đi một
lá thư lỗi.
Nhãn bạn tự đặt trong Cài đặt cũng dịch được. Tên phương thức vận chuyển và tên bạn đặt cho dòng thuế được in thẳng trên email xác nhận đơn, lấy từ bản chụp lưu trên chính đơn đó — không đi qua biểu mẫu nào cả, nên trước đây chúng đứng nguyên tiếng Việt trong một lá thư đã dịch. Loại Nhãn của cửa hàng liệt kê đúng những gì cửa hàng đang cấu hình: tên và mô tả từng phương thức vận chuyển, cùng nhãn thuế.
Bản dịch gắn vào chính đoạn chữ, không gắn vào dòng cài đặt. Nghĩa là đổi tên một phương thức trong Cài đặt sẽ tạo ra một dòng mới ở đây và bản dịch cũ thôi được dùng — đúng như mong muốn với hoá đơn đã gửi: đơn cũ giữ nguyên chữ nó đã in, không bị đổi nhãn theo cài đặt của năm sau.
Mỗi ngôn ngữ có thể có địa chỉ riêng
Từ 2026-09-26 địa chỉ cũng dịch được. Sản phẩm, danh mục sản phẩm, bài viết,
chủ đề blog, khoá học và trang đều có dòng Đường dẫn (slug) trong khung
dịch, nên bản tiếng Anh của /gioi-thieu có thể nằm ở /en/about-us thay vì
/en/gioi-thieu. Để trống thì ngôn ngữ đó giữ slug gốc sau tiền tố — đúng như
mọi trang trước đây.
Những gì bạn gõ được nắn thành dạng địa chỉ giúp bạn: chữ thường, bỏ dấu, dấu
cách thành gạch nối — About us được lưu thành about-us. Chữ nào nắn xong
không còn gì — một tiêu đề viết toàn tiếng Nhật chẳng hạn — thì bị từ chối,
thay vì lưu thành một địa chỉ không ai gõ nổi. Nút Dịch phần còn thiếu cũng
điền cả slug, từ cái tên đã dịch.
Địa chỉ cũ vẫn chạy, mãi mãi. Khi đã có /en/about-us, thì /en/gioi-thieu
trả về chuyển hướng vĩnh viễn (301) sang đó, giữ nguyên cả phần tham số — link
ai đó chia sẻ trước khi bạn dịch slug vẫn tới nơi, và công cụ tìm kiếm chuyển
thứ hạng sang địa chỉ mới thay vì đếm thành hai trang.
Địa chỉ bị đổi tên cũng thế. Đổi slug của một sản phẩm, danh mục, bài viết, chủ đề blog hay khoá học, hoặc đổi một slug đã dịch — hay đổi tên một trang rồi xuất bản — thì địa chỉ cũ chuyển hướng (301) về chỗ nó đang ở. Chuyển hướng trỏ vào món hàng chứ không trỏ vào một địa chỉ cố định, nên đổi tên lần hai không tạo thành chuỗi: mọi địa chỉ cũ đi thẳng tới địa chỉ hiện tại. Và một trang đang sống luôn thắng một chuyển hướng — tạo trang mới ở một địa chỉ từng chuyển hướng thì khách nhận trang mới.
Mấy quy tắc giữ cho một địa chỉ không bị hai thứ cùng trả lời:
- Mỗi món một địa chỉ, theo từng ngôn ngữ, trong từng loại. Slug dịch mà một sản phẩm khác (bài viết khác, trang khác…) đang dùng ở ngôn ngữ đó — bằng slug gốc hay bằng bản dịch của nó — sẽ bị từ chối, và thông báo nêu rõ địa chỉ đó. Chọn cái khác.
- Chiều ngược lại cũng vậy. Gõ slug sản phẩm, bài viết hay khoá học trùng
với địa chỉ đã dịch của một món khác thì bị từ chối. Còn để trống cho nền
tảng tự lấy từ tên thì không bao giờ bị từ chối: trùng thì tự thêm
-1,-2vào cuối, vì địa chỉ đó không ai chọn. Với trang, việc kiểm tra diễn ra lúc xuất bản — một trang không thể lên sóng ở địa chỉ mà trang khác đang trả lời ở một ngôn ngữ nào đó, và thông báo nêu tên trang cùng địa chỉ. - Địa chỉ riêng của cửa hàng không dành cho trang. Slug dịch của một trang
không được là
checkout,searchhayaccount: đó là trang thanh toán, kết quả tìm kiếm và tài khoản khách, và một trang dịch trùng vào đó sẽ cướp địa chỉ của thứ thật.
Khi Dịch phần còn thiếu mang về một slug bị trùng, riêng dòng đó để trống — phần còn lại của món vẫn được điền — và bạn tự gõ địa chỉ.
Máy điền phần còn thiếu
Máy dịch có ở ba tầm với, cùng một quy tắc:
- Một mục — nút Dịch phần còn thiếu trong khung dịch của mục đang mở ở tab Dịch nội dung.
- Một trang — trong trình dựng trang, khi đang đứng ở một ngôn ngữ, nút ✦ cạnh ô chọn ngôn ngữ dịch mọi chữ còn thiếu trên trang đó và canvas đổi ngay trước mắt bạn.
- Cả cửa hàng — ở tab Ngôn ngữ, nút Dịch phần còn thiếu — toàn cửa hàng đi qua mọi loại nội dung liệt kê ở tab Dịch nội dung trong một lần bấm: sản phẩm, bộ sưu tập, bài viết, chủ đề, khoá học cùng chương và bài của nó, chữ trên từng trang và SEO của trang, biểu mẫu, và chữ của chính cửa hàng. Trước 2026-09-06 nút này chỉ đi qua bốn loại đầu, nên ai bấm rồi mở lại sẽ thấy chữ trên trang vẫn còn nguyên.
Quy tắc quan trọng nhất nằm ngay dưới mỗi nút:
"Chỉ điền vào trường đang trống. Chữ bạn đã viết không bao giờ bị ghi đè."
Nghĩa là bấm bao nhiêu lần cũng an toàn: bản dịch bạn đã sửa tay là của bạn. Kết quả nói rõ điều đó — "Đã dịch 12 trường. 3 trường đã có chữ nên được giữ nguyên."
Có một ngoại lệ, và nó chỉ đụng tới việc của chính máy: bản dịch máy chưa ai duyệt mà câu gốc đã đổi thì được dịch lại từ câu gốc mới. Những gì người viết hoặc đã duyệt thì giữ nguyên — chúng nhận nhãn Câu gốc đã đổi, và viết lại là việc của bạn.
Dịch máy có hạn mức theo tháng, tính cho từng cửa hàng bằng số ký tự gửi đi dịch — 200.000 ký tự mỗi tháng, trừ khi người vận hành nền tảng đặt con số khác. Nó tồn tại vì dịch vụ dịch là của chung mọi cửa hàng trên nền tảng, và một cửa hàng bấm nút liên tục không được phép tiêu hết phần của người khác. Lần dịch nào sẽ vượt hạn mức thì bị từ chối cả lần, trước khi gửi đi; lần dịch mà dịch vụ trả lỗi thì không bị tính. Hết hạn mức thì nút báo thẳng — "Hạn mức dịch tháng này đã hết. Bạn vẫn tự dịch tay được." — và mọi thứ khác vẫn hoạt động bình thường. Với lần dịch cả cửa hàng, những gì đã dịch trước khi hết hạn mức được giữ nguyên — tháng sau bấm lại là chạy tiếp, chính vì máy không bao giờ ghi đè ô đã có chữ. Nền tảng có thể nối nhiều dịch vụ dịch nối tiếp nhau; hết hạn mức của dịch vụ này thì dịch vụ sau đứng vào, và bạn không cần biết câu chữ đến từ đâu.
Không thấy nút dịch máy? Dịch tự động là thứ người vận hành nền tảng bật; chưa bật thì tab Ngôn ngữ và khung dịch của từng trang nói thẳng — "Dịch tự động chưa được bật trên máy chủ này. Bạn vẫn dịch tay được." — thay vì để bạn đi tìm một nút không có. Mọi thứ khác trong app không phụ thuộc vào nó.
Duyệt những gì máy viết
Chữ do máy dịch mang nhãn Dịch máy — chưa duyệt cho tới khi có người đọc nó. Nhãn đó tồn tại vì một lý do: đăng lên cửa hàng những câu chữ chưa ai trong cửa hàng từng đọc là một quyết định, không phải một mặc định.
Vì vậy bản dịch máy chưa duyệt thì chưa lên cửa hàng. Khách vẫn thấy câu gốc ở chỗ đó; một trang mà bản dịch duy nhất là bản máy chưa duyệt thì chưa được tính là đã dịch ở ngôn ngữ ấy (chưa vào sơ đồ trang, chưa có thẻ ngôn ngữ thay thế); và email gửi khách cũng dùng câu gốc. Bấm Duyệt là câu dịch hiển thị ngay. Đầu tab Chờ duyệt luôn ghi con số đang chờ, để bạn biết còn bao nhiêu câu chữ chưa ra tới khách.
Tab Chờ duyệt là hàng đợi: mọi thứ máy đã viết mà chưa ai đọc, cũ nhất lên đầu. Mỗi hàng có hai nút — Duyệt khi câu chữ ổn, hoặc Mở ngữ cảnh để về đúng nơi nó sống trước khi quyết: một dòng chữ trên trang mở thẳng trình dựng trang — đúng trang, phần tử đó được chọn sẵn, và canvas đứng ở đúng ngôn ngữ đang duyệt. Hàng nào ghi rõ nó nằm trên trang nào.
Hàng đợi tìm kiếm được, theo đúng luật của ô tìm kiếm trên cửa hàng: không cần gõ dấu — "ao thun" tìm được "Áo thun" — và khớp theo đầu từ, nên "ao" không kéo "Chảo" vào. Ô lọc bên cạnh giữ lại một loại nội dung (chỉ sản phẩm, chỉ bài viết…) khi hàng đợi dài.
Duyệt được cả loạt, và đó là thứ đáng biết trước khi bạn ngồi bấm từng hàng. Mỗi hàng có ô tick; thanh trên đầu danh sách có Chọn cả trang. Chọn xong bấm Duyệt N mục — một lần gửi cho cả lô, không phải mỗi hàng một lần.
Lựa chọn bị xoá mỗi khi danh sách đổi: sang trang khác, gõ vào ô tìm kiếm, đổi bộ lọc hay đổi ngôn ngữ. Giữ lại thì nút sẽ duyệt những hàng đã trôi khỏi màn hình từ lâu, và đó đúng là điều một nút "duyệt cả loạt" không được phép làm.
Nút Duyệt tất cả đứng riêng và nói thẳng con số nó sẽ duyệt. Nó dọn mọi hàng khớp bộ lọc đang bật — kể cả những trang sau bạn chưa xem — nên nó hỏi lại một lần trước khi chạy. Lọc lấy một loại nội dung rồi mới bấm thì chỉ loại đó bị dọn.
Ba nút nói ba điều khác nhau, và chỗ khác nhau đó là toàn bộ ý nghĩa của hàng đợi này: Duyệt là "tôi đã đọc câu này", Duyệt N mục là "tôi đã đọc những câu này", còn Duyệt tất cả là "dọn hàng đợi đi". Chỉ nút cuối duyệt được những câu chưa ai mở ra xem, nên nó là nút duy nhất phải hỏi.
Không muốn duyệt nữa
Nếu cửa hàng tin bản dịch máy và không định đọc lại, tab Ngôn ngữ có công tắc Bản dịch máy không cần duyệt, nằm ngay cạnh nút dịch cả cửa hàng. Bật lên thì mỗi lần máy dịch ghi thẳng là đã duyệt và hiển thị trên cửa hàng ngay, hàng đợi không bao giờ nhận — nhãn Dịch máy — chưa duyệt cũng thôi xuất hiện.
Nó chỉ áp dụng từ lúc bật. Những hàng đang chờ vẫn nằm nguyên đó: bật một công tắc không được lặng lẽ duyệt hộ đống việc bạn đã cố ý để lại. Muốn dọn nốt thì dùng Duyệt tất cả, ở đó bạn nhìn thấy con số trước khi quyết.
Công tắc nằm ở tab Ngôn ngữ chứ không nằm trong hàng đợi là có lý do: nó không phải một lối tắt tìm thấy giữa lúc đang duyệt mệt, mà là câu trả lời của cửa hàng cho câu hỏi "dịch máy ở đây nghĩa là gì" — nên nó đặt cạnh chỗ bật dịch máy.
Khối Đổi ngôn ngữ — cho khách
Khách cần một nút để chuyển tiếng, không phải sửa địa chỉ bằng tay. Trong trình dựng trang, mục Tiện ích (en: Add-on) trên thanh công cụ trái mở panel riêng với hai tab nằm ngang trên cùng — Đã cài và Chưa cài:
- App Đa ngôn ngữ đã cài thì nằm ở tab Đã cài; bấm vào app để kéo ra khối Đổi ngôn ngữ — thả vào header hay footer, cạnh khối đổi tiền tệ.
- Chưa cài thì app nằm ở tab Chưa cài, và nút Cài đặt cài app rồi mở thẳng màn hình của nó để bạn chọn ngôn ngữ.
Khối này chỉ có trong app của nó, không nằm trong bảng phần tử chung — một cửa hàng một ngôn ngữ mà kéo được nó ra thì chỉ nhận một nút không chuyển đi đâu được.
Trên trang đã xuất bản, khối này hiện mỗi ngôn ngữ một liên kết thật — trỏ tới đúng trang đang xem ở tiếng đó, theo đúng kiểu địa chỉ cửa hàng đã chọn (tiền tố, tham số hay subdomain); bộ lọc đang bật đi theo. Ngôn ngữ đang đọc hiện đậm, không phải link. Các app khác cũng theo hai tab đó: app đã cài bung ra các khối kéo-thả của nó, app chưa cài bấm là cài.
Cờ là hình, không phải emoji. Bật Hiện cờ trong bảng thuộc tính của
khối thì trang xuất bản hiện lá cờ chữ nhật của nước tương ứng — cùng một lá
cờ trên mọi máy, thay vì emoji mà Windows vẽ thành hai chữ cái trong ô. Nước
được suy ra từ ngôn ngữ: lá cờ người vận hành gán cho ngôn ngữ trong danh mục
nền tảng nếu có, không thì vùng trong mã ngôn ngữ (en-GB → Anh), không nữa
thì nước thường gắn với thứ tiếng đó (vi → Việt Nam, en → Mỹ, ja → Nhật).
Cờ trong app và trong danh sách ngôn ngữ cũng là cùng bộ hình đó. Riêng trên
canvas của trình dựng trang cờ vẫn hiện dạng emoji — kích thước và vị trí
thì đúng như trang thật, chỉ nét vẽ khác.
Khách tìm kiếm bằng ngôn ngữ nào cũng thấy
Tìm kiếm trên cửa hàng khớp cả bản dịch: khách đứng ở /en/ gõ tên tiếng Anh
của sản phẩm sẽ tìm thấy nó, dù tên gốc bạn đặt bằng tiếng Việt. Không phải
cài gì thêm — dịch xong là tìm được.
Tiến độ
Tab Ngôn ngữ hiện tiến độ theo từng ngôn ngữ — bao nhiêu mục đã có bản dịch. Kèm một dòng đáng đọc kỹ:
"Đếm những gì đã dịch. Những mục chưa ai bắt đầu không được tính vào đây."
Nghĩa là con số này đo việc đã làm, không đo việc còn lại — một cửa hàng chưa dịch gì hiện "chưa có gì", chứ không hiện "0%".
Gỡ app
Gỡ được, nhưng không gỡ được khi cửa hàng đang xuất bản từ hai ngôn ngữ trở lên — bỏ ngôn ngữ thừa ở tab Ngôn ngữ trước đã. Thứ tự đó là chủ ý: gỡ app mà vẫn còn ngôn ngữ đang chạy sẽ để lại những trang không còn chỗ nào sửa được.
Cập nhật 9/10/2026