Skip to content

StringCatalogEnum: Create Decodable Models to decode xcstrings JSON file #1

@superarts

Description

@superarts

Currently, only first level keys in the strings object are used to generate enum.

Decodable models should be created so that xcstrings JSON file can be decoded to native objects, to support more features.

For example, if we can extract $key.localizations.en.stringUnit.value, we can add inline documents to enum case, so that when developer option-click a case name, the whole copy of a chosen language (en in this case) will be displayed.

Formats to be supported

Generated from SwiftUI

    "Home" : {

    },

Generated from SwiftUI, and an English translation is added

    "Login" : {
      "localizations" : {
        "en" : {
          "stringUnit" : {
            "state" : "translated",
            "value" : "Login"
          }
        }
      }
    }

Manually added, English only

    "welcomeBack" : {
      "extractionState" : "manual",
      "localizations" : {
        "en" : {
          "stringUnit" : {
            "state" : "translated",
            "value" : "Welcome back"
          }
        }
      }
    },

Metadata

Metadata

Assignees

No one assigned

    Labels

    IntermediateDeveloper to senior level

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions