Ảnh truyện mở trên máy mình nhưng mất khi gửi: đường dẫn chưa phải là tệp

Bạn soát xong một trang truyện tiếng Việt, chèn ảnh vào trang hướng dẫn rồi gửi tệp HTML cho đồng đội. Trên máy bạn, mọi thứ vẫn hiện rõ. Người nhận chỉ thấy một khung trống. Dịch lại câu thoại không giải quyết được lỗi này: tài liệu đã mang theo địa chỉ của ảnh, nhưng chưa chắc mang theo dữ liệu ảnh.

Bài hướng dẫn này dành cho người làm tài liệu, người xây trang tĩnh và nhóm dịch truyện có quyền sử dụng bản gốc. Chúng ta tách hai việc: tạo bản ảnh tiếng Việt và đóng gói bản ảnh để người khác thực sự mở được. Ví dụ dùng tên tệp và địa chỉ giả lập, không lấy trang truyện có bản quyền để thử.

Minh bạch: Nội dung được biên soạn với sự hỗ trợ của AI cho Ficory LLC, đơn vị đứng sau MangaTranslate. Đây là hướng dẫn quy trình và giải thích cơ chế đường dẫn web, không phải báo cáo đo độ chính xác OCR hay kiểm thử hệ thống lưu trữ của sản phẩm. Các địa chỉ dùng miền example.org bên dưới chỉ phục vụ minh họa, không phải nơi chứa ảnh thật.

1. Nhìn thấy ảnh chưa chứng minh tài liệu đã chứa ảnh

Một trình duyệt có thể lấy hình từ nhiều nơi: máy của bạn, máy chủ công khai, bộ nhớ của phiên đang mở, hoặc dữ liệu được nhúng trực tiếp trong tài liệu. Những nguồn đó có thể cho cùng một kết quả thị giác hôm nay nhưng rất khác nhau khi chuyển sang máy khác.

Hãy mở mã HTML hoặc phần kiểm tra phần tử và tìm thuộc tính src của ảnh. Bạn không cần sửa ngay. Trước hết, ghi lại loại địa chỉ đang được dùng. Nếu trình biên tập tự tạo thêm srcset, hãy kiểm tra cả thuộc tính đó: trình duyệt có thể chọn một ảnh khác với ảnh trong src theo kích thước màn hình.

Dạng nguồn Điều cần kiểm tra khi bàn giao
file:///.../trang-01.png Đường dẫn trên một máy, không phải ảnh công khai cho người nhận
images/trang-01.png Tệp có đi cùng đúng thư mục và đúng vị trí tương đối không?
/images/trang-01.png Máy chủ đích có tệp ở gốc website này không?
https://.../trang-01.png Người nhận có quyền đọc, và đường dẫn có ổn định không?
blob:... Đây là tham chiếu đối tượng của môi trường tạo ra nó, không phải đường dẫn lưu trữ để gửi lâu dài
data:image/... Dữ liệu được nhúng; cần cân nhắc dung lượng và chính sách của nơi xuất bản

Bảng này là cách phân loại để điều tra, không phải lời khẳng định rằng mọi URL HTTPS đều tốt hay mọi ảnh nhúng đều phù hợp. Một URL công khai vẫn có thể hết hạn. Một tài liệu tự chứa vẫn có thể quá nặng để hệ thống nhận chấp nhận.

2. Đặt bước dịch trước bước xuất bản, nhưng đừng nhập hai bước làm một

Khi cần dịch manga, MangaTranslate là một lựa chọn trực tuyến để tạo bản dịch ảnh rồi rà soát lời thoại và bố cục. Trang chủ có lựa chọn ngôn ngữ nguồn, ngôn ngữ đích, mô hình nhận dạng, bộ dịch và kiểu chữ; người dùng cần chọn cấu hình phù hợp với nội dung của mình. Giao diện đang được giới thiệu ở đây là tiếng Anh, không mặc định là giao diện tiếng Việt.

