Editing Translation

Jump to: navigation, search

Warning: You are not logged in.

Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
 
{{TOCRIGHT}}
 
{{TOCRIGHT}}
{{finished}}
 
 
== Introduction ==
 
== Introduction ==
  
Line 15: Line 14:
 
== Names ==
 
== Names ==
  
Standart naming for locale file is '''L-localename0.PK3''', where localename is the language identificator.
+
Standart naming for locale file is '''L-localename0.PK3''', where localename is language identificator.
  
 
Example: localname is "espanol" and pack name will be '''L-espanol0.PK3'''.
 
Example: localname is "espanol" and pack name will be '''L-espanol0.PK3'''.
Line 34: Line 33:
 
** '''locales'''
 
** '''locales'''
 
*** ''localename.nsx'' - heading locale script
 
*** ''localename.nsx'' - heading locale script
*** ''localename.tga'' - а picture to be shown in the locale selection menu
+
*** ''localename.tga'' - а picture to show in the locale selection menu
 
*** '''locale/''' - general locales folder
 
*** '''locale/''' - general locales folder
 
**** '''localename/''' - base locale folder
 
**** '''localename/''' - base locale folder
Line 44: Line 43:
 
***** ''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 demo screen
+
***** ''gameover.nsx'' - translation strings for game over screen
***** ''demo.nsx'' - translation strings for game over screen
+
***** ''launcher.nsx'' - translation strings for game launcher. 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. 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)
Line 62: Line 56:
  
 
# Download sample pack;
 
# Download sample pack;
# Unpack it so that you have access to all files
+
# Unpack it so you will have access to all files
 
# Rename it to your language
 
# Rename it to your language
 
# Find .TTF/.OTF fonts that matches your language and place them to the pack (replace default fonts);
 
# Find .TTF/.OTF fonts that matches your language and place them to the pack (replace default fonts);
# Translate all the strings files (.nsx);
+
# Translate all strings files (.nsx);
 
# Translate cinematics subtitles (.dpsubs)
 
# Translate cinematics subtitles (.dpsubs)
 
# Translate ui.ns2;
 
# Translate ui.ns2;
Line 81: Line 75:
 
Speeches are activated by a game scripts which calls a ''character'':''group'':''key'' name to be played. Characters are defined in <locale>/strings/characters.nsx file (also can be defined in any other .nsx file under <locale>/strings/ in the [character] group). Groups are speech groups, defined inside NSX files in the ''[speech_<groupname>]'' style. There are separate groups for kain monologues, scene speech, gossip etc. Keys are key name inside speech groups, a value given to that key sets a text for speech.
 
Speeches are activated by a game scripts which calls a ''character'':''group'':''key'' name to be played. Characters are defined in <locale>/strings/characters.nsx file (also can be defined in any other .nsx file under <locale>/strings/ in the [character] group). Groups are speech groups, defined inside NSX files in the ''[speech_<groupname>]'' style. There are separate groups for kain monologues, scene speech, gossip etc. Keys are key name inside speech groups, a value given to that key sets a text for speech.
  
Character+Grops+Keys form a unique speech, which has a text (a value of key) and matching sound file. The sound file path is expected to be: <basepath>/key.ogg or / <speechbase>/key.wav. The ''basepath'' is a basepath for speech files which are set per-character in the [speech] group (defined in very top of speech.nsx). For example, basepath for speech of kain character is 'speech/kain/'.
+
Character+Grops+Keys form an unique speech, which have a text (a value of key) and matching sound file. The sound file path is expected to be: <basepath>/key.ogg or / <speechbase>/key.wav. The ''basepath'' is a basepath for speech files which are set per-character in the [speech] group (defined in very top of speech.nsx). For example, basepath for speech of kain character is 'speech/kain/'.
  
 
Example:
 
Example:
Line 97: Line 91:
  
 
=== The speech text ===
 
=== The speech text ===
Speech text are subtitles text, which also should have ''timing marks'' to break speech in several parts to be played in sequence. It is important to break speech text into a parts as blood omen have some very large speech files, more than 50 seconds, which will take a half-screen for a text if shown all at once.
+
Speech text are subtitles text, which also should have ''gaps'' to break speech in several parts to be played in sequence. it is important to break speech text into a parts as blood omen have some very large speech files, more than 50 seconds, which will take a half-screen for a text if shown all at once.
  
The timing mark are set as **<seconds>** tag, where ''seconds'' is a time, when text after timing mark will be displayed. The last <seconds> tag sets a length of whole speech, so if speech sound file get missing, speech are displayed anyway.
+
The gaps are set in **<seconds>** tags, where ''seconds'' is a time, when text after <>-tag will be displayed. The last <seconds> tag sets a length of whole speech, so if speech sound file get missing, speech are displayed anyway.
  
 
Example:
 
Example:
Line 112: Line 106:
 
=== Different game versions ===
 
=== Different game versions ===
  
There are some special groups which are used to override the speech files based on current game version.
+
There are some spechal groups which is used to override the speech files based on current game version.
  
The [!PlayStation!] group sets the speech keys to override default speech, in playstation version of the game. It is proven that PlayStation version have some speech shortened and [!PlayStation!] groups lets it have adequate subtitles. The syntax of speech keys in [!PlayStation!] group is ''group_key=speech text''.
+
The [!PlayStation!] groups sets the speech keys whil will override default pc speech in playstation version of the game. It is proven that playstation version have some speech shortened and [!PlayStation!] groups lets it have adequate subtitles. The systax of speech in [!PlayStation!] group are ''group_key''.
  
 
=== Testing speech in game ===
 
=== Testing speech in game ===
Line 128: Line 122:
 
Actions are:
 
Actions are:
 
*say - standart speech
 
*say - standart speech
*notice- heard 'in the player's head', used for someone's comments etc.
+
*notice- heared 'in head of player', used fro someone's comments etc.
 
*overhead - npc talk (yellow text)
 
*overhead - npc talk (yellow text)
  
Line 141: Line 135:
 
{{cmd|testlocale <localename> [vs localename] | [[console]] command helps to test whole locale for missing or extra strings.}}
 
{{cmd|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).
+
''localename'' is name of 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:
 
Examples:
Line 156: Line 150:
 
''' Blood Omnicide v0.1 NEW SPEECH LAYOUT  '''
 
''' Blood Omnicide v0.1 NEW SPEECH LAYOUT  '''
  
:Base locale pack (includes all files and texture sources): [http://omnicide.razorwind.ru/files/omnicide/0.1/locales/defaultLocale.zip download]
+
:English: [http://omnicide.legacy-of-kain.ru/files/omnicide/0.1/locales/L-default0.PK3 download]
 
+
:Sample russian locale: [http://omnicide.razorwind.ru/files/omnicide/0.1/locales/sampleLocaleRu.zip download]
+
  
 
''' Blood Omnicide Demo ''' (Using old translation layout)
 
''' Blood Omnicide Demo ''' (Using old translation layout)

Please note that all contributions to Blood Wiki are considered to be released under the Creative Commons Attribution Share Alike (see BloodWiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)

Templates used on this page:

This page is a member of 1 hidden category:

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox