This is applicable to almost any piece of software with text in it. When starting your new app, you should make sure you are using a separate language file for the strings in your app. This makes text reusable, and you can change it all in one place.

Once your app gains a community, if you did this, you can also get translators!

With Photon i made the massive mistake of hardcoding everything up until the app became massive, and my PR for un-hardcoding all the strings looks like this:

The amount of lines modified in the GitHub PR. 2,067 lines added, 1,082 removed.

It was worth it though! Because the community has translated it into 11 languages!

  • Prunebutt@slrpnk.net
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    4 months ago

    Also: shouldn’t the process of searching and replacing strings be quite easy to automate?

    Edit to clarify: I meant searching and replacing hard-coded strings into whatever library handles translateable strings. Not hard-coding different languages.

    • ReveredOxygen
      link
      fedilink
      English
      arrow-up
      1
      ·
      4 months ago

      Not necessarily. You have to be able to tell between language strings vs strings that are supposed to be hardcoded

      • Prunebutt@slrpnk.net
        link
        fedilink
        arrow-up
        2
        ·
        4 months ago

        Ok, that’s fair. I’d probably add a # FIXXME flag when I don’t want to mess around with that stuff for the moment to do that.