Aller au contenu

Photo

How to use talktables for addin localization?


  • Veuillez vous connecter pour répondre
21 réponses à ce sujet

#1
-ASPirine-

-ASPirine-
  • Members
  • 5 messages
DABuilder wiki says that talktables can be used for module localization but I cannot find any information about HOW to localize modules. I try to build it with module, place tlk file in module/data/talktables (like in official DLC) and in override directory but it has no effect. Trying add en-us/ru-ru suffix but has no effect too.
Help me please. How to use talktables?

#2
ladydesire

ladydesire
  • Members
  • 1 928 messages
You should be able to export talk tables in other languages; it would be under Export Foreign Talk Table, I believe.

#3
-ASPirine-

-ASPirine-
  • Members
  • 5 messages
Game uses strings that defined in toolset and ignore talktables. Only after I manually delete any strings from *.dlg game starts to read talktables. What I am doing wrong when create conversation in toolset? May be I do not check some options or something else?

#4
J.O.G

J.O.G
  • Members
  • 355 messages
Any news on this?

Seems like Export/Export Talktable doesn't extract all strings, of the 13 items in my mod, each with its own name and description, the talkfile only contained 3 names and 1 description...








#5
anakin5

anakin5
  • Members
  • 258 messages
I don't know how items names and descriptions works, but to answer the first question, you don't need to move the files that are exported by the toolset in an other directory.

Export Talk Table and Export Foreign Talk table do the job.

#6
J.O.G

J.O.G
  • Members
  • 355 messages
Enchantment?

#7
cachx

cachx
  • Members
  • 1 692 messages
I was about to ask the same thing.

I can see the Export Foreign Talk Table. But how do I write these strings? How do I 'link' the foreign strings to the English strings?

(In edit strings there's a checkbox that reads: Requires translation, but that does'nt seem to do anything).

#8
ShclasH

ShclasH
  • Members
  • 7 messages
It seems I have the same problem with localization, what I do is:

- export Talk Table

- delete the newly exported core Talk Table

- modify my Talk Table with DAOTlkEdit

- but no matter what not the game nor builder wants to use it



My question is: How do I override the Talk Table?

#9
J.O.G

J.O.G
  • Members
  • 355 messages
You can drag & drop the talktable into the toolset and edit it in GFF display. It works here, each entry has an internal ID and the string, I can edit those strings and they override the text stored in the UTIs (used the same folder structure and naming conventions as the promo DLCs) but the TLK file doesn't contain all strings from my mod.

Maybe it's the ID-numbers themselves? There was a problem like this with the 2da->gda conversion.

Modifié par J.O.G, 14 janvier 2010 - 03:29 .


#10
ShclasH

ShclasH
  • Members
  • 7 messages
You can try to add additional Strings with their IDs with the DAOTlkEdit with the option add StringRefs just note what string IDs you're missing.

Hmm.. I used the same folder structure and naming as in the DLC (_) and still nothing. I tried with high/low/and recommended in wiki string IDs and ... nothing :(
To be specific:
folder: ..."\\AddIns\\{addin}\\module\\data\\talktables\\"
file: {addin}_{xx}-{xx}.tlk
and the second one smaller overriding male strings for the female characters (like in DLC): {addin}_{xx}-{xx}_f.tlk

Modifié par ShclasH, 14 janvier 2010 - 10:53 .


#11
anakin5

anakin5
  • Members
  • 258 messages
The things with talk table is that there is nothing to do for it to works.



If you module is called my_custom_module, your module english talk table will be my_custom_module_en-us.tlk and is in the folder my_custom_module\\module\\override\\toolsetexport



The question is : Why did you move it in the data\\talktable folder ?

#12
ShclasH

ShclasH
  • Members
  • 7 messages
Well I started to fiddle with it after it didn't work in override\\toolsetexport

I tried leaving the exported talk table where it was and how it was named {yes my_module_en-us.tlk} only modifying strings which it contained ... than I tried adding second "localised" talk table in the toolsetexport directory and still nothing. Leaving only localised tlk in that directory ... and, yes nothing.

Yes I know it's odd because so far everything what I dropped into either override or toolsetexport directory did it's job. So I started from moving tlks into the module/data/talktables - the place where they exist it DLC addins or Single Player module.


#13
anakin5

anakin5
  • Members
  • 258 messages
Where are used sentences in your table table ? Items ? Codex ?

What did you do to link the ID in your talk table to the content you created ?

#14
ShclasH

ShclasH
  • Members
  • 7 messages
I only need them to translate strings from conversations, item descriptions and such, because the toolset doesn't seem to store special Polish chars. It replaces them with their equivalents without diacritics and that looks bad in the game.

The only place witch seems to work is the core override directory, but obviously that makes the whole other strings vanish from the game (but mine are properly translated :) )

#15
anakin5

anakin5
  • Members
  • 258 messages
You are trying to override the core_pl-pl.tlk. You didn't talk about that before, you were talking about addin talk table.

You cannot extend the core talk table. You cannot partially override the core talk table. You have to copy the initial core_pl-pl.tlk and add/modify your strings if you want to do that.

