|
| class | AtomicFileWriter |
| | Writes a file so that concurrent readers only see the complete old or new content: a temporary file in the SAME directory (rename() is only atomic within one filesystem) replaces the target via rename(). More...
|
| |
| class | ComponentLanguageFileDirectory |
| |
| class | ComponentLanguageFileDirectoryTest |
| | Non-regression guard for the base directory getPath() caches: repeated calls on an unchanged object return the same value, and it is the one an uncached computation would produce. More...
|
| |
| class | CustomizingLanguageFileDirectory |
| |
| class | DuplicateIdentifierMessage |
| | Texts naming entries left out or rejected because their identifier exists in another module (see IdentifierUniqueness): "lng_identifier_not_unique" for the screen, a bounded line for the log. More...
|
| |
| class | IdentifierUniqueness |
| | Rule 2 of docs/development/language.md: an identifier is unique across all modules and spellings. More...
|
| |
| class | InvalidMarkupMessage |
| | HTML message naming the entries with disallowed markup: "lng_markup_not_allowed" followed by the entries, each with its language-neutral markup (tos#:#tos_agree_date: <script>, </form>; …, see TranslationMarkupPolicy::markupOf()), at most PlainLogText::MAX_LISTED_KEYS. More...
|
| |
| interface | LanguageFileDirectory |
| | A directory of language files with a path and a prefix for them. More...
|
| |
| class | LanguageFileDirectoryManager |
| |
| class | LanguageFileDirectoryManagerTest |
| |
| class | LegacyFuzzyMarker |
| | The dated "not translated yet" marker of the legacy .lang files ("28 08 2012 new variable") in a ### comment or a lng_data remark. More...
|
| |
| class | LegacyFuzzyMarkerTest |
| |
| class | LocalChangeComments |
| | Tracks per overlay entry whether the current value still matches the value of the shipped .po (the distinction of lng_data.local_change), carried on the entry itself. More...
|
| |
| class | LocalChangeCommentsTest |
| | The PO/MO pilot's "locally changed" tracking: lng_data.local_change/remarks reimplemented as gettext translator comments, so it works without lng_data. More...
|
| |
| class | MainLanguageFileDirectory |
| |
| class | MigratedLanguageFilePaths |
| | The single place that knows where the files of a module migrated to PO/MO live: More...
|
| |
| class | MigratedLanguageFileSync |
| | Reads the shipped .po of a migrated module and maintains its per-installation overlay: the .po with bookkeeping and the compiled revisions native gettext serves. More...
|
| |
| class | MigratedLanguageFileSyncRevisionTest |
| | The revisions of an overlay (<client data dir>/lang/<module>/<lang>/r-<hash>/, named by current) as MigratedLanguageFileSync::sync() manages them: a new revision is served right away by the running process (native gettext never reloads a catalog, so every state has a directory of its own), the previous one is kept for requests still reading it, nothing older stays, and an overlay that became empty serves nothing any more. More...
|
| |
| class | MigratedTranslations |
| | Build status and problems of the ILIAS modules served by TranslationGettextRepository: which modules are shipped, whether a .po is left unbuilt, and the problems of this request for the administration. More...
|
| |
| class | MigratedTranslationsTest |
| | MigratedTranslations, the runtime read path: what build and overlay serve through native gettext, what an unreadable build or overlay does (shipped values stay served, one warning per request), and "not translated" (no value, no warning) versus "translated as its identifier". More...
|
| |
| interface | NamesShippedLanguageFiles |
| | Optional addition to LanguageFileDirectory for shipped .po files not named <prefix>_<lang>.po (separate, so implementations and test doubles need not change; MigratedLanguageFilePaths:: shippedFileNamePattern() falls back to <prefix>_s). More...
|
| |
| class | NativeGettext |
| | The process state native gettext (PHP extension "gettext") needs to serve the compiled catalogs of the migrated modules, and the one place that calls it. More...
|
| |
| class | NativeGettextTest |
| | NativeGettext changes process-wide state (LC_MESSAGES, LANGUAGE, LOCPATH, LC_ALL): what activate() leaves behind and restore() gives back, losing and regaining the settings to other code, a build native gettext cannot use, lookups of messages that cannot be looked up. More...
|
| |
| class | PlainLogText |
| | Text taken from language files or entries (keys, values, file names) for a terminal or log line: control and format characters (e.g. More...
|
| |
| class | PlainLogTextTest |
| | PlainLogText: control-character stripping and key-list truncation for log/terminal-bound text taken from language files or entries (keys, values, file names). More...
|
| |
| class | PluralFormKey |
| | A form of a plural message of a migrated module in a flat identifier => value map (admin GUI rows, local changes, three-way comparison, export/import): <identifier> [<form>], e.g. More...
|
| |
| class | PluralForms |
| | The plural rule of a language, as declared by the "Plural-Forms" header of a gettext catalog (nplurals=<count>; plural=<C expression of n>;), and the one place deciding which plural form a message serves. More...
|
| |
| class | ShippedPoMerger |
| | The "merge" maintenance action of developer mode (LANGMODE) for PO-maintained modules, the counterpart of merging local changes into lang/ilias_<lang>.lang: the local changes of a module (its overlay, see MigratedLanguageFileSync) are written into its shipped .po, the only time a shipped file is written at runtime. More...
|
| |
| class | ShippedTranslations |
| | Compiles the messages of a migrated module into the .mo native gettext serves (see NativeGettext): the shipped state for the build (ShippedTranslationsBuild) and the overlay of local changes (MigratedLanguageFileSync), both via compileCatalog(). More...
|
| |
| class | ShippedTranslationsBuild |
| | Builds what native gettext serves for the migrated modules (see TranslationGettextRepository) from every shipped .po of every contributed LanguageFileDirectory; run by Setup's build (ShippedLanguageFilesCompiledObjective) only, never by the web server (it does not write artifacts/; "merge" only writes the shipped .po, see ShippedPoMerger). More...
|
| |
| class | ShippedTranslationsBuildTest |
| | ShippedTranslationsBuild: on success a collision list, the previous build kept, older ones removed, an unchanged run touching nothing, one build at a time, a .po that cannot be compiled served from a former build; on failure current.json stays as it was and no half-written build remains. More...
|
| |
| class | ShippedTranslationsTest |
| | ShippedTranslations: compile() must compile the shipped .po of one module exactly like TranslationCatalog::toMoString() (fuzzy included, empty left out), with every value cleaned by TranslationMarkupPolicy first (the runtime serves the build through native gettext, see ShippedTranslationsBuild and MigratedTranslations). More...
|
| |
| class | TranslationGettextRepository |
| | TranslationRepository over the build (ShippedTranslationsBuild) with the overlay of local changes (MigratedLanguageFileSync) on top, looked up via native gettext (NativeGettext), never via the gettext/gettext library or lng_data/lng_modules. More...
|
| |
| class | TranslationInMemoryRepository |
| | Test double for TranslationRepository: serves what the test hands in, no files, build or database. More...
|
| |
| class | TranslationMarkupPolicy |
| | The HTML a translation value may contain, decided in one place for the shipped files (cleaned in Setup's build with a warning, see ShippedTranslations) and for every local write path (rejected, see findInvalidValues()). More...
|
| |
| class | TranslationMarkupPolicyTest |
| | TranslationMarkupPolicy: the single gate for HTML in a translation value. More...
|
| |
| interface | TranslationRepository |
| | The values the ILIAS modules serve at runtime: the shipped ones with the local changes on top (see ilLanguage). More...
|
| |