Coder Social home page Coder Social logo

nicolasgrosjean / translate_helper Goto Github PK

View Code? Open in Web Editor NEW
30.0 5.0 0.0 206.36 MB

A Java application to help to translate the localisation files of the Paradox games.

Java 89.93% Perl 6.48% Shell 1.56% Awk 0.21% Python 1.80% Batchfile 0.01%
translation paradox-interactive ck2 localisation hoi4 hearts-of-iron-4 heartsofiron4 eu4 europa-universalis-4 stellaris

translate_helper's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

translate_helper's Issues

JAXBException

HI, when I click translate in the details window I get this error and the translation window don't open. Here is the terminal output:
Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
at net.loomchild.segment.srx.io.Srx2SaxParser.(Srx2SaxParser.java:173)
at org.languagetool.tokenizers.SrxTools.createSrxDocument(SrxTools.java:51)
at org.languagetool.tokenizers.SRXSentenceTokenizer.(SRXSentenceTokenizer.java:53)
at org.languagetool.tokenizers.SimpleSentenceTokenizer.(SimpleSentenceTokenizer.java:37)
at org.languagetool.Language.(Language.java:60)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at org.languagetool.Languages.createLanguageObjects(Languages.java:110)
at org.languagetool.Languages.getAllLanguages(Languages.java:96)
at org.languagetool.Languages.(Languages.java:38)
at gui.TranslatorDialog.(TranslatorDialog.java:100)
at gui.DetailsDialog$TranslateListener.actionPerformed(DetailsDialog.java:101)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6397)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
at java.desktop/java.awt.Dialog.show(Dialog.java:1070)
at java.desktop/java.awt.Component.show(Component.java:1716)
at java.desktop/java.awt.Component.setVisible(Component.java:1663)
at java.desktop/java.awt.Window.setVisible(Window.java:1031)
at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1005)
at gui.DetailsDialog.(DetailsDialog.java:59)
at gui.DetailsButton$ButtonListener.actionPerformed(DetailsButton.java:78)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6397)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.repostEvent(BasicTableUI.java:967)
at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(BasicTableUI.java:1183)
at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
at java.desktop/java.awt.Component.processEvent(Component.java:6397)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)

HoI4 coloration fails

#4 has introduced some bugs :

image

Derived from the name for \"honeybee\" in the Book of Mormon, Deseret was a provisional state in old world America. It was never formally recognised by the government, but now it is time for us to reform the state of Deseret inside Utah and bring a new age of religious prosperity to our lands. \n\n§HTo form Deseret, we require all states in Utah. Due to limitations with decisions, this decision will highlight only one state at a time, giving you an indication of which states you still need to conquer.§!

Delete configurations

We cannot delete configurations without manually edit the XML configuration file.

Add Deepl

Hello,
Please add option to use Deepl translator instead of google.

Refresh the diagnostic after checking a file

When we translate a file, when we close the translation dialog, the diagnostic is refreshed.

When we open the translation dialog by the checking action, the diagnostic is not refreshed when closing the translation dialog.

Print the logs in a file

Currently there was some System.err.println in the code.
It would be better to put the errors in a log file.

Saving a CK2 entry does nothing

When translating this file, when we save the entry, it does nothing.

#LAST EDIT: 29 November 2017 - Phaze49
################
#NORSCA EVENTS#
################
NAMEPSACE = whitewale
EVTDESCwhitewhale.100;You recieve news that a massive white whale has been sinking your whaling vessels and is disrupting your trade with the other Norscan tribes!;Vous recevez des informations à propos d'une immense baleine blanche qui coule vos navires baleiniers et interrompt votre commerce avec les autres tribus !;;;;;;;;;;;x
EVTDESCwhitewhale.101;Your men ready the longboats, loading them with spears and harpoons. Hopefully it will be enough to kill the beast.
EVTOPTAwhitewhale.101;We shall hunt the beast down! Ready the longboats!;Nous allons tuer la bête ! Préparez les drakkars !;;;;;;;;;;;x
EVTOPTBwhitewhale.102;Call back our remaining whaling vessels.;Rappeler nos baleiniers restants;;;;;;;;;;;x
EVTDESCwhitewhale.102;You send out word that all remaining whaling vessels are to return to the village immediately. Hopefully the beast will lose interest and wander off.;Vous ordonnez que tous les navires baleiniers rentrent au port immédiatement. Espérons que la bête s'en désintéresse et s'en aille dans d'autres eaux.;;;;;;;;;;;x
EVTDESCwhitewhale.201; You Set sail out onto the open ocean
EVTOPTAwhitewhale.201; Set sail
EVTDESCwhitewhale.202;
EVTOPTAwhitewhale.202;There is no honor in retreat.;Il n'y a pas d'honneur dans la retraite;;;;;;;;;;;x

