For a current project, I’ve been struggling with my language files. They’re all JSON files, and will always fallback to English if translations aren’t available.

My problem is that when a new key is required, I use my english file by default. This leads to situations where my client wants to translate new keys to other languages, and I have to spend time looking at all files, figuring out which keys i haven’t added there.

Essentially I want to get to a point where I can give all the translation files to my client, and he returns them with the translated content.

What do you guys use for managing this? And how would you solve the situation i’ve found myself in.

  • starman@programming.dev
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    11 months ago

    You could write a script that updates other files based on english file. It could put someting like

    "key": "UNTRANSLATED"
    

    to missing fields.

    • coloredgrayscale@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      11 months ago

      Usually a translation system might return the key value if the translation is missing. By translating with “untranslated” as a default you’d get just that text filled as fallback.

      Unless you reinvent the wheel for lookup and can just ignore your magic value, or put an if on every value lookup.

      Might be a risk there.

        • Vorpal@programming.dev
          link
          fedilink
          arrow-up
          1
          ·
          11 months ago

          Your idea will work with minor changes (if comments are supported in your file format). At work our tooling create entries like 123="English text" // UNTRANSLATED. Obviously not quite the same format, but it should be adaptable to any format that supports comments.