ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
ILIAS\Language\ComponentTranslation Namespace Reference

Namespaces

namespace  Catalog
 

Data Structures

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...