New error when clicking the "Translate" option

Hello there! I stepped into a new error when clicking the translate window.

This is:

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
        at net.loomchild.segment.srx.io.Srx2SaxParser.<init>(Srx2SaxParser.java:173)
        at org.languagetool.tokenizers.SrxTools.createSrxDocument(SrxTools.java:51)
        at org.languagetool.tokenizers.SRXSentenceTokenizer.<init>(SRXSentenceTokenizer.java:53)
        at org.languagetool.tokenizers.SimpleSentenceTokenizer.<init>(SimpleSentenceTokenizer.java:37)
        at org.languagetool.Language.<clinit>(Language.java:60)
        at java.base/java.lang.Class.forName0(Native Method)
        at java.base/java.lang.Class.forName(Class.java:340)
        at org.languagetool.Languages.createLanguageObjects(Languages.java:110)
        at org.languagetool.Languages.getAllLanguages(Languages.java:96)
        at org.languagetool.Languages.<clinit>(Languages.java:38)
        at gui.TranslatorDialog.<init>(TranslatorDialog.java:100)
        at gui.DetailsDialog$TranslateListener.actionPerformed(DetailsDialog.java:101)
        at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
        at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
        at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
        at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
        at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
        at java.desktop/java.awt.Component.processMouseEvent(Component.java:6636)
        at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
        at java.desktop/java.awt.Component.processEvent(Component.java:6401)
        at java.desktop/java.awt.Container.processEvent(Container.java:2263)
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5012)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)
        at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4919)
        at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4548)
        at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4489)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
        at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2764)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117)
        at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
        at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
        at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:312)
        at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
        at java.desktop/java.awt.Dialog.show(Dialog.java:1070)
        at java.desktop/java.awt.Component.show(Component.java:1717)
        at java.desktop/java.awt.Component.setVisible(Component.java:1664)
        at java.desktop/java.awt.Window.setVisible(Window.java:1023)
        at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1005)
        at gui.DetailsDialog.<init>(DetailsDialog.java:59)
        at gui.DetailsButton$ButtonListener.actionPerformed(DetailsButton.java:78)
        at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
        at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
        at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
        at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
        at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
        at java.desktop/java.awt.Component.processMouseEvent(Component.java:6636)
        at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
        at java.desktop/java.awt.Component.processEvent(Component.java:6401)
        at java.desktop/java.awt.Container.processEvent(Container.java:2263)
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5012)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)
        at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.repostEvent(BasicTableUI.java:967)
        at java.desktop/javax.swing.plaf.basic.BasicTableUI$Handler.mouseReleased(BasicTableUI.java:1183)
        at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298)
        at java.desktop/java.awt.Component.processMouseEvent(Component.java:6636)
        at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
        at java.desktop/java.awt.Component.processEvent(Component.java:6401)
        at java.desktop/java.awt.Container.processEvent(Container.java:2263)
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5012)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)
        at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4919)
        at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4548)
        at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4489)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
        at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2764)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4844)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.JAXBException
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
        ... 101 more

Duplicate text when saving several times an entry with missing source or destination line number

In EUIV, HoI4 or Stellaris, we can have missing source or destination line number.

In that case, we save the entry in the line number of the other side (destination vs source).
But if we go back with the previous entry button, we still consider that the line number is unknown whereas the entry now exists in the file.
So we create a duplicate.

Besides the game choose the old version.

Errors translating VIET?

Hi again! I stepped on a "serious" problem that's happening to me. I was translating VIET, when I noticed the program was not only editing the spanish files, but also the english ones, which resulted on continous errors when trying to merge and request pulls. Since I'm noob in al this git and github thing, the only solution I found to the problem created was to delete everything and start over again.

[Minor] Refresh option

Hi,

With Translate Helper v2.2 the refresh option don't refresh the actual project but the DEMO one.

Before F5:
image

After F5:
image

Update localization files

Hello,
wouldn't it be possible to add feature to automate copy of changed and new strings to already translated old files?

New destination file saved badly

If the destination file doesn't exists, it is saved in the Translate Helper directory with the _l_destination.yml file name.

In addition this file is the destination for all files without destination

Error selecting CK3 localization folder

When I select the folder, the console gives the next errors:

D:\Games\Crusader Kings III\game\localization\english\event_localization\lifestyle\guile\intrigue_temptation_events_2_ l_english.yml was bad named. It doesn't respect format : dir/name_l_language.yml D:\Games\Crusader Kings III\game\localization\french\event_localization\lifestyle\guile\intrigue_temptation_events_2_ l_french.yml was bad named. It doesn't respect format : dir/name_l_language.yml D:\Games\Crusader Kings III\game\localization\german\event_localization\lifestyle\guile\intrigue_temptation_events_2_ l_german.yml was bad named. It doesn't respect format : dir/name_l_language.yml D:\Games\Crusader Kings III\game\localization\korean\event_localization\lifestyle\guile\intrigue_temptation_events_2_ l_korean.yml was bad named. It doesn't respect format : dir/name_l_language.yml D:\Games\Crusader Kings III\game\localization\languages.yml was bad named. It doesn't respect format : dir/name_l_language.yml D:\Games\Crusader Kings III\game\localization\russian\event_localization\lifestyle\guile\intrigue_temptation_events_2_ l_russian.yml was bad named. It doesn't respect format : dir/name_l_language.yml D:\Games\Crusader Kings III\game\localization\simp_chinese\event_localization\lifestyle\guile\intrigue_temptation_events_2_ l_simp_chinese.yml was bad named. It doesn't respect format : dir/name_l_language.yml D:\Games\Crusader Kings III\game\localization\spanish\event_localization\lifestyle\guile\intrigue_temptation_events_2_ l_spanish.yml was bad named. It doesn't respect format : dir/name_l_language.yml _english.yml and D:\Games\Crusader Kings III\game\localization\german\custom_localization\de_custom_loc_l_spanish.yml don't exist _english.yml and D:\Games\Crusader Kings III\game\localization\french\custom_localization\fr_custom_loc_l_spanish.yml don't exist _english.yml and D:\Games\Crusader Kings III\game\localization\russian\custom_localization\ru_custom_loc_l_spanish.yml don't exist _english.yml and D:\Games\Crusader Kings III\game\localization\korean\custom_localization\personality_quirks_KR_l_spanish.yml don't exist _english.yml and D:\Games\Crusader Kings III\game\localization\german\custom_localization\de_custom_loc_extra_l_spanish.yml don't exist

Use version number

In the yml files, the number is the version number.
So

  • We need to read and store it
  • If number is different, there is a translation to do
  • When writing we need to report the own or source original number (source number where the translation was done).

New error when I attempt to translate

So, I was going to translate a new mod and suddenly the app gave me this error:

Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Directory name (Spanish) not found in file path (D:\Users\Souren\Documents\GitHub\VIET\VIET Events\localization\french\viet_events)
        at parsing.Parse.getFileName(Parse.java:829)
        at parsing.Parse.<init>(Parse.java:97)
        at parsing.Parse.<init>(Parse.java:150)
        at gui.Window.loadWorkingSession(Window.java:209)
        at gui.Window.access$1(Window.java:180)
        at gui.Window$DialogWorkingSession.actionPerformed(Window.java:538)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.AbstractButton.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at javax.swing.JComponent.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

Support Imperator: Rome

Imperator: Rome will be released on 25th April 2019.

Translate Helper should support him as soon as possible after this release.

Add go to line action

We can go to the next line to translate (or just next line when we check all lines) or the previous one, but we cannot go to a specific line.

This will be useful for example when you pause after checking lines.

Add shortcuts

Some users have asked that the translation actions (save, next without saving and go back to previous) have shortcuts.

A first version can impose the shortcuts.
A second version will allow to change them.

Requesting new update

Hello again! The program pops up a windows telling you there is a new update. However I already have the last one.

Manage CK3

An issue is to have the same file in different folders

[Minor] Recent Project with deleted directory

When I try to use "Open Recent" for a project with a deleted directory, the app is partially blocked.

image

I can still use "Configuration" menu (make a new project, refresh the actual one or open another) to solve the problem.

Manage the subdirectory files

In HoI4, there is a subdirectory named replace which contains files to replace Vanilla content.

Translate Helper doesn't display them yet.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.