View Issue Details

IDProjectCategoryView StatusLast Update
0004891NoesisGUIC# SDKpublic2026-04-27 12:17
ReporterSimon. Assigned Tosfernandez  
PrioritynormalSeverityminor 
Status assignedResolutionopen 
Product Version3.2.10 
Target Version3.2.14 
Summary0004891: Cannot set Culture in C# SDK
Description

It does not seem to be possible to set the CultureInfo in the C# SDK:

  • Noesis.GUI.SetCulture is not exposed in the C# SDK
  • Value converters seem to use CultureInfo.CurrentCulture - ideally this should be something you can change as well. In our engine we are setting the CurrentCulture to InvariantCulture so it would be great if you could set the culture for Noesis specifically
PlatformAny

Activities

jsantos

jsantos

2026-03-12 12:19

manager   ~0012030

This is what we have in C++ for CultureInfo:

// Provides culture-specific information for formatting and parsing numeric values.
struct NumberFormatInfo
{
    // String that denotes that the associated number is positive
    const char* positiveSign = "+";

    // String that denotes that the associated number is negative
    const char* negativeSign = "-";

    // Format pattern for negative numeric values
    // (n) -n - n n- n -
    int numberNegativePattern = 1;

    // Number of decimal places to use in numeric values
    int numberDecimalDigits = 2;

    // String to use as the decimal separator in numeric values
    const char* numberDecimalSeparator = ".";

    // String that separates groups of digits to the left of the decimal in numeric values
    const char* numberGroupSeparator = ",";

    // Number of decimal places to use in currency values
    int currencyDecimalDigits = 2;

    // Format pattern for positive currency values
    // '$n' 'n$' '$ n' 'n $'
    int currencyPositivePattern = 0;

    // Format pattern for negative currency values
    // '($n)' '-$n' '$-n' '$n-' '(n$)' '-n$' 'n-$' 'n$-' '-n $' '-$ n' 'n $-' '$ n-' '$ -n' 'n- $' '($ n)' '(n $)'
    int currencyNegativePattern = 0;

    // String to use as the currency symbol
    const char* currencySymbol = "$";

    // String to use as the decimal separator in currency values
    const char* currencyDecimalSeparator = ".";

    // String that separates groups of digits to the left of the decimal in currency values
    const char* currencyGroupSeparator = ",";

    // Number of decimal places to use in percent values
    int percentDecimalDigits = 2;

    // Format pattern for positive percent values
    // 'n %' 'n%' '%n' '% n'
    int percentPositivePattern = 0;

    // Format pattern for negative percent values
    // '-n %' '-n%' '-%n' '%-n' '%n-' 'n-%' 'n%-' '-% n' 'n %-' '% n-' '% -n' 'n- %'
    int percentNegativePattern = 0;

    // String to use as the percent symbol
    const char* percentSymbol = "%";

    // String to use as the decimal separator in percent values
    const char* percentDecimalSeparator = ".";

    // String that separates groups of digits to the left of the decimal in percent values
    const char* percentGroupSeparator = ",";

    // String that represents negative infinity
    const char* negativeInfinitySymbol = "-\xE2\x88\x9E";

    // String that represents positive infinity
    const char* positiveInfinitySymbol = "\xE2\x88\x9E";

    // String that represents the IEEE NaN (not a number) value
    const char* nanSymbol = "NaN";

    // Specifies the culture-specific digit shape
    DigitShapes digitSubstitution = DigitShapes::Context;
};

// Provides information about a specific culture
struct CultureInfo
{
    // The culture name in BCP-47 language tag format
    const char* name = "en-US";

    // Defines the culturally appropriate format of displaying numbers, currency, and percentage
    NumberFormatInfo numberFormat;
};

We don't have a predefined set for InvariantCulture, but probabyly we should. I am not sure if for now, exposing that information to C# would be enough.

Simon.

Simon.

2026-03-12 14:26

reporter   ~0012032

If we could have a C# wrapper around that API, that would be great, along with the ability to specify which culture is passed to value converters

jsantos

jsantos

2026-03-16 10:44

manager   ~0012043

Hi Simon,

Do you mean having a way to customize the culture used by a specific converter, or setting the culture globally for all converters?

Simon.

Simon.

2026-03-18 14:40

reporter   ~0012059

We want to set the culture globally according to the game language selected in settings, since we do keep CultureInfo.CurrentCulture as InvariantCulture

Issue History

Date Modified Username Field Change
2026-03-12 10:31 Simon. New Issue
2026-03-12 12:18 jsantos Assigned To => sfernandez
2026-03-12 12:18 jsantos Status new => assigned
2026-03-12 12:18 jsantos Target Version => 3.2.13
2026-03-12 12:19 jsantos Note Added: 0012030
2026-03-12 12:20 jsantos Status assigned => feedback
2026-03-12 14:26 Simon. Note Added: 0012032
2026-03-12 14:26 Simon. Status feedback => assigned
2026-03-16 10:44 jsantos Note Added: 0012043
2026-03-16 10:44 jsantos Status assigned => feedback
2026-03-18 14:40 Simon. Note Added: 0012059
2026-03-18 14:40 Simon. Status feedback => assigned
2026-04-27 12:17 jsantos Target Version 3.2.13 => 3.2.14