lacro59 / playnite-checklocalizations-plugin Goto Github PK
View Code? Open in Web Editor NEWThis plugin shows the available game localizations in Playnite.
Home Page: https://playnite.link
License: MIT License
This plugin shows the available game localizations in Playnite.
Home Page: https://playnite.link
License: MIT License
Hello,
If I delete a game from the list, the plugin crashes (in version 2.1.2 + 2.1.1) The v2.1 is bug-free and doesn't crash.
Here my
playnite.log File:
28-05 22:49:34.282|ERROR|PlayniteApplication:Unhandled exception occured. System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt. bei CheckLocalizations.Services.LocalizationsDatabase.Get(Guid Id, Boolean OnlyCache, Boolean Force) in D:\GitHub\Lacro59\playnite-checklocalizations-plugin\source\Services\LocalizationsDatabase.cs:Zeile 87. bei CommonPluginsShared.Collections.PluginDatabaseObject
4.Get(Game game, Boolean OnlyCache, Boolean Force) in D:\GitHub\Lacro59\playnite-checklocalizations-plugin\source\playnite-plugincommon\CommonPluginsShared\Collections\PluginDatabaseObject.cs:Zeile 632.
bei CheckLocalizations.Services.LocalizationsDatabase.SetThemesResources(Game game) in D:\GitHub\Lacro59\playnite-checklocalizations-plugin\source\Services\LocalizationsDatabase.cs:Zeile 333.
bei CommonPluginsShared.Collections.PluginDatabaseObject4.Database_ItemCollectionChanged(Object sender, ItemCollectionChangedEventArgs
1 e) in D:\GitHub\Lacro59\playnite-checklocalizations-plugin\source\playnite-plugincommon\CommonPluginsShared\Collections\PluginDatabaseObject.cs:Zeile 142.
bei System.EventHandler1.Invoke(Object sender, TEventArgs e) bei CommonPlayniteShared.Database.ItemCollection
1.OnCollectionChanged(List1 addedItems, List
1 removedItems) in D:\GitHub\Lacro59\playnite-checklocalizations-plugin\source\playnite-plugincommon\CommonPlayniteShared\Database\ItemCollection.cs:Zeile 475.
bei CommonPlayniteShared.Database.ItemCollection1.Remove(Guid id) in D:\GitHub\Lacro59\playnite-checklocalizations-plugin\source\playnite-plugincommon\CommonPlayniteShared\Database\ItemCollection.cs:Zeile 298. bei CommonPluginsShared.Collections.PluginDatabaseObject
4.<>c__DisplayClass57_0.b__0() in D:\GitHub\Lacro59\playnite-checklocalizations-plugin\source\playnite-plugincommon\CommonPluginsShared\Collections\PluginDatabaseObject.cs:Zeile 548.
bei System.Windows.Threading.Dispatcher.Invoke[TResult](Func1 callback, DispatcherPriority priority, CancellationToken cancellationToken, TimeSpan timeout) bei System.Windows.Threading.Dispatcher.Invoke[TResult](Func
1 callback, DispatcherPriority priority)
bei CommonPluginsShared.Collections.PluginDatabaseObject4.Remove(Guid Id) in D:\GitHub\Lacro59\playnite-checklocalizations-plugin\source\playnite-plugincommon\CommonPluginsShared\Collections\PluginDatabaseObject.cs:Zeile 548. bei CommonPluginsShared.Collections.PluginDatabaseObject
4.Remove(Game game) in D:\GitHub\Lacro59\playnite-checklocalizations-plugin\source\playnite-plugincommon\CommonPluginsShared\Collections\PluginDatabaseObject.cs:Zeile 531.
bei CommonPluginsShared.Collections.PluginDatabaseObject4.Games_ItemCollectionChanged(Object sender, ItemCollectionChangedEventArgs
1 e) in D:\GitHub\Lacro59\playnite-checklocalizations-plugin\source\playnite-plugincommon\CommonPluginsShared\Collections\PluginDatabaseObject.cs:Zeile 991.
bei System.EventHandler1.Invoke(Object sender, TEventArgs e) bei Playnite.Database.ItemCollection
1.OnCollectionChanged(List1 addedItems, List
1 removedItems)
bei Playnite.Database.ItemCollection1.Remove(Guid id) bei Playnite.Database.GamesCollection.Remove(Guid id) bei Playnite.Database.GamesCollection.Remove(Game item) bei Playnite.GamesEditor.RemoveGame(Game game) bei Playnite.DesktopApp.ViewModels.DesktopAppViewModel.<InitializeCommands>b__287_56(Object a) bei Playnite.SDK.RelayCommand
1.Execute(Object parameter)
bei System.Windows.Input.CommandManager.TranslateInput(IInputElement targetElement, InputEventArgs inputEventArgs)
bei System.Windows.UIElement.OnKeyDownThunk(Object sender, KeyEventArgs e)
bei System.Windows.Input.KeyEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
bei System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
bei System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
bei System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
bei System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
bei System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
bei System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
bei System.Windows.Input.InputManager.ProcessStagingArea()
bei System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
bei System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
bei System.Windows.Interop.HwndKeyboardInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawKeyboardActions actions, Int32 scanCode, Boolean isExtendedKey, Boolean isSystemKey, Int32 virtualKey)
bei System.Windows.Interop.HwndKeyboardInputProvider.ProcessKeyAction(MSG& msg, Boolean& handled)
bei System.Windows.Interop.HwndSource.CriticalTranslateAccelerator(MSG& msg, ModifierKeys modifiers)
bei System.Windows.Interop.HwndSource.OnPreprocessMessage(Object param)
bei System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
bei System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
bei System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
bei System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg)
bei System.Windows.Interop.HwndSource.OnPreprocessMessageThunk(MSG& msg, Boolean& handled)
bei System.Windows.Interop.HwndSource.WeakEventPreprocessMessage.OnPreprocessMessage(MSG& msg, Boolean& handled)
bei System.Windows.Interop.ComponentDispatcherThread.RaiseThreadMessage(MSG& msg)
bei System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
bei System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
bei System.Windows.Application.RunDispatcher(Object ignore)
bei System.Windows.Application.RunInternal(Window window)
bei System.Windows.Application.Run(Window window)
bei Playnite.DesktopApp.ProgramEntry.Main(String[] args)
28-05 22:49:34.355|DEBUG|WindowFactory:Show dialog window Playnite.Windows.ExtensionCrashHandlerWindowFactory
`
You can add about around 35 languages currently to a game. The most popular games are likely to give missing flags if you refresh data as someone mentioned in #34.
Even in the current grouping, there are some relatively common languages missing such as Ukrainian, Vietnamese and Latin American Spanish.
Please consider adding some more common languages if this addon has plans to receive an update.
from Datadrainer on forum
Everytime data updates a popup appears instantly, not letting to do anything for this little time and sometimes cancelling the pointer focus. And, obviously, every addition of a new library/platform means many time not being able to do anything.
Is it possible to load the data in a background process, just like the game database is refreshed? It just alters the game tags, there's no need to disallow you to keep setting up or run your game.
The available "manually edit a supported language" option automatically refreshes data even with automatic import data and library update options de-selected if you have already added a supported language previously. This could also be submitted as a bug report as that is likely to be unintended behavior.
Online data for games can mismatch and sometimes not all listed languages are available in one local installation.
Please could you consider adding a setting or entirely disabling refresh when manually editing a supporting language.
from Datadrainer on forum
System.BadImageFormatException: Could not load the file or assembled 'Checklocalizations.dll' or one of its dependencies. [...]Attempted with an incorrect format.
File name: 'Checklocalizations.dll'
Hi
If possible could you add a feature which allows peple to add, set and/or replace flags.
one example the Steam games "Coloring Games" all have 103 supported languages, most of which are just ? flags and this looks a bit meh in my game libary, I do not expect this add-on to have all the flags for all of these languages therefore it would work great if i can just add my own. in my own time
from Datadrainer on forum
example: PolyCube
ex: Prey
22-11 19:15:40.850|ERROR|CheckLocalizations#Common:Error on GetLocalizations()|D:\GitHub\Lacro59\playnite-checklocalizations-plugin\source\Clients\SteamLocalizations.cs|46 Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0. bei Newtonsoft.Json.JsonTextReader.ParseValue() bei Newtonsoft.Json.JsonTextReader.Read() bei Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter) bei Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent) bei Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) bei Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) bei Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings) bei Playnite.Common.Serialization.FromJson[T](String json) in C:\projects\playnite\source\Playnite\Common\Serialization.cs:Zeile 265. bei Playnite.Common.DataSerializer.FromJson[T](String json) in C:\projects\playnite\source\Playnite\Common\Serialization.cs:Zeile 80. bei Playnite.SDK.Data.Serialization.FromJson[T](String json) in C:\projects\playnite\source\PlayniteSDK\Data\DataSerialization.cs:Zeile 310. bei CheckLocalizations.Clients.SteamLocalizations.GetLocalizations(Game game) in D:\GitHub\Lacro59\playnite-checklocalizations-plugin\source\Clients\SteamLocalizations.cs:Zeile 46.
Thank you very much for all your work on this project.
from Datadrainer on forum
it would be more easy to see the languages directly on the game page in a table under the information and not from a 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.