Translation

From Blood Wiki
(Difference between revisions)
Jump to: navigation, search
(Testing a whole locale)
m (Contents of translation pack)
Line 44: Line 44:
 
***** ''characters.nsx'' - [[NSX (Translation string files) | translation strings]] for character names
 
***** ''characters.nsx'' - [[NSX (Translation string files) | translation strings]] for character names
 
***** ''credits.nsx'' - translation strings for credits
 
***** ''credits.nsx'' - translation strings for credits
***** ''gameover.nsx'' - translation strings for game over screen
+
***** ''gameover.nsx'' - translation strings for demo screen
 +
***** ''demo.nsx'' - translation strings for game over screen
 +
***** ''launcher.nsx'' - translation strings for game launcher {{tip|Should be ASCII (Ansi English) encoded, because currently launcher does not support UTF-8)
 +
***** ''launcher.utf8'' - a utf8-version of language translation (it is better to make utf8 first, then convert to ANSI_
 +
***** ''installer.nsx'' - translation strings for game installer {{tip|Should be ANSI encoded, because currently installer does not support UTF-8)
 +
***** ''installer.utf8'' - a utf8-version of installer translation (it is better to make utf8 first, then convert to ANSI_
 
***** ''gamestats.nsx'' - translation strings for game stats
 
***** ''gamestats.nsx'' - translation strings for game stats
 
***** ''mapnames.nsx'' - translation strings for map names (keys are filenames under kain/maps, values are names)
 
***** ''mapnames.nsx'' - translation strings for map names (keys are filenames under kain/maps, values are names)

Revision as of 01:49, 31 July 2016

Contents

Introduction

Blood Omnicide support translation packs in the form of separate PK3 files. This article will explain how to edit them, creating your own localization pack.

Translation packs follows this rules:

  • Translate texts, textures, sounds, everything
  • Language can be chosen without quitting the game
  • More translation packs should be created to allow support for more languages

Names

Standart naming for locale file is L-localename0.PK3, where localename is the language identificator.

Example: localname is "espanol" and pack name will be L-espanol0.PK3.

A number in the end is used to break up locale to separate PK3 files (or make update pack later), engine reads them in the order: L-espanol0.PK3, L-espanol1.PK3, L-espanol2.PK3 etc.

Text encoding

All text files should use Unicode (UTF-8) encoding with no BOM (Byte-Order-Mark). National encodings (ones Windows Notepad uses) are not suppored.

Tools to edit text files in UTF-8:

Contents of translation pack

  • kain - base folder
    • locales
      • localename.nsx - heading locale script
      • localename.tga - а picture to be shown in the locale selection menu
      • locale/ - general locales folder
        • localename/ - base locale folder
        • fonts/ - font definition files and font faces (see QFONT files)
        • gfx/ - replacements for UI textures (kain/gfx).
        • models/ - replacements for model textures (kain/models).
        • speech/ - replacements for speech sounds (kain/sound/speech).
        • strings/ - all translation strings in the form of INI files (see NSX files)
          • characters.nsx - translation strings for character names
          • credits.nsx - translation strings for credits
          • gameover.nsx - translation strings for demo screen
          • demo.nsx - translation strings for game over screen
          • launcher.nsx - translation strings for game launcher {{tip|Should be ASCII (Ansi English) encoded, because currently launcher does not support UTF-8)
          • launcher.utf8 - a utf8-version of language translation (it is better to make utf8 first, then convert to ANSI_
          • installer.nsx - translation strings for game installer
            Tip: when editing speech.nsx on the fly, call the menu_restart command in the game for tha changes to take effect

Testing a whole locale

 testlocale <localename> [vs localename]  : console command helps to test whole locale for missing or extra strings.

localename is the name of the locale to be tested. 'vs localename' additional arg can be supplied to test agains non-default locale (like testign ru-ru vs fr-fr).

Examples:

testlocale fr-fr
textlocale fr-fr vs ru-ru

Example of command output:

string missing: '[speech_guardian] dej2' (locale/default/strings/speech.nsx:435)
extra string: '[!PlayStation!] [speech_guardian_bane3]' (locale/ru-ru/strings/speech.nsx:561) - not defined in 'default' locale

Sample locale packs

Here is the list of reference locale packs that you can use as a base:

Blood Omnicide v0.1 NEW SPEECH LAYOUT

Base locale pack (includes all files and texture sources): download
Sample russian locale: download

Blood Omnicide Demo (Using old translation layout)

English: download
Russian: download
Espanol: download
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox