Forum rules - please read before posting.

Save and Load menus Label and Screenshot still use English language.

edited January 2021 in Technical Q&A

AC source Save and Load menus Display: Label and Screenshot still use English language when I switch to other languages. I still see words Autosave and Save next to the time it is saved in English when I switch to another language.
AC 1.50f

Comments

  • These strings are not currently translatable, but I will see about rectifying this in the next release.

    For 1.50f, you'll have to hack AC's SaveSystem.cs script to use different strings based on the language. For example, there should be four instance of:

    label = "Autosave";
    

    You'll need to read the value of Options.GetLanguage () to change this accordingly, e.g:

    if (Options.GetLanguage () == 0) label = "Autosave";
    else if (Options.GetLanguage () == 1) label = "Autoguardado";
    
  • edited January 2021

    Ok, but what if I want to have it in russian, arabic, japanese? This might need to change the font and not just type in desired new language.
    Thank you.

    P.S. Just an idea can I just pick Display Screenshots only and create labels of transparent Autosave images of diffferent languages above the very first screenshot label, and call them if a desired langauge is selected through script?

  • The graphic assets used by your Menu are separate from the labels mentioned above.

    If you wanted to change your Fonts used by an AC menu, you'd normally hook into the OnMenuTurnOn event to update them through script when the menu is turned on. But the event system is not present in v1.50f.

    Instead, you'll need to write a custom script that changes your font menus manually. For example:

    public Font originalFont;
    public Font alternativeFont;
    
    public void ChangeFont ()
    {
        Font newFont = (Options.GetLanguage () == 0) ? originalFont : alternativeFont;
        foreach (Menu menu in PlayerMenus.GetMenus ())
        {
            foreach (MenuElement element in menu.elements)
            {
                element.font = newFont;
            }
            menu.Recalculate ();
        }
    }
    

    Then call this - either by placing it inside a custom Action, or by using the "Object: Call event" Action to trigger the function placed in a prefab - when you start the game, and when exiting your Options menu.

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Welcome to the official forum for Adventure Creator.