Page 1 of 1

Import Localization from Articy

Posted: Fri Jun 04, 2021 8:51 am
by Nhysi
Hi,

When trying to import localization from Articy, I've got the following exception. Do you have any idea why?
There is no duplicate in my xlsx file.


Code: Select all

ArgumentException: An item with the same key has already been added. Key: DFr_5E6E8B31
System.Collections.Generic.Dictionary`2[TKey,TValue].TryInsert (TKey key, TValue value, System.Collections.Generic.InsertionBehavior behavior) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
PixelCrushers.DialogueSystem.Articy.ArticyLocalizationImporter.IndexDialogueEntryTechnicalNameCancelable (System.String articyId, System.String technicalName) (at Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Articy Localization Importer/Editor/ArticyLocalizationImporter.cs:187)
PixelCrushers.DialogueSystem.Articy.ArticyLocalizationImporter.CreateTechnicalNameIndexCancelable () (at Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Articy Localization Importer/Editor/ArticyLocalizationImporter.cs:163)
PixelCrushers.DialogueSystem.Articy.ArticyLocalizationImporter.ImportExcelFiles () (at Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Articy Localization Importer/Editor/ArticyLocalizationImporter.cs:113)
PixelCrushers.DialogueSystem.Articy.ArticyLocalizationImporter.DrawButtons () (at Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Articy Localization Importer/Editor/ArticyLocalizationImporter.cs:103)
PixelCrushers.DialogueSystem.Articy.ArticyLocalizationImporter.OnGUI () (at Assets/Plugins/Pixel Crushers/Dialogue System/Third Party Support/Articy Localization Importer/Editor/ArticyLocalizationImporter.cs:60)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <eae584ce26bc40229c1b1aa476bfa589>:0)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at <fc4e84dee5004858ad88e6706bb25889>:0)
UnityEditor.HostView.Invoke (System.String methodName) (at <fc4e84dee5004858ad88e6706bb25889>:0)
UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at <fc4e84dee5004858ad88e6706bb25889>:0)
UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect) (at <fc4e84dee5004858ad88e6706bb25889>:0)
UnityEditor.DockArea.OldOnGUI () (at <fc4e84dee5004858ad88e6706bb25889>:0)
UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUI (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.IMGUIContainer.HandleEvent (UnityEngine.UIElements.EventBase evt) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.CallbackEventHandler.HandleEventAtTargetPhase (UnityEngine.UIElements.EventBase evt) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.MouseCaptureDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.EventDispatcher.OpenGate () (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.EventDispatcherGate.Dispose () (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.UIElements.UIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <945577022a524653b365dec2d6094114>:0)
UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <d7a7ba0654354637944bd8709c6f8668>:0)

Re: Import Localization from Articy

Posted: Fri Jun 04, 2021 9:21 am
by Tony Li
Hi,

Your articy project has two or more dialogue fragments that have the same Technical Name.

This updated localization importer (which is in the upcoming DS version 2.2.17) reports which dialogue fragment has the duplicate Technical Name and allows the localization import process to continue instead of erroring out:

DS_ArticyLocalizationImporter_2021-05-29.unitypackage