Localization

Video game quốc tế hóa: thực tiễn tốt nhất cho nội địa hóa kiến trúc thân thiện

Video game quốc tế hoá là quá trình cho phép nội địa hóa trò chơi diễn ra liền mạch. Đối với nội địa hóa để thành công, bạn nên có một sản phẩm quốc tế hóa trước khi bạn bắt đầu quá trình bản địa hoá thực sự.

Các nhà phát triển game làm cho những sai lầm điển hình của giả định rằng nội địa hóa là "chỉ" dịch. Họ không chuẩn bị cho nội địa hóa trong giai đoạn lập kế hoạch ban đầu và chờ đợi để phát triển các trò chơi trong ngôn ngữ mẹ đẻ của nó đầy đủ.

Việc localizing trò chơi video sẽ được dễ dàng hơn nếu bạn làm theo các trò chơi video quốc tế thực hành tốt nhất bắt đầu từ giai đoạn thiết kế ban đầu.

Video game là gì quốc tế hóa và tại sao bạn nên theo thực tiễn tốt nhất?

Video game quốc tế hóa là quá trình "chuẩn bị" trò chơi của bạn cho nội địa hóa. Quốc tế hóa trò chơi của bạn sẽ trao quyền cho , kiến trúcgiao diện người dùng để xử lý và hiển thị nội dung trò chơi bằng nhiều ngôn ngữ.

Mục đích chính của quốc tế hóa trò chơi video là để loại bỏ sự tồn tại của bất kỳ thành phần nào trong mã cơ sở khác với "miền địa phương".

Người chơi mong đợi giao diện người dùng địa phương để được chính xác như tương tác và trò chơi giống như tham gia như bản gốc. Để đạt được cùng một trải nghiệm tương tác và hấp dẫn, các lập trình viên trò chơi nên áp dụng các phương pháp hay nhất trong giai đoạn đầu của thiết kế trò chơi và phát triển.

Các thực tiễn tốt nhất cho video game quốc tế hoá là gì?

Nếu bạn là một nhà phát triển trò chơi làm việc trên thiết kế, nó là tốt để biết về video game quốc tế hóa thực tiễn tốt nhất. Bạn nên áp dụng các phương pháp phát triển trò chơi video được đề nghị. Video game quốc tế hóa thực tiễn tốt nhất rơi vào hai loại:

  • Địa phương hóa kiến trúc thân thiện: Ưu đãi với cấu trúc tập tin, tổ chức tài sản, mã hóa ký tự, vấn đề bộ nhớ, quy ước đặt tên
  • Bản địa hoá thân thiện lập trình: Ưu đãi với thực tiễn lập trình được đề xuất cho nhà phát triển (UI, cài đặt vùng, văn bản)

Video game quốc tế hoá
Bài viết này bao gồm các thực tiễn tốt nhất được đề bản địa hoá kiến trúc thân thiện. Thực hành quốc tế hóa video game cho các phương pháp lập trình xứng đáng tập trung đầy đủ của họ trong một bài đăng riêng biệt.

Địa phương hóa kiến trúc thân thiện

Thiết kế một cấu trúc thân thiện nội địa hóa sẽ giúp trò chơi của bạn được bản địa hóa một cách dễ dàng, nhanh chóng và chính xác. Đối với kiến trúc trò chơi của bạn để được bản địa hóa thân thiện, bạn nên quốc tế của bạn:

  1. Cấu trúc tập tin
  2. Tài sản trò chơi
    • Tài sản văn bản
    • Tài sản nghệ thuật
    • Voice-over
  3. Bộ nhớ
  4. Quy ước đặt tên

1. quốc tế hóa cấu trúc tập tin

Đó là tiêu chuẩn thực hành để Externalize strings tất cả các tài sản trò chơi ứng từ mã trò chơi và tổ chức chúng theo ngôn ngữ riêng biệt cụ thể thư mục. Làm điều này sẽ cho phép dễ dàng tay-off của nội dung ứng để LSP của bạn (nhà cung cấp dịch vụ ngôn ngữ), và các tài sản dịch có thể được tích hợp vào trò chơi của bạn một cách dễ dàng. Đây là một thực hành quốc tế trò chơi video quan trọng đó là đơn giản nhưng mạnh mẽ.

Ví dụ ở đây cho thấy cấu trúc thư mục mẫu để tổ chức mã trò chơi và tài sản của bạn để chuẩn bị cho bản địa hóa trò chơi. Khung phát triển của bạn có thể cung cấp các cấu trúc thư mục quốc tế hóa trò chơi video cụ thể. Bạn nên tham khảo tài liệu của họ để biết thêm chi tiết.
Video game quốc tế hóa cấu trúc tập tin
Thư mục mã ("game Code") chứa tất cả các tập tin mã của bạn, sử dụng mà nó sẽ có thể tạo ra một chủ bản địa hoá của trò chơi. Thư mục tài sản ("tài sản trò chơi") chứa tất cả văn bản, nghệ thuật, âm thanh, phim và các tài sản khác để được địa phương hóa.

2. quốc tế hóa tài sản trò chơi

Video game tài sản quốc tế hoá
Tài sản văn bản, tài sản nghệ thuật và giọng nói trên là các thành phần quan trọng trong trò chơi của bạn nên đề ra các yêu cầu quốc tế.

2,1 quốc tế hóa nội dung văn bản

Văn bản trong trò chơi và giao diện người dùng của bạn là mục tiêu bản địa hoá chính. Trong một tình huống lý tưởng, bạn nên Externalize strings tất cả các văn bản ứng (trong trò chơi văn bản, giao diện người dùng văn bản, thông báo lỗi Console, vv) trong các tập tin khác nhau, tách ra từ mã trò chơi thực tế. Bạn cũng nên nhớ để tổ chức tất cả các chuỗi cài đặt cho phiên bản PC ở một vị trí trung tâm.

Sử dụng các bảng chuỗi bên ngoài để lưu trữ văn bản có ứng giúp dễ dàng tổ chức và tích hợp bản dịch. Bạn có thể làm cho nó đơn giản hơn để theo dõi các thay đổi đối với các chuỗi trong quá trình phát triển, bằng cách sử dụng ID chuỗi duy nhất cho mỗi chuỗi.

2.1.1 xác định bảng string

Cách tiếp cận đơn giản và phổ biến nhất là lưu trữ tất cả văn bản trong một tệp văn bản thuần túy (cho ngôn ngữ nguồn). Tệp văn bản này có thể dễ dàng bàn giao cho nội địa hóa và phiên bản đã dịch có thể được tích hợp lại vào trò chơi của bạn cho ngôn ngữ đích. Nếu bạn đang sử dụng các tập tin văn bản thuần túy, thanh để mã hóa thân thiện địa phương như UTF-8 hoặc tương tự.

Tập tin văn bản mẫu
Bất kể cách bạn lưu trữ chuỗi của bạn, bạn sẽ thấy nó rất hữu ích để chỉ định một chuỗi nhận dạng duy nhất đối với mỗi văn bản và tham khảo văn bản trong mã của bạn bằng cách sử dụng ID chuỗi này.

Ví dụ tập tin văn bản bên ngoài (chứa tất cả các văn bản gốc cho một nhiệm vụ gọi là MissionDD)

en-US/văn bản/tài sản/MissionDD/Strings. txt 

DDSTRING_T1 Hi Jisto! Làm tốt?
DDSTRING_T2 Yeah, tôi ổn.
DDSTRING_T3 tạm biệt! Hẹn gặp lại.

Phiên bản ví dụ về Nhật bản (dịch) của tệp này

ja-JP/văn bản/tài sản/MissionDD/Strings. txt

DDSTRING_T1 こんにちはレイチェル!よくやっている?
DDSTRING_T2 ええ、私は大丈夫です。
DDSTRING_T3 さようなら!じゃあまたね。

2.1.2 đã phát triển trò chơi của bạn?

Nếu bạn đã phát triển trò chơi của bạn mà không cần suy nghĩ về nội địa hóa, sau đó sử dụng một số công cụ để trích xuất tất cả các văn bản từ các tập tin trò chơi. Di chuyển chúng vào một bảng chuỗi và gán mọi "văn bản" với một "mã định danh" duy nhất. Nhận dạng sẽ thay thế mọi sự xuất hiện của văn bản trong mã trò chơi.

2.1.3 bạn đang phát triển một trò chơi với rất nhiều văn bản?

Đối với các trò chơi có số lượng văn bản khổng lồ, chẳng hạn như trò chơi RPG lớn hoặc trò chơi mạo hiểm, bạn có thể xem xét sử dụng cơ sở dữ liệu. Lý tưởng là cơ sở dữ liệu nên chứa sau:

  • Id
  • Text
  • Ghi chú (cung cấp một ngữ cảnh của văn bản)
  • Thứ tự của văn bản
  • Chiều dài chuỗi tối đa
  • Địa phương Entries cho tất cả các văn bản (khi có sẵn)
2.1.4 sử dụng string Tables trong Code

Công cụ trò chơi của bạn tải bảng chuỗi vào bộ nhớ. Hash bảng là một cấu trúc dữ liệu thường được sử dụng. Nếu bạn đang phát triển trò chơi của bạn trong C++, sử dụng chứa bản đồ STL. Đóng gói bảng chuỗi thành một lớp chứa tất cả các văn bản và xác định một phương thức tĩnh chấp nhận mã định danh và trả về văn bản đã dịch.

Trong ví dụ bên dưới, GameDDStringTable là lớp đóng gói bảng chuỗi. Các API getDDString(StringID) là gọi và lấy văn bản địa phương cho chuỗi ID (trước khi sử dụng chúng trong mã).

Mã không quốc tế hoá

DDCHARACTER1. Thảo luận (hi Jisto! Làm tốt?);
DDCHARACTER2. Thảo luận (có, tôi okay.);
DDCHARACTER3. Thảo luận (bye! Gặp lại bạn sau.);

Mã quốc tế hoá

DDCHARACTER1. Thảo luận (GameDDStringTable:: getDDString ("DDSTRING_T1"));
DDCHARACTER2. Thảo luận (GameDDStringTable:: getDDString ("DDSTRING_T2"));
DDCHARACTER3. Thảo luận (GameDDStringTable:: getDDString ("DDSTRING_T3"));

2.1.5 duy trì khả năng đọc

Một trong những nhược điểm của externalizing tất cả trong trò chơi văn bản là trong khi nhìn vào mã của bạn, bạn sẽ thấy rằng nó đã bị mất khả năng đọc. Do đó tiếp tục thay đổi kịch bản có thể trở thành một chút khó khăn.

Ví dụ, DDCHARACTER1.Talk(GameDDStringTable::getDDString("DDSTRING_T1")); không thể đọc được vì sự vắng mặt của các văn bản thực tế được nói bởi các ký tự.

Một số nhóm phát triển trò chơi cố gắng khắc phục vấn đề này bằng cách giữ lại văn bản gốc (và sử dụng ID chuỗi duy nhất) trong mã. Họ làm theo một cú pháp được xác định trước và rõ ràng như được hiển thị trong ví dụ bên dưới.

DDCHARACTER1. Thảo luận (GameDDStringTable:: getDDString ("DDSTRING_T1 | Hi Jisto, làm thế nào bạn? "));
DDCHARACTER2. Thảo luận (GameDDStringTable:: getDDString ("DDSTRING_T2 | Vâng, tôi okay. "));
DDCHARACTER3. Thảo luận (GameDDStringTable:: getDDString ("DDSTRING_T3 | Tạm biệt! Gặp lại sau. "));

Trong ví dụ trên, các tập lệnh bao gồm cả các văn bản và định danh trong định dạng
“STRING ID | original text”.


Phương pháp tĩnh getDDString() sẽ đọc ID (ở bên trái của nhân vật đường ống) và trả lại văn bản dịch. Nếu nó không thể tìm thấy các văn bản dịch, nó sẽ trả lại văn bản gốc (ở bên phải của nhân vật đường ống).

Cách tiếp cận này làm cho script của bạn có thể đọc. Ngoài ra, trong trường hợp không có bất kỳ bảng chuỗi, trò chơi sẽ không chạy vì có một tùy chọn để rơi trở lại. Nó sẽ hiển thị các văn bản gốc ở phía bên phải của nhân vật đường ống.