The best way to do what you want to do is not simple :
- First, users will not be able to install your module with daupdater because your are overriding a core ressource.
- It is better to override the item whose description changed than overriding the whole core talk table.

To change the description of an item whithout having to override the whole core talk table, you have 2 choice :
1) Open a local copy of the item in the toolset, edit description, export it. You will not have to use talk table.

2) Harder. Find the .uti of the item in the package/core/data or module/core/data folder of your game installation (not the toolset). You have to open .erf files here with the toolset and export the item you want.

Then, open this .uti file with an hexadecimal editor and find the reference of the string ID.
Change this reference to a new string ID.
Use this new string ID to create a new string in the toolset with the wanted description.

Put the modified .uti file in package/core/override
Let your module's talk table in your module's folder.

Modifié par anakin5, 15 janvier 2010 - 05:29 .


#16
ShclasH

ShclasH
  • Members
  • 7 messages
Yes, I'm aware off that I can't override core talk table. I was just telling this was the only talk table I managed to override.
I'm afraid I have to use the local\\\\addin talktable because Polish special characters are in the Latin-2 and the toolset uses Latin-1 so the only character I can get is "ó" I guess used in French also. So if I use only toolsets abilities I cannot get them. I need to override every single string containing special chars (witch means pretty much everything) with the *.tlk That I guess uses UTF-8.
I know that if I was writing a module in English, French, Spanish ... I wouldn't have to bother with the tlk and the talk table as well ... yeah but I don't :(
If I write something in the toolset (conversation, item description ... whatever) using Polish special chars is stored with standard Latin letters.
However If I try to export a conversation when I got It opended in the toolset with special chars inserted I get it good in game but if I save it close it and open again (the dlg) all special characters are replaced with equivalent standard Latin letters.
If I try to do the same thing with the custom item there is the difference, I get those squares in game (the ones you know from Chinese or Japan websites if You don't have their fonts).
So I figured out that the only way to make it work is to override every string from my module with the tlk.
ASPirine I guess had or has the same problem, well bigger even because he couldn't or still cannot use any of his ru-ru chars (if russian version of the toolset also has only translated GUI)

Modifié par ShclasH, 15 janvier 2010 - 07:40 .


#17
anakin5

anakin5
  • Members
  • 258 messages
I am translating my mod in polish, russian and czech and I get it works with a little tool you can find if you follow the link in my sig.

Talk table text are not utf-8 encoded, they are utf-16 (unicode). I didn't know the toolset was not working with unicode characters because I use my tool to generate my talk tables.

#18
ShclasH

ShclasH
  • Members
  • 7 messages
I tried it at first when I found the problem.
I made new stand alone module called "tlktester"
I created unicode txt file with the right file path and the names of the tlk's containing stringID's from the module and strings for all languages.
D&D on the tool -> 9 files named tlktester_{localization}.tlk appeared at the proper location ( My Docs...Addins/tlktester/core/override/toolsetexport)
I checked them with DAOTlkEdit -> Yes they were good
Fired up the game and -> doh! :(

I don't know why and what but something is preventing the override proces. The only talktable that I can override is the core talktable and I know that is no use for me.
Even if I export the talktable from the toolset and just change some strings using only latin letters nothing happens.
My friend has the exact same problem. We are both using Polish version of the toolset.
I think I'm going to try and download to us version to see if it'll work.

Modifié par ShclasH, 15 janvier 2010 - 10:51 .


#19
anakin5

anakin5
  • Members
  • 258 messages
Why are you talking of "override" ? You are not overriding anything, you are creating a brand new talk table. Your string ID are new and not used by the game... hein ?

Modifié par anakin5, 15 janvier 2010 - 11:41 .


#20
ShclasH

ShclasH
  • Members
  • 7 messages
Yes but even if you're not exporting any talk table you still have some text in your conversations (dlg), names of creatures, items, descriptions ect. Having that you can but don't need to export talk table. The module esp. in English will work fine without any tlk in it's structure.

The exported talk table is needed only when you want to localise the addin, because you can add new strings via string editor if you need them for any other thing like module description.

And the strings from whichever tlk (depending on who is using the addin pl-pl/ru-ru/es-es ect.) override those from the string editor. Am I correct? Or am I missing something obvious?



Damn I must have been wasted! *facepalm* there is no Polish version of the toolset there is only one (english) :D

Don't know how it crossed my mind.

#21
anakin5

anakin5
  • Members
  • 258 messages
ok, you have to know that English texts are also exported in .uti files (don't know for .dlg).

The string ID is stored as well but I think the game doesn't use it because there is already a text in the .uti file.



The tips is to delete the description in the .uti file and keep the string ID. You can do this with an hexadecimal editor.

I found it is better to not export toolset item if you plan to translate the name or description. .uti file located in the dragon age root folder are better template because they only include the string ID and no text in it. You see ?

#22
anakin5

anakin5
  • Members
  • 258 messages
Got a new for you ShclasH. About translation items names and descriptions.



In the toolset, let the name and description field blank. Export your item as you did it. Export talk table with the toolset function.



Now, just open the exported talk table to find the string ID (Is is a blank string now, so it be hard to differs every names and descriptions you let blank).

Then, use my tool to create your talk table.



The tips is to export the item without name and description.