ek9_query_localisations

Answers first: status, moduleCount, inconsistencyCount, workspaceLocales, then modules[] {name, locales, percentTranslated, methodCount} and inconsistencies[] {locale, supportedIn, missingIn}.

Category: Enquiry · Compare: NEW IDE surface — Localisations Overview panel (locale × module completeness matrix + inconsistency flags)

When to use it

'What languages does this app support, and which modules are missing one' is one call with no arguments - the whole i18n surface at module granularity.

When not to use it

Details

empty = zero 'defines text for' blocks anywhere (a legitimate greenfield state, not an error); an all-unmatched moduleFilter also yields empty, with meta.unmatchedFilters[] so a typo reads differently from greenfield. A module 'supports' a locale when it has at least one 'defines text for "L"' block; zero-block modules are auto-excluded from inconsistency analysis (excludeModules forces further exclusions). percentTranslated and methodCount (method × locale tuples) match ek9_query_translation_completeness byte-for-byte at module granularity; aggregates stop at module level (no per-method rows) to bound response size.

Arguments

ArgumentTypeRequiredWhat it is
excludeModulesarray of stringModules to treat as intentionally non-i18n — removed from modules[] AND from inconsistencies[].missingIn. (Modules with zero text blocks are auto-excluded already.) Default: none.
includeFileDistributionbooleanInclude i18nFiles[] (the .ek9 files holding each module's text blocks). Default off to keep responses compact; turn on when planning a ek9_organize_localized_text call.
includeInconsistenciesbooleanInclude the inconsistencies[] array flagging cross-module locale support gaps. Set false to suppress.
localeFilterarray of stringRestrict per-module metrics + inconsistencies to specific locales (e.g. ["fr_FR", "de"]). workspaceLocales still lists the full discovered set. Default: all discovered locales.
moduleFilterarray of stringRestrict the response to specific modules (exact names). Default: all i18n modules.

Recorded calls

Real calls, recorded against small projects and checked on every build - a changed answer fails it.

List all

Request

{ }

Response

{
  "inconsistencies" : [ {
    "locale" : "fr_FR",
    "missingIn" : [ "com.example.billing" ],
    "supportedIn" : [ "com.example.auth" ]
  } ],
  "inconsistencyCount" : 1,
  "meta" : {
    "serverMs" : "<timing>"
  },
  "moduleCount" : 2,
  "modules" : [ {
    "locales" : [ "de", "en_GB", "fr_FR" ],
    "methodCount" : 6,
    "name" : "com.example.auth",
    "percentTranslated" : 100.0,
    "textTypeCount" : 1
  }, {
    "locales" : [ "de", "en_GB" ],
    "methodCount" : 2,
    "name" : "com.example.billing",
    "percentTranslated" : 50.0,
    "textTypeCount" : 1
  } ],
...

Cut short here: 8 more lines. The whole recorded call.