2.1.4 lưu ý cho dịch

Nếu bạn muốn sắp xếp quá trình dịch thuật hơn nữa, bạn nên cung cấp đủ thông tin về tất cả các chuỗi có bản địa hóa. Bạn có thể cung cấp các hình thức nhận xét trong các bảng chuỗi bên ngoài của bạn. Bạn cũng có thể cung cấp chúng dưới dạng các ghi chú riêng biệt trong một thư mục tài liệu cụ thể. Đây là một trò chơi video rất khuyến khích quốc tế thực hành tốt nhất.

Ghi chú giúp dịch giả hiểu:

  • Thứ tự của văn bản
  • Bối cảnh của văn bản trong các trò chơi
  • Chiều dài tối đa của chuỗi (sau khi dịch) mà động cơ vẫn sẽ hỗ trợ
  • Bất kỳ quy tắc chuỗi nào khác duy nhất cho trò chơi của bạn

Video game quốc tế hóa- danh sách kiểm tra nhà phát triển đối với tài sản văn bản
Video game quốc tế hóa-danh sách kiểm tra tài sản văn bản

2,2 Quốc tế hóa tài sản nghệ thuật

Giảm số lượng thời gian dành cho việc bản địa hóa tài sản nghệ thuật bằng việc giảm thiểu số lượng văn bản xuất hiện trong nghệ thuật của bạn. Nếu bạn đang sử dụng văn bản trong nghệ thuật của mình, hãy làm theo các phương pháp hay nhất sau:

2.2.1 lớp riêng cho văn bản

Trong tệp hình ảnh, xác định văn bản trong một lớp riêng biệt. Các tập tin nghệ thuật lớp như vậy là dễ dàng để bản địa hóa bởi vì bạn có thể tích hợp các dịch nhanh chóng.

2.2.2 Hiển thị văn bản lập trình (Runtime)

Cách tiếp cận khác là hiển thị văn bản trong hình ảnh bằng cách sử dụng phông chữ (lập trình). Externalize tất cả các văn bản, xuất hiện trong các tài sản nghệ thuật, trong một tập tin văn bản riêng biệt mà có thể dễ dàng địa phương. Công cụ trò chơi của bạn sau đó có thể kéo văn bản thích hợp và hiển thị chúng trên hình ảnh theo yêu cầu tại thời gian chạy.

2.2.3 tổ chức thư mục Asset

Bạn nên thực hiện tất cả các tài sản nghệ thuật có địa chỉ trong các thư mục thích hợp như đã giải thích trong các phần trước.

2.2.4 lưu ý cho dịch

Như với tài sản văn bản, nó sẽ hữu ích để bao gồm các ghi chú cho dịch thuật.

Video game quốc tế hóa- danh sách kiểm tra nhà phát triển cho tài sản nghệ thuật
Video game quốc tế hóa-danh sách kiểm tra tài sản nghệ thuật

2,3 quốc tế Voiceover

Trò chơi âm thanh có thể được chia thành ba bài hát là giọng nói hơn (VO), hiệu ứng âm thanh và âm nhạc. Đó là thực hành tốt để lưu trữ tất cả các bài hát VO riêng biệt từ hai bài hát khác bởi vì điều này sẽ cho phép dễ dàng nội địa hóa. Nếu bạn tổ chức logic tất cả các tập tin của bạn VO, bạn sẽ tìm thấy nó rất đơn giản để tích hợp các VO bản địa hóa vào trò chơi của bạn.

Một cách tiếp cận là để tên các tập tin âm thanh VO của bạn bằng cách sử dụng nhận dạng chuỗi (được gán cho các văn bản trong bảng chuỗi của bạn). Trong ví dụ trên của chúng ta, các tập tin lồng tiếng có thể được đặt tên là string_t1. mp3, string_t2. mp3string_t3. mp3. Lợi ích của cách tiếp cận này là bạn có thể mã để lồng tiếng cho chuỗi (Hiển thị trên màn hình) được lấy và chơi.

