Skip to content

Upload API — Localization export and import #13

Description

Parent: #4

Delivers functions for exporting and importing localization data for CurseForge projects. This is a niche feature primarily used by World of Warcraft addon authors for managing localized strings.

Acceptance criteria:

  • Export-CurseForgeLocalization exports localization data with full parameter support (ExportType, Language, Unlocalized handling, TableName, Namespaces, etc.)
  • Import-CurseForgeLocalization imports localization data via JSON payload
  • Missing phrase handling options supported: DoNothing, DeleteIfNoTranslations, DeleteIfTranslationsOnlyExistForSelectedLanguage, DeletePhrase
  • Unit tests cover parameter serialization and response parsing

Endpoints:

Function Method Path
Export-CurseForgeLocalization GET /api/projects/{projectId}/localization/export
Import-CurseForgeLocalization POST /api/projects/{projectId}/localization/import

Export parameters:

Parameter Values Default
ExportType Table, TableAdditions, GlobalStrings TableAdditions
Language enUS, deDE, esES, etc. enUS
Unlocalized ShowPrimary, ShowPrimaryAsComment, ShowBlankAsComment, Ignore ShowPrimary
TableName any string L
EscapeNonAsciiCharacters bool false
TrueIfValueEqualsKey bool false
ConcatenateSubNamespaces bool false
Namespaces comma-delimited names Base Namespace

Import payload:

{
    "metadata": {
        "language": "enUS",
        "namespace": "toc",
        "formatType": "TableAdditions",
        "missing-phrase-handling": "DoNothing"
    },
    "localizations": "string content to import"
}

Blocked by: #11 (needs Upload API client)


Sub-issues

See linked Tasks below.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions