diff --git a/Facepunch.Steamworks.Test/Client/Client.cs b/Facepunch.Steamworks.Test/Client/Client.cs
index 4337a39..cfbf51a 100644
--- a/Facepunch.Steamworks.Test/Client/Client.cs
+++ b/Facepunch.Steamworks.Test/Client/Client.cs
@@ -129,6 +129,38 @@ namespace Facepunch.Steamworks.Test
}
}
+ [TestMethod]
+ public void CurrentLanguage()
+ {
+ var sw = new Stopwatch();
+ using ( var client = new Facepunch.Steamworks.Client( 252490 ) )
+ {
+ Assert.IsTrue( client.IsValid );
+ Assert.IsTrue( client.CurrentLanguage != null );
+ Assert.IsTrue( client.CurrentLanguage.Length > 0 );
+
+ Console.Write( $"CurrentLanguage: {client.CurrentLanguage}" );
+ }
+ }
+
+ [TestMethod]
+ public void AvailableLanguages()
+ {
+ var sw = new Stopwatch();
+ using ( var client = new Facepunch.Steamworks.Client( 252490 ) )
+ {
+ Assert.IsTrue( client.IsValid );
+ Assert.IsTrue( client.AvailableLanguages != null );
+ Assert.IsTrue( client.AvailableLanguages.Length > 0 );
+
+ foreach ( var lang in client.AvailableLanguages )
+ {
+ Console.Write( $"AvailableLanguages: {lang}" );
+ }
+
+ }
+ }
+
[TestMethod]
public void Cybercafe()
{
diff --git a/Facepunch.Steamworks/Client.cs b/Facepunch.Steamworks/Client.cs
index 1264d4b..e21ea95 100644
--- a/Facepunch.Steamworks/Client.cs
+++ b/Facepunch.Steamworks/Client.cs
@@ -36,6 +36,18 @@ namespace Facepunch.Steamworks
///
public DirectoryInfo InstallFolder { get; private set; }
+
+ ///
+ /// The currently selected language
+ ///
+ public string CurrentLanguage { get; }
+
+
+ ///
+ /// List of languages available to the game
+ ///
+ public string[] AvailableLanguages { get; }
+
public Voice Voice { get; private set; }
public ServerList ServerList { get; private set; }
public App App { get; private set; }
@@ -79,6 +91,8 @@ namespace Facepunch.Steamworks
OwnerSteamId = native.apps.GetAppOwner();
InstallFolder = new DirectoryInfo( native.apps.GetAppInstallDir( AppId ) );
BuildId = native.apps.GetAppBuildId();
+ CurrentLanguage = native.apps.GetCurrentGameLanguage();
+ AvailableLanguages = native.apps.GetAvailableGameLanguages().Split( new[] {';'}, StringSplitOptions.RemoveEmptyEntries ); // TODO: Assumed colon separated
//
// Run update, first call does some initialization