Module: LanguageFileService

Language File Service Layer Handles business logic for language file storage, retrieval and deletion via the configured S3/MinIO bucket.
Source:

Members

(static, constant) deleteLanguageFile

Delete a language file from the object store.
Source:

(static, constant) filterJSON

MIME-type filter that accepts only JSON files.
Source:

(static, constant) getLanguageFile

Retrieve a language file stream from the object store.
Source:

(static, constant) keyComponents

Build the scoped storage key from a raw key and a UID prefix.
Source:

(static, constant) languageKey

Build the storage key of a language file. Two layers live in the bucket: /languages/.json shared (all organizations) /languages//.json organization The shared file usually holds the translations; an organization file only carries its own terminology and wins over the shared one.
Source:

(static, constant) languageUrlGen

Generate the storage key for an uploaded language file. `params.UIDroot` selects the organization layer; without it the file goes to the shared layer.
Source:

(static, constant) listLanguageFiles

List all language files across all applications.
Source:

(static, constant) listLanguageFilesByApp

List the language files of an application. Only the shared layer is listed: the recursive walk also sees the organization sub-folders, which would otherwise show up as language "names" in the settings picker.
Source:

(static, constant) statLanguageFile

Read the object metadata (ETag, last modification) of a language file. Used for cache validation: language files change rarely but are requested on every app start, so a cheap HEAD lets us answer with 304 in the common case. A missing object is not an error here — the caller decides.
Source: