• ...and the wifi selection page is broken.

    Julien Bellue01/14/2022 at 14:23 0 comments

    When I initially wrote that wifi connection page, for a different project, I wanted a quick page to get started. It turned out quick, but also ugly... You know how it is. I added a feature, then another one, etc. and now it's an unmaintainable pile of garbage.

    I knew from the start that I'd have to rewrite it. Well, looks like it's finally time

  • Naive localization

    Julien Bellue01/14/2022 at 14:13 0 comments

    I've finally added some localization. I started writing all the strings in French, because it's running on a minitel, and having it display anything else felt like a betrayal.

    I finally took the time to add a localization class, that handles English, French and Spanish. The spanish translation could use some checking by a native, but there's no rush now (also, the minitel can't display the "ñ" character, which looks odd).

    Basically, all I have is an enum with the strings index, and a 2D array of strings to display :

    enum Languages {
        ENGLISH,
        FRENCH,
        SPANISH,
    
        LANGUAGES_LAST
    };
    enum L10N_STRINGS {
        SSH_PAGE_TITLE,
        SSH_PAGE_HOST,
        [...]
        L10N_LAST_STRING
    };
    
    String languageStore[L10N_LAST_STRING][LANGUAGES_LAST] = {
        { "3615 SSH client", "3615 SSH client", "3615 SSH client" },
        { "Host:",           "Hôte :",          "Servidor:"       },
        [...]
    };

    The implementation is contained in a single header file, and is super simple to use. It doesn't  have all the bells and whitles of more complete solutions, but it's simple and more than enough for my needs.