Kịch bản của bạn là nền tảng cho sản xuất võ. Vì vậy, bạn phải hoàn thành các kịch bản rất sớm trong sự phát triển trò chơi và bao gồm càng nhiều khía cạnh kỹ thuật càng tốt (ví dụ: chiều dài, Mono/stereo, vv) cùng với một định nghĩa chính xác của bối cảnh.

Nhà cung cấp bản địa hoá sẽ có thể hiểu câu chuyện của bạn chảy như thế nào bằng cách đọc tập lệnh của bạn. Video game quốc tế hóa cho lồng tiếng sẽ giúp giữ lại hương vị ban đầu trong trò chơi địa phương của bạn.

Subtitling hệ thống

Nếu có thể, hãy thực hiện một hệ thống phụ đề phù hợp cho trò chơi của bạn. Bạn có thể thiết kế như vậy mà phụ đề xuất hiện trên màn hình cùng với nội dung của các tập tin VO được chơi hoặc thay thế VO ghi âm với phụ đề. Bạn nên nhớ để bao gồm tất cả các văn bản phụ đề trong nội dung văn bản ứng (và đảm bảo rằng bạn theo dõi chúng để dịch).

Video game quốc tế hóa- danh sách kiểm tra nhà phát triển cho Voiceover
Video game quốc tế hoá-danh sách kiểm tra tài sản Voiceover

3. quốc tế hóa bộ nhớ

Trong khi tải tập tin bảng chuỗi, bạn có thể giữ tất cả các văn bản trong bộ nhớ bởi vì trên trung bình này không nên nhiều hơn một hoặc hai MBs cho hầu hết các trò chơi. Bạn có nhiều khả năng chạy vào bộ nhớ vấn đề nếu nền tảng mục tiêu của bạn có giới hạn bộ nhớ. Trong trường hợp này, bạn có thể tải và dỡ bỏ bộ văn bản cụ thể khi cần thiết cho mọi cấp độ của trò chơi, v.v.

Nếu bạn đang phát triển trò chơi bằng tiếng Anh và ngôn ngữ mục tiêu bản địa hoá của bạn là ngôn ngữ Nhật hoặc Châu á khác, bạn có thể cảm thấy khó khăn để phù hợp với phông chữ của họ đặt vào bộ nhớ. Bạn có thể địa chỉ này bằng cách tải các glyphs xuất hiện trong phần cụ thể của trò chơi vào bộ nhớ khi cần thiết.

Nếu bạn đang phát triển trò chơi của bạn trong một ngôn ngữ Châu á (sử dụng bộ ký tự byte kép), bạn sẽ thấy rằng đối với tiếng Anh và vài ngôn ngữ châu Âu khác, các dây có thể mất nhiều bộ nhớ.

Ví dụ, tiếng Anh sử dụng khoảng 1,5 ký tự hơn Nhật bản và Đức sử dụng gấp đôi chữ của Nhật bản. Để khắc phục những vấn đề này và tránh tràn bộ nhớ nó là tốt nhất để dính vào một mã hóa (chẳng hạn như UTF-8) lưu trữ các ký tự châu Âu như một byte.

Các trò chơi video quốc tế hóa thực tiễn tốt nhất cho bộ nhớ sẽ đảm bảo trò chơi của bạn hoạt động tốt trong tất cả các ngôn ngữ.

4. quy ước đặt tên

Bạn nên tên tất cả các thư mục nội địa hóa và các tập tin cụ thể theo cách mà làm cho nó dễ dàng để giải thích ngôn ngữ/khu vực mà họ đại diện. Ngôn ngữ cũng có các biến thể dựa trên các khu vực. Vì vậy, nó là một ý tưởng tốt để kết hợp một mã 2 ký tự cho các ngôn ngữ với một mã 2-chữ cho quốc gia. Ví dụ tên là en-US (American English), Ja-JP (Nhật bản), zh-CN (tiếng Trung giản thể), zh-TW (tiếng Trung Phồn thể), vv.

Đó là một thực hành tốt tôn trọng các tiêu chuẩn ISO, được công nhận rộng rãi trên toàn cầu.

Nó sẽ dễ dàng để hiểu nội dung của các tập tin, nếu bạn tên họ một cách hợp lý như vậy mà tên là mô tả của nhiệm vụ, nhân vật, vv Ví dụ: UI. txt, Mission1. txt, Mission2. txt, v.v.

