Jump to content
bux578

tabler - Arma 3 Translation Helper

Recommended Posts

Icon-256.png

tabler - Arma 3 Translation Helper

I'd like to present to you a new tool I'm working on. It emerged from the need to translate a lot of modules of an Arma 3 mod without having to go through the hazzle of editing every single stringtable.xml one by one. And to be honest: It's not fun to work with XML files.

tabler let's you define your mod working directory and parses every stringtable.xml file it finds in your mod's subfolders. From there you can view, modify or add translations and save all your changes back to the stringtable.xml files - with one click.

Version 0.9.1 - https://github.com/bux/tabler/releases/latest

This tool is open source and hosted at github: https://github.com/bux/tabler
Feel free to fork it and to open pull requests. (It's written in C#)

Changelog:

  • v0.9.1
    • Fixed:
      • Fix not being able to open the "Find" dialog again after closing it with ESC

 

Spoiler
  • v0.9.0
    • Added:

      • Labels for x and y axis in the translation statistic chart (#59)

      • Ability to search -> Ctrl + F or "Tools" > "Find" (#57)

      • Ability to switch the current tab -> Ctrl + T (#57)

      • Progress Indicator while loading or saving stringtable files

      • Hotkeys for menu items

    • Fixed:

      • Exceptions handling when using Parallel.ForEach (#62)

    • Changed:

      • Added Escape key handler to all dialogs

      • Increase Performance while loading and displaying the tables (#58 )

      • Improved display of translation statistic chart for large numbers of missing translations

      • Replaced englisch language ressource files with "Default" language ressource files

  • v0.8.0
    • Added: Reading and writing files in parallel (#45)
    • Fixed: Presence or absence of BOM will be respected (#52)
    • Changed: Updated Octokit package
  • v0.7.0
    • Added: Ability to open more than one project with the same instance (#47)
    • Fixed: Crash when deleting a column's content (#48)
  • v0.6.0
    • + Added: github release check
    • ~ Changed: Updated dependencies, .NET framework version and code
  • v0.5.0
    • + Added: Settings for Indentation, Tabs/Spaces
    • + Added: Setting to remove empty XML language nodes
    • + Added: Markdown variant of the statistics export
    • + Added: German and Russian translation
    • ~ Fixed: Settings dialog has an icon now
  • v0.4.2
    • better exceptions
    • remove git breaking comment
  • v0.4.1
    • Update packages
    • add proper indentation
  • v0.4.0
    • Columns can now be copied (useful when doing translations of e.g. names that are similar in every language)
    • Proper handling of duplicate entries
  • v0.3.1
    • Changed "Total number of keys" to "Total number of missing translations"
    • Added "Total number of keys"
  • v0.3.0
    • Fixed date in comment. It's now formatted as "yyyy-MM-dd"
    • Added Translation Statistics! Copy the chart date via the context menu.
  • v0.2.0
    • More colors
    • More Excel-like behavior
    • A first "Undo" feature
    • Adding a language
    • more error prone
  • v0.1.0
    • First release

 

  • Like 1

Share this post


Link to post
Share on other sites
Guest

Release frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Edited by Guest
updated to latest

Share this post


Link to post
Share on other sites

Icon-48.png

tabler has been updated to version 0.2.0.

  • Lots of UI changes
  • More colors
  • More Excel-like behavior
  • A first "Undo" feature
  • Adding a language
  • more error prone

Download it at: https://github.com/bux/tabler/releases/tag/0.2.0

Edited by bux578
update link

Share this post


Link to post
Share on other sites

bux578 I will soon have the need your tool, so your service is very much appreciated! :bounce3:

(PS: also promoted in the tools Skype group chat)

Share this post


Link to post
Share on other sites

Thx kju, much appreciated! Glad I can give something back to the community.

Share this post


Link to post
Share on other sites

Will this also work for mission editor folders in case one needs to translate a mission? I did try it on a mission folder with a stringtable.xml present but the program crashed:

See the end of this message for details on invoking

just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************

System.ArgumentException: An item with the same key has already been added.

at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)

at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)

at tabler.XmlHelper.ParseXmlFiles(List`1 allStringTablePaths)

at tabler.TranslationManager.GetTranslationComponents(DirectoryInfo lastPathToDataFiles, Boolean insertMod)

at tabler.GridUI.openModFolderToolStripMenuItem_Click(Object sender, EventArgs e)

at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)

at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)

at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)

at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)

at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)

at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)

at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)

at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)

at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

at System.Windows.Forms.Control.WndProc(Message& m)

at System.Windows.Forms.ScrollableControl.WndProc(Message& m)

at System.Windows.Forms.ToolStrip.WndProc(Message& m)

at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

************** Loaded Assemblies **************

mscorlib

Assembly Version: 4.0.0.0

Win32 Version: 4.0.30319.18444 built by: FX451RTMGDR

CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

----------------------------------------

tabler

Assembly Version: 0.3.1.0

Win32 Version: 0.3.1

CodeBase: file:///O:/Arma%203%20-%20Other%20Profiles/whiztler/Tools/tabler-v0.3.1/tabler.exe

----------------------------------------

System.Core

Assembly Version: 4.0.0.0

Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

----------------------------------------

System

Assembly Version: 4.0.0.0

Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

----------------------------------------

System.Windows.Forms

Assembly Version: 4.0.0.0

Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

----------------------------------------

System.Drawing

Assembly Version: 4.0.0.0

Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

----------------------------------------

System.Xml.Linq

Assembly Version: 4.0.0.0

Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll

----------------------------------------

System.Xml

Assembly Version: 4.0.0.0

Win32 Version: 4.0.30319.18408 built by: FX451RTMGREL

CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

----------------------------------------

************** JIT Debugging **************

To enable just-in-time (JIT) debugging, the .config file for this

application or computer (machine.config) must have the

jitDebugging value set in the system.windows.forms section.

The application must also be compiled with debugging

enabled.

For example:

<configuration>

<system.windows.forms jitDebugging="true" />

</configuration>

When JIT debugging is enabled, any unhandled exception

will be sent to the JIT debugger registered on the computer

rather than be handled by this dialog box.

Share this post


Link to post
Share on other sites

I've never tried this one mission folders. tabler's main purpose is to translate mods and it relies on a special folder structure to be present.

But nontheless, it actually could work with mission folders.

System.ArgumentException: An item with the same key has already been added.

This error means that there's some problem in your xml file.

Please double check you stringtable.xml file, there seems to be multiple keys with the same ID or multiple same lanugage nodes inside of a key node.

Edited by bux578

Share this post


Link to post
Share on other sites

Great tool, makes tedious things way easier!

Share this post


Link to post
Share on other sites
Guest

Release frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites

Icon-48.png

tabler has been updated to version 0.4.0.

  • Columns can now be copied (useful when doing translations of e.g. names that are similar in every language)
  • Proper handling of duplicate entries

Download it at: https://github.com/bux/tabler/releases/tag/v0.4.0

Edited by bux578
update link

Share this post


Link to post
Share on other sites
Guest

New version frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites
Guest

New version frontpaged on the Armaholic homepage.

================================================

We have also "connected" these pages to your account on Armaholic.

This means in the future you will be able to maintain these pages yourself if you wish to do so. Once this new feature is ready we will contact you about it and explain how things work and what options you have.

When you have any questions already feel free to PM or email me!

Share this post


Link to post
Share on other sites

Hi Bux, I know that the ACE3 team used Tabler for translating. How did you guys manage the workflow in terms of multiple translators collaborating?

Also, how did you merge the translations into one stringtable.xml? Manual copy/paste?

Share this post


Link to post
Share on other sites

Git!

That was the only feasible way to do it. We had a lot of merge conflicts because we were editing the stringtable files and kept adding new strings (which is not optimal). But Flummi is a superb merge conflict resolver :) so we got that going for us.

But if you're working with multiple persons than git or svn are a must.

Share this post


Link to post
Share on other sites

Icon-48.png

tabler has been updated to version 0.5.0.

  • + Added: Settings for Indentation, Tabs/Spaces
  • + Added: Setting to remove empty XML language nodes
  • + Added: Markdown variant of the statistics export
  • + Added: German and Russian translation
  • - Fixed: Settings dialog has an icon now

Download it at: https://github.com/bux/tabler/releases/tag/v0.5.0

Edited by bux578
update link

Share this post


Link to post
Share on other sites

Columns 

Icon-48.png

tabler has been updated to version 0.5.0.
 

  • + Added: Settings for Indentation, Tabs/Spaces
  • + Added: Setting to remove empty XML language nodes
  • + Added: Markdown variant of the statistics export
  • + Added: German and Russian translation
  • - Fixed: Settings dialog has an icon now

Download it at: https://github.com/bux578/tabler/releases/tag/v0.5.0

 

 

Hi bux578, I am a translator for ArmA3 main game into chinese.

I use tool include your tabler to help me proofread offical stringtable.xml text.

I have some idea, hope you can use these idea to help this utilitie tool more complete.

 

---------------------------------------------------------------------------------------------------------------------------------------------------
 

1.offical stringtable.xml always some big (e.g. 400kb~700kb, or more to 2.92Mb). 

   When tabler open larger file, It will run slow, and save file also slow.

 

   When file big more than 1.99Mb to above 2Mb, the tabler will not respond at saving. Also, when save on about 1.5Mb file, it will take about 5min to saved file. Can fix this problem?

 

 

2.BI always like to change somting. Like stringtable.xml, inside order of language was changed.

   Original:<Original>, <English>, <Czech>, <French>, <German>, <Italian>, <Polish>, <Portuguese>, <Russian>, <Spanish>

   New:     <Original>, <French>, <Spanish>, <Italian>, <Polish>, <Russian>, <German>, <Czech>, <English>, <Portuguese>

 

   So when I compare text file, it was a mess. So I use your tool: add new launguage, copy and paste, help me to rearrange.

 

   If it possible to easily drag whole bar to define launguage inside file sequence? And tabler also show same order of language?

 

3.When I click the top bar to select whole columns, and push Delete, the tabler will crash. In order to solve this problem, I click number one bar, push Shift, and select the last bar and delete, and this will alright. Can fix this problem?

 

---------------------------------------------------------------------------------------------------------------------------------------------------

 

Once again thank you for making this tool :D

Share this post


Link to post
Share on other sites

Icon-48.png

tabler has been updated to version 0.6.0.
 

  • + Added: github release check
  • ° Changed: Updated dependencies, .NET framework version and code

 

Download it at: https://github.com/bux/tabler/releases/tag/v0.6.0

Edited by bux578
update link
  • Like 3

Share this post


Link to post
Share on other sites

WOOP WOOP!

Always good to have the tools you're using get updated :P

Share this post


Link to post
Share on other sites

can i change font on tabler? I guess not good visibility when using japanese os (win10).

http://imgur.com/fQXePpf

 

I was change to OS language to English from Japanese, but fonts are nothing changes.

  • Like 1

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

×