Jump to content
R3vo

Stringtables, how to create them efficiently?

Recommended Posts

As most of you probably know, creating stringtables is a dull and tedious work.

 

So I was wondering if there are any programs or some kind of work flow you can recommend, how can one speed up the process?

 

Looking forward to your experience.

Share this post


Link to post
Share on other sites

I've tried to use tabler, but I don't think it's meant to create  stringtables from scratch. For me, it won't even open an empty stringtable.

Share this post


Link to post
Share on other sites

I never tried it but google told me that this could be your wanted tool:

tabler - Arma 3 Translation Helper

I'm not sure, but quick glance at this tool's description tells me it does not scan files for string identifiers. It helps working with existing XMLs but where do you get them from?

 

The best workflow I can see here is to use tools and technologies which recommended themselves in translating software for long time. Like gettext and tools related to its gettext PO files format. I personally used only POEdit and Qt Linguist (uses other xml-based fomat), but there's plenty of them, including web-based. In *nix world you have a tool (or library) for almost everything, and most likely it's here for decades already.

The good point of using such tools is that you can rescan your source files periodically, automagically removing old string from translation and adding new ones, at the same time keepeng those remained and reusing their translations. Most of the time process is automatic. The real work to do is to translate new strings which are collected for translation, so you don't need to search them through all source tree. I tried xgettext's stadnard C parser with only localize keyword added and managed to get string identifiers from .sqf files from directory tree. Unfortunately $STR_* literals in config files are a separate story and did not get into output.

Other problem here is that most such tools are language-oriented, i.e. have one file per language. And their format differs from A3 Stringtables XML.

So now I'm looking forward to write extractor of string identifiers for use in/instead of xgettext in POEdit or any other tool which uses gettext PO file format.

Then the next step will be the consolidate tool which would be able to collect multiple (translated) .po files into one Stringtable.xml.

  • Like 1

Share this post


Link to post
Share on other sites

Very interesting, thanks for the info. I just wonder what BIS uses to translate their game, I mean Eden has thousands of translations, so I think they have some way to automate that.

Share this post


Link to post
Share on other sites

Another tool you might want to give a try is StringForge.

 

That looks exactly like what I was looking for. Thanks!

  • Like 1

Share this post


Link to post
Share on other sites

Some good points on writing localizable code: Internationalization: You’re probably doing it wrong.

Though post is written about localization of PHP code of WordPress plugins, its theses are very much applyable to SQF (or any localizable) code as well. Good to follow if you plan working with localizable strings with some grade of automatization (i.e. with any kind of software).

 

ATM neither SQF localize command nor Stringtable.xml file do support plural forms, but if at some point in the future BIS would want to upgrade localization to industry standards, they could easily modify existing facilities to support plurals (or context describing). Like with passing array to localize command and have some extended structure of Stringtable.xml.

 

Not a major issue, of course, or not even an issue. But hey, dreaming is free, right? :)

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×