Tất cả các trò chơi video trên quốc tế hóa thực tiễn tốt nhất cho mục đích kiến trúc trong việc giúp bạn thiết kế trò chơi của bạn để được dễ dàng bản địa hóa. Các phương pháp hay nhất về lập trình trò chơi là cần thiết để đạt được các mục tiêu địa phương hóa của bạn.

Nếu bạn đặt nền tảng cho nội địa hóa trong giai đoạn đầu của kiến trúc, bạn sẽ thấy rằng nội địa hóa không phải là khó khăn. Trò chơi của bạn sẽ không kém hấp dẫn trong tất cả các phiên bản địa hoá và người chơi sẽ không thể biết rằng nó không được phát triển ban đầu cho ngôn ngữ của họ.

Bạn cần giúp đỡ việc quốc tế hóa trò chơi video hoặc nội địa hóa khỏi mặt đất? Tại sao không liên hệ với chúng tôi hôm nay cho một báo miễn phí?

Vinu Saseedaran Renish

Nội dung Creator

Vinu là một người đam mê công nghệ và nội dung Writer tại DayDigital, thúc đẩy bởi niềm đam mê của mình cho công nghệ và văn bản. Một kỹ sư khoa học máy tính bằng cấp và một alumnus Red Hat, cô được lấy cảm hứng từ độ nghiêng của mình để tìm hiểu điều gì đó mới, là một người mới bắt đầu, để đạt được những hiểu biết mới và phát triển mỗi ngày. Bạn có thể kết nối với cô ấy trên Twitter xử lý @VinuSRenish.

Trước điều
Top 5 đám mây áp dụng thách thức đối mặt của người dùng đám mây
Tiếp theo điều
Cloud Consulting: chuyên gia đám mây có thể giúp bạn xúc tiến chuyển đổi đám mây của bạn?
Bài viết liên quan
đạo đức Hacking để kiểm tra lỗ hổng bảo mật
Chung

Sử dụng đạo đức Hacking để cải thiện an ninh CNTT...

An ninh thông tin là cần của giờ! Nó quan trọng hơn bao giờ hết để bảo vệ tài sản kỹ thuật số của bạn. Có đạo đức Hacking giải pháp của bạn? Các máy chủ mạng, email, trang web và ứng dụng của bạn dễ bị tấn công độc hại từ bất kỳ góc nào trên thế giới. Có rất nhiều...

0
Ứng dụng di động quốc tế hoá
Localization

6 lời khuyên cho di động App bản địa hoá đó cung cấp Re...

Nội địa hóa ứng dụng di động là phải nếu bạn muốn tiếp cận đối tượng toàn cầu và tăng số lượng người dùng. Để nhập thị trường quốc tế, bạn nên suy nghĩ về bản địa hóa trước khi bạn có kế hoạch cho bất kỳ sáng kiến tiếp thị nào khác. Thị trường thực sự là toàn cầu trong...

0
Our-Post-->
Bài viết liên quan
đạo đức Hacking để kiểm tra lỗ hổng bảo mật
Chung

Sử dụng đạo đức Hacking để cải thiện CNTT secu...

An ninh thông tin là cần của giờ! Nó quan trọng hơn bao giờ hết để bảo vệ tài sản kỹ thuật số của bạn. Có đạo đức Hacking giải pháp của bạn? Các máy chủ mạng, email, trang web và ứng dụng của bạn dễ bị tấn công độc hại từ bất kỳ góc nào trên thế giới. Có rất nhiều...

Ứng dụng di động quốc tế hoá
Localization

6 lời khuyên cho Mobile App bản địa hoá đó...

Nội địa hóa ứng dụng di động là phải nếu bạn muốn tiếp cận đối tượng toàn cầu và tăng số lượng người dùng. Để nhập thị trường quốc tế, bạn nên suy nghĩ về bản địa hóa trước khi bạn có kế hoạch cho bất kỳ sáng kiến tiếp thị nào khác. Thị trường thực sự là toàn cầu trong...

WordPress chủ đề được cung cấp bởi jazzsurf.com