Quy trình nên bắt đầu từ một trang bạn có quyền xử lý. Giữ bản gốc riêng, chọn tiếng Việt làm ngôn ngữ đích, tạo bản dịch, đọc lại câu thoại và kiểm tra dấu tiếng Việt. Sửa những chỗ sai nghĩa hoặc khó đọc trong trình biên tập nếu tính năng tương ứng đang có trong tài khoản. Sau đó dùng chức năng xuất hoặc tải kết quả mà giao diện hiện tại cung cấp.

Điểm bàn giao là tệp kết quả bạn đã tải và mở được, không phải một ảnh xem trước chỉ đang hiển thị trong tab. Bài này không khẳng định MangaTranslate dùng blob: cho bản xem trước, không suy đoán thời hạn của URL kết quả và không coi địa chỉ bất kỳ lấy trong công cụ phát triển là đường dẫn chia sẻ chính thức.

Nếu phải đăng nhập, dùng đúng tài khoản được phép. Trước khi gửi thêm trang, kiểm tra chi phí hoặc tín dụng hiển thị ở thời điểm sử dụng. Không dựa vào một con số miễn phí cố định từ bài viết cũ. Công cụ dịch và nơi lưu trữ tài liệu là hai dịch vụ có vai trò khác nhau; xuất được ảnh không tự bảo đảm mọi liên kết ảnh trong một website khác sẽ hoạt động.

3. Với tài liệu nhiều tệp, giữ nguyên quan hệ thư mục

Giả sử gói bàn giao có cấu trúc sau:

ban-giao/
  index.html
  images/
    trang-01-vi.png
    trang-02-vi.png

Trong index.html, đường dẫn images/trang-01-vi.png nói rằng ảnh nằm trong thư mục images cạnh tệp HTML. Gửi riêng index.html sẽ làm mất phần còn lại của quan hệ đó. Cách sửa là gửi cả gói và hướng dẫn giải nén, hoặc tải toàn bộ cấu trúc lên nơi lưu trữ hỗ trợ nhiều tệp.

Đừng sửa bằng cách dán đường dẫn đầy đủ từ thư mục Downloads của bạn. Người nhận không có cùng tên người dùng, cùng ổ đĩa hay cùng cấu trúc thư mục. Cũng đừng chỉ đổi tên đường dẫn cho trông giống URL web: một chuỗi bắt đầu bằng https:// không tạo ra tệp trên máy chủ.

Sau khi đóng gói, chép gói sang một thư mục mới rồi mở bản sao để kiểm tra. Nếu vẫn vô tình trỏ về thư mục cũ, phép thử này giúp bạn nhận ra trước khi gửi. Với trang cần chạy qua HTTP, dùng môi trường xem trước phù hợp thay vì kết luận từ chế độ file:; các cơ chế bảo mật và yêu cầu mạng có thể khác nhau.

4. Một dấu gạch chéo đầu đường dẫn có thể đổi nơi lấy ảnh

Hãy xét trang giả lập https://example.org/huong-dan/index.html. Hai cách ghi sau không cùng nghĩa:

<img src="images/trang-01.png" alt="Trang minh họa đã dịch">
<img src="/images/trang-01.png" alt="Trang minh họa đã dịch">

Dòng đầu được phân giải thành https://example.org/huong-dan/images/trang-01.png. Dòng thứ hai bắt đầu từ gốc của origin, thành https://example.org/images/trang-01.png. Nếu bạn chuyển tài liệu vào một đường dẫn con, sự khác biệt này có thể quyết định ảnh có hiện hay không.

Bạn có thể kiểm tra phép phân giải bằng API URL của trình duyệt, không cần gửi yêu cầu tải ảnh:

const base = 'https://example.org/huong-dan/index.html';
new URL('images/trang-01.png', base).href;
new URL('/images/trang-01.png', base).href;

Đây là phép tính địa chỉ. Nó không kiểm tra tệp có tồn tại, máy chủ có trả lỗi hay người xem có quyền truy cập. Trước khi dùng kết quả cho một tài liệu thật, còn phải kiểm tra phản hồi mạng và chính ảnh người nhận nhìn thấy. Nếu tài liệu có thẻ base, hãy kiểm tra thêm document.baseURI thay vì mặc định dùng URL trên thanh địa chỉ.

