bux / tabler Goto Github PK
View Code? Open in Web Editor NEWArma 3 Translation Helper
Home Page: https://forums.bohemia.net/forums/topic/170780-tabler-arma-3-translation-helper/
Arma 3 Translation Helper
Home Page: https://forums.bohemia.net/forums/topic/170780-tabler-arma-3-translation-helper/
This is concerning how tabs are handled when they don't fit on screen.
I think wrapping them onto second (third etc.) line would be more convenient than scrolling (current model), because having all tabs on screen would result in faster work flow. Scrolling actually hinders user interaction by introducing the extra step of having to first scroll left/right before selecting a tab.
I suggest switching to wrap—thus avoiding extra steps entirely—or, at least adding a button for drop down menu where user would see all tabs that are currently off screen.
Currently if the last line is an empty line tabler will remove it, while other text editors can be configured to add it automatically for nicer Git commits, so there is a clash, adding, removing, adding, removing...
Would be nice if tabler would recognize this and retain it as it is (either there is an empty last line or there isn't), or at least a setting to toggle adding it or removing it if there is one.
When Tabler is used to edit files encoded in utf-8 without BOM character they will be saved back in utf-8 with BOM.
I think it would be reasonable to leave files original encoding when saving them.
While trying to open this stringtable.xml, I get the following error:
Details print is here.
With the actual version of ACE3, in the Tabler if i select Translation Progress this not show any graphic, only the windows in white.
I have last 0.4.2 Tabler version.
Here's the project I'm trying to open:
http://11rdp.fr/rdp/atelier/DrongosArtillery.7z (368K)
Error Report Output (in French sorry):
************** Texte de l'exception **************
System.ArgumentException: Un élément avec la même clé a déjà été ajouté.
à System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
à System.Collections.Generic.Dictionary2.Insert(TKey key, TValue value, Boolean add) à tabler.XmlHelper.ParseXmlFiles(List
1 allStringTablePaths)
à tabler.TranslationManager.GetTranslationComponents(DirectoryInfo lastPathToDataFiles, Boolean insertMod)
à tabler.GridUI.openModFolderToolStripMenuItem_Click(Object sender, EventArgs e)
à System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
à System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
à System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
à System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
à System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
à System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
à System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
à System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
à System.Windows.Forms.Control.WndProc(Message& m)
à System.Windows.Forms.ScrollableControl.WndProc(Message& m)
à System.Windows.Forms.ToolStrip.WndProc(Message& m)
à System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Assemblys chargés **************
mscorlib
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18331 built by: FX45GDRSTAGE
tabler
Version de l'assembly : 0.3.1.0
Version Win32 : 0.3.1
System.Core
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18331 built by: FX45GDRSTAGE
System
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18331 built by: FX45GDRSTAGE
System.Windows.Forms
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18331 built by: FX45GDRSTAGE
System.Drawing
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18331 built by: FX45GDRSTAGE
System.Drawing.resources
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.17929 built by: FX45RTMREL
System.Xml.Linq
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18331 built by: FX45GDRSTAGE
System.Xml
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.18331 built by: FX45GDRSTAGE
mscorlib.resources
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.17929 built by: FX45RTMREL
System.Windows.Forms.resources
Version de l'assembly : 4.0.0.0
Version Win32 : 4.0.30319.17929 built by: FX45RTMREL
The point would be to then be able to find out duplicate entries, within the project but even among several projects.
Ideally, it would generate an xml with filenames in comment, eg.
<!-- Control\ProcessFireMission.sqf START -->
<Key ID="STR_My_Amazing_Example_InvalidAsset">
<Czech>Invalid asset type.</Czech>
<English>Invalid asset type.</English>
<French>Invalid asset type.</French>
<German>Invalid asset type.</German>
<Hungarian>Invalid asset type.</Hungarian>
<Polish>Invalid asset type.</Polish>
<Portuguese>Invalid asset type.</Portuguese>
<Russian>Invalid asset type.</Russian>
<Spanish>Invalid asset type.</Spanish>
</Key>
Since English and Original will be the same for most translations they should be side by side for easier copying.
We are now able to add languages, so we should be allowed to remove languages as well.
Saving of larger files takes quite a few seconds. During that time the user recieves no feedback whether or not the saving is still ongoing. When saving has finished only a small message is shown at the bottom. When the user wants to exit the application one is asked whether one wants to drop all changes.
Suggestions:
While loading an a folder, it never stopped loading. I was loading from my github directory and then the addon folder itself. While trying to open, it never stopped loading, I also placed a string table in there and then tried again with the same never ending loading.
Having the row for new creating a new entry on top of the table removes the need to scroll though a large stringtable file for just adding a new key.
The current implementation works fine, but the biggest gripe I have with it is that it uses the old way of opening files.
This is incredibly frustrating if you have to navigate to a folder that is buried in the drive.
Using the SaveFileDialog class is a much better way to display files and folders to end user as it supports quick navigation such as bookmarks.
tabler is not only for mods anymore.
related to #4
Being able to Copy/Paste whole columns would be awesome to have since it would saves a lot of time when one does add a new language.
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?
Parsing the Grid and writing xml files might take some time. Could be faster when doing it in parallel.
For when the main window is smaller than contants therein.
It's currently not possible to search for a certain ID. Making it hard to find a specific one in a large stringtable.xml.
It's a bit ambiguous as it is. Considering the fact that it only does one thing—rendering graphs for the remaining untranslated strings—I'd suggest changing it to Translation Progress, or if you don't plan to expand this future any further, then a simple Remaining Translations might suffice.
Also, how about rounding down the stats to whole numbers. Unless I am missing something, having half a grade on translation scale doesn't sound very natural. Though, if there is actually a case for doing it so, then at least consider switching to percentages as a more intuitive representation. That way , instead of a precise number of (half-)strings remaining you would show a relative percentage above each incomplete language, corresponding to the amount left to reach the state of Original.
Would be nice to have the ability to resize columns manually and through auto-resize – double click at the edges. Gives a bit more control over presentation, such as whether translations are shown over a single row or bulked up over multiple lines to fit the column width.
I would be nice if one could hide complete translations (Keys which are translated into all available languages)
Would save quite a few click everytime one wants to do a quick edit of a stringtable.
The X and Y axis should be labeled. Additionally it would be nice if it also shows the total number of IDs.
X-axis: Languages
Y-axis: Number of missing translations
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?
Scrolling the list when working with a large stringtable.xml (4000 lines) is quite slow and laggy.
See AGM_Explosives/stringtable.xml line 2 in https://github.com/KoffeinFlummi/AGM/pull/795/files
Hello,
would it be possible to open a new file more than once?
So far I have to close the tool if I want to open another (set of) language file(s).
Still a great tool though.
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.
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?
Once again thank you for making this tool :D
Is it possible to make indentation to be based on a user's setting? I guess that would help a lot with projects using different coding standards than ACE3 (for which it's set right now).
Do you think could add this feature? I lost my work due to my stupidity and this could save me 😄 .
This is more of a cherry on top of the cake kind of feature request, if only for the fact that tabler's UI is fairly self-explanatory and there aren't even that many unique strings, to fully justify the amount of restructuring work that this undertaking might require.
However, if done through the auto-loading stringtable.xml as well, then it could be presented as a demo project for new users to explore available functionality and play with features in a safe environment—provided there is a reset button. 😄
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.