R3vo 2654 Posted March 15, 2016 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
sarogahtyp 1109 Posted March 16, 2016 I never tried it but google told me that this could be your wanted tool: tabler - Arma 3 Translation Helper 1 Share this post Link to post Share on other sites
R3vo 2654 Posted March 16, 2016 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
pedeathtrian 100 Posted March 16, 2016 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. 1 Share this post Link to post Share on other sites
R3vo 2654 Posted March 16, 2016 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
badluckburt 78 Posted March 16, 2016 Another tool you might want to give a try is StringForge. 2 Share this post Link to post Share on other sites
R3vo 2654 Posted March 16, 2016 Another tool you might want to give a try is StringForge. That looks exactly like what I was looking for. Thanks! 1 Share this post Link to post Share on other sites
dreadedentity 278 Posted March 16, 2016 I've just used a csv and excel. worked fine Share this post Link to post Share on other sites
pedeathtrian 100 Posted March 20, 2016 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