5. Với ảnh lưu trên máy chủ, thử quyền đọc như một người nhận mới

Một ảnh có thể hiện với bạn vì phiên trình duyệt đang đăng nhập. Người nhận không có cookie đó. Có URL chứa chữ ký hoặc thông tin xác thực trong query; sao chép nó vừa có thể làm lộ quyền truy cập, vừa không bảo đảm tài liệu đọc được về sau.

Chọn nơi lưu trữ ảnh mà bạn có quyền quản lý, dùng đúng chức năng công khai hoặc chia sẻ của dịch vụ và đọc chính sách thời hạn. Không đưa token, đường dẫn quản trị hay địa chỉ chỉnh sửa bí mật vào HTML công khai. Nếu ảnh chưa được phép công khai, giữ tài liệu trong phạm vi phù hợp thay vì mở quyền chỉ để làm bài kiểm tra thành công.

Để kiểm tra một trang dự kiến công khai, mở URL công khai trong phiên không đăng nhập. Xem ảnh có thật sự tải được, phóng to đọc vài câu và đối chiếu đúng bản đã duyệt. Đừng chỉ kiểm tra mã trạng thái 200: máy chủ đôi khi trả trang đăng nhập hoặc thông báo lỗi bằng một phản hồi thành công. Cũng đừng chỉ nhìn ảnh nhỏ vì trình duyệt có thể đang giữ bản đệm.

6. Chọn cách đóng gói theo việc người nhận cần làm

Nếu người nhận cần sửa ảnh, hãy gửi các tệp ảnh cùng bảng tên trang và phiên bản. Một trang HTML đẹp không thay thế bộ tệp làm việc. Nếu người nhận chỉ cần đọc, một trang công khai có ảnh được lưu ổn định có thể tiện hơn một thư mục rời.

Nếu cần một tệp HTML tự chứa, ảnh nhúng là một khả năng kỹ thuật, nhưng phải kiểm tra giới hạn dung lượng và quy tắc của nền tảng xuất bản. Base64 thường làm dữ liệu lớn hơn; nhúng tất cả trang truyện vào một tài liệu không phải lựa chọn nhẹ mặc định. Không nhúng nội dung của người khác chỉ vì dữ liệu không còn xuất hiện dưới dạng một liên kết riêng.

Với mỗi gói, ghi ngắn gọn: bản nào đã duyệt, cần mạng hay không, cách mở và vị trí các tệp ảnh. Ghi chú này giúp người nhận phân biệt lỗi tải ảnh với lỗi dịch. Nó cũng ngăn việc dùng một bản xem trước cũ để phản hồi cho một bản xuất mới.

7. Phiếu bàn giao bốn câu hỏi

Trước khi gửi, hãy trả lời bốn câu: Ảnh nằm ở đâu? Người nhận có quyền đọc không? Tài liệu có mang theo đúng tệp hoặc đúng URL không? Một phiên không đăng nhập có đọc được bản dự kiến công khai không?

Nếu một câu chưa rõ, khoanh vùng đúng tầng lỗi rồi sửa. Đừng chạy lại OCR chỉ vì HTML trỏ nhầm thư mục. Đừng công khai một thư mục riêng tư để chữa liên kết tạm. Và đừng coi việc ảnh còn hiện trong tab của mình là bằng chứng rằng gói đã đầy đủ.

Bản dịch tốt phải giữ được nghĩa và cách đọc. Bản bàn giao tốt phải giữ được khả năng mở đúng nội dung. Làm hai việc này thành hai lượt kiểm tra riêng giúp nhóm biết đang sửa câu chữ, sửa tệp hay sửa đường dẫn, thay vì quay lại toàn bộ quy trình mỗi khi một khung ảnh bị trống.

Tài liệu kỹ thuật tham khảo: MDN về blob URL và MDN về URL constructor. Chúng giải thích cơ chế trình duyệt; không phải cam kết về thời hạn lưu ảnh của bất kỳ dịch vụ dịch truyện nào.

Published with deed.page