Editing Translation
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: | ||
− | |||
− | |||
== Introduction == | == Introduction == | ||
− | Blood Omnicide support translation packs in the form of separate [[PK3 | PK3 files]]. This article will explain how to edit them, creating your own localization pack. | + | Blood Omnicide support translation packs in the form of separate [[PK3 | PK3 files]]. |
+ | |||
+ | This article will explain how to edit them, creating your own localization pack. | ||
Translation packs follows this rules: | Translation packs follows this rules: | ||
Line 15: | Line 15: | ||
== Names == | == Names == | ||
− | Standart naming for locale file is '''L-localename0.PK3''', where localename is | + | 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 34: | ||
** '''locales''' | ** '''locales''' | ||
*** ''localename.nsx'' - heading locale script | *** ''localename.nsx'' - heading locale script | ||
− | *** ''localename.tga'' - а picture to | + | *** ''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 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 | + | ***** ''gameover.nsx'' - translation strings for game over screen |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
***** ''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 57: | ||
# Download sample pack; | # Download sample pack; | ||
− | # Unpack it so | + | # 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 | + | # Translate all strings files (.nsx); |
# Translate cinematics subtitles (.dpsubs) | # Translate cinematics subtitles (.dpsubs) | ||
# Translate ui.ns2; | # Translate ui.ns2; | ||
Line 75: | Line 70: | ||
# Make a [[PK3]] file; | # Make a [[PK3]] file; | ||
− | == | + | == How speech works on Blood Omnicide == |
+ | 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. | |
− | Character+Grops+Keys form | + | Keys are key name inside speech groups, a value given to that key sets a text for speech. |
+ | |||
+ | Character+Grops+Keys form an unique speech, which have a text (a value of key) and points to 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 96: | Line 94: | ||
* kain:kain:aver2 - points to speech/kain/aver2 | * kain:kain:aver2 - points to speech/kain/aver2 | ||
− | + | == The speech text == | |
− | Speech text are subtitles text | + | Speech text are subtitles text which also 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 very large speech files, more than 50 seconds, which will take a half-screen for a text if shown all at once. |
− | The | + | 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 110: | Line 110: | ||
The whole length of speech is 9 seconds. | The whole length of speech is 9 seconds. | ||
− | + | == Testing speech in game == | |
− | + | === Re-load locale === | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
{{cmd|menu_restart| [[console]] command to restart menu system and re-load the current locale.}} | {{cmd|menu_restart| [[console]] command to restart menu system and re-load the current locale.}} | ||
When editing locale strings on-the-fly, use this command to force reload strings in order for changes to take effect. | When editing locale strings on-the-fly, use this command to force reload strings in order for changes to take effect. | ||
− | + | === Play particular speech === | |
{{cmd|speech <action> <character> <group> <key> [wait_after_played] [delay_before_played] | [[console]] command helps to test any speech}} | {{cmd|speech <action> <character> <group> <key> [wait_after_played] [delay_before_played] | [[console]] command helps to test any speech}} | ||
Actions are: | Actions are: | ||
*say - standart speech | *say - standart speech | ||
− | *notice- | + | *notice- heared 'in head of player', used fro someone's comments etc. |
*overhead - npc talk (yellow text) | *overhead - npc talk (yellow text) | ||
Line 138: | Line 131: | ||
{important|when editing speech.nsx on the fly, call the menu_restart command in the game for tha changes to take effect}} | {important|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 === | |
{{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 | + | ''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 154: | Line 147: | ||
Here is the list of reference locale packs that you can use as a base: | Here is the list of reference locale packs that you can use as a base: | ||
− | ''' Blood Omnicide v0.1 | + | ''' Blood Omnicide v0.1 ''' |
− | + | ||
− | + | ||
− | : | + | :English: [http://omnicide.legacy-of-kain.ru/files/omnicide/0.1/locales/L-default0.PK3 download] |
''' Blood Omnicide Demo ''' (Using old translation layout) | ''' Blood Omnicide Demo ''' (Using old translation layout) |