Vixen
02b45cc4
csharp
public static class Strings

Which language the editor is showing, and what each string says in it.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

Static, which is the one place in this assembly that is. Every other service here is an instance a shell owns, because a document may have two of them; a language is a property of the person using the editor rather than of a window, and threading a localiser through every control that shows a word is the design that makes people write the literal instead.

⚠ Changing the language does not re-label what is already on screen. A control was handed a string, and nothing here knows which ones. Changed is what a shell subscribes to in order to rebuild its menus and its palette; the editor asks for a restart for the rest, which is what every editor with a language setting does.

Fields and properties (2)

  • public static StringCatalog Catalog

    The catalog in use.

  • public static IReadOnlyCollection<string> Missing

    Ids asked for that the current catalog does not have, in id order.

Events (1)

  • public static Action<StringCatalog>? Changed

    Raised after Use changes it.

Methods (3)

  • public static void Use(StringCatalog? catalog)

    Shows the editor in a language.

  • public static string Get(StringId id)

    What a string says in the current language.

  • public static StringCatalog Template(string language)

    A catalog holding every string the editor declares, for a translator to start from.

Used by (4)

  • EditorShellTestsVixen.Editor.Ui.Tests
  • MenuPresenterVixen.Editor.Ui
  • ServiceTestsVixen.Editor.Ui.Tests
  • StringIdVixen.Editor.Ui