nicolasgrosjean / translate_helper Goto Github PK
View Code? Open in Web Editor NEWA Java application to help to translate the localisation files of the Paradox games.
A Java application to help to translate the localisation files of the Paradox games.
The objective is to load the localisation files of an EUIV, HoI4 or Stellaris mod in order to have the diagnostic of its translation.
When we do previous action after several saving the id and texts are mixed and so the next save will break the file.
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)
The objective is to translate files of an EUIV, HoI4 or Stellaris mod in order to have the diagnostic of its translation.
#4 has introduced some bugs :
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.§!
We cannot delete configurations without manually edit the XML configuration file.
The objective is to have a useful coloration in the translator interface for HoI4.
Hello,
Please add option to use Deepl translator instead of google.
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.
Currently there was some System.err.println in the code.
It would be better to put the errors in a log file.
The objective is to have a useful coloration in the translator interface for EUIV.
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
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
In the destination file, if there is missing lines and in place lines, and if we translates all the lines, some translation are lost.
Currently we can use free DeepL but the is no option to use DeepL Premium.
The definition of the DeepL API is done here :
Translate_helper/src/translator/DeeplTranslate.java
Lines 43 to 44 in 88972c6
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.
If in source there is several lines missing in the destination, when we translate them, the translation was not saved in the file.
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.
Hello,
wouldn't it be possible to add feature to automate copy of changed and new strings to already translated old files?
The spell suggestions are available in English and not in French
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
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
The option Open file in the default software doesn't work for EUIV/Stellaris/HoI4
In HoI4, when the code is missing in French, the game doesn't load the English text, it simply put the code.
I would like to see Japanese added to the translation destination.
The objective is to have a useful coloration in the translator interface for Stellaris.
In the yml files, the number is the version number.
So
When we have modified a line and we leave the application there is no warning/question to ask if we want to save before leaving.
It seems (at least for HoI4) that this action only show the lines to translate instead of all the lines.
925c759 doesn't work.
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)
When a file exists only in source and not in destination, the first translation saving create the file.
But the created file doen't contain the first translation.
Imperator: Rome will be released on 25th April 2019.
Translate Helper should support him as soon as possible after this release.
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.
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.
Apache Maven is used to manage Java project.
By using it, the application coding will be more standardized and so it will be easier for new people to contribute.
Hello again! The program pops up a windows telling you there is a new update. However I already have the last one.
An issue is to have the same file in different folders
In HoI4, there is a subdirectory named replace which contains files to replace Vanilla content.
Translate Helper doesn't display them yet.
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.