|
ILIAS
trunk Revision v13.0_alpha-62-g3b72d83f2e5
|
Class ilObjLanguageExt. More...
Inheritance diagram for ilObjLanguageExt:
Collaboration diagram for ilObjLanguageExt:Public Member Functions | |
| getGlobalLanguageFile () | |
| Read and get the global language file as an object. More... | |
| setLocal (bool $a_local=true) | |
| Set the local status of the language. More... | |
| getLongDescription () | |
| Get the full language description. More... | |
| getDataPath () | |
| Return the path for language data written by ILIAS. More... | |
| getLangPath () | |
| Get the language files path. More... | |
| getCustLangPath () | |
| Get the customized language files path. More... | |
| getAllRemarks () | |
| Get all remarks from the database. More... | |
| getEffectiveRemarks () | |
The remark as the admin table shows it: the local remark, else the note of the shipped .po (#, else #. More... | |
| getAllValues (array $a_modules=array(), string $a_pattern="", array $a_topics=array()) | |
| Get all values from the database; a migrated module is read from its shipped .po with the overlay delta on top (see _getValues()). More... | |
| getChangedValues (array $a_modules=array(), string $a_pattern="", array $a_topics=array()) | |
| Get only the changed values (source as in getAllValues()) which differ from the original language file. More... | |
| getUnchangedValues (array $a_modules=array(), string $a_pattern="", array $a_topics=array()) | |
| Get only the unchanged values (source as in getAllValues()) which are equal to the original language file. More... | |
| getAddedValues (array $a_modules=array(), string $a_pattern='', array $a_topics=array()) | |
| Get only the entries which don't exist in the shipped language files (see getShippedValues()) - source as in getAllValues() More... | |
| getCommentedValues (array $a_modules=array(), string $a_pattern="", array $a_topics=array()) | |
| Get all values for which the shipped language files have a comment (see getShippedComments()) - source as in getAllValues() More... | |
| getMergedValues () | |
| Get the local values merged into the shipped values (see getShippedValues()), source as in getAllValues() More... | |
| getMergedRemarks () | |
| Get the local remarks merged into the comments of the shipped language files (see getShippedComments()) More... | |
| getShippedValues () | |
| The global language file, except for modules maintained in PO files: their shipped .po is used (see LanguageInstallationManager). More... | |
| getShippedComments () | |
| Counterpart of getShippedValues(): modules maintained in PO files contribute the comments of their shipped .po. More... | |
| getShippedCommentsForDisplay () | |
| For display only (admin GUI): adds the "not translated yet" marker for fuzzy entries (see withFuzzyMarkers()). More... | |
| getModulesMaintainedInPoFiles () | |
| Every module maintained in PO files for this language (its shipped .po exists). More... | |
| getUnreadableShippedPoModules () | |
| The modules maintained in PO files whose shipped .po cannot be read - see getShippedValues(). More... | |
| mergeLocalChangesIntoGlobalLanguageFile (bool $write_global_file=true) | |
| The "merge" maintenance action of the developer mode (LANGMODE): More... | |
| hasLocalChangesOutsidePoModules () | |
| Whether "merge" has something to write into the global language file: a local change (a changed remark sets local_change as well, see _saveValues()) of a module outside the PO files. More... | |
| backupShippedPoFiles (string $directory) | |
| The backup the filter "conflicts" compares with (see getShippedChangesSinceBackup()), written by the "save_dist" action next to the backup of the global language file. More... | |
| getShippedChangesSinceBackup (ilLanguageFile $former_file, string $po_backup_directory) | |
| Entries of the global language file (without modules maintained in PO files) and of their shipped .po that differ from the backup; a module without backup contributes nothing. More... | |
| getSkippedInvalidMarkupValues () | |
| The values the last importLanguageFile() with $skipInvalidEntries left out for their markup. More... | |
| getSkippedDuplicateValues () | |
| The values the last importLanguageFile() with $skipInvalidEntries left out as duplicates of another module. More... | |
Public Member Functions inherited from ilObjLanguage | |
| __construct (int $a_id=0, bool $a_call_by_reference=false, ?LanguageFileDirectoryManager $language_file_directory_manager=null) | |
| Constructor. More... | |
| getKey () | |
| get language key More... | |
| getStatus () | |
| get language status More... | |
| isSystemLanguage () | |
| check if language is system language More... | |
| isUserLanguage () | |
| check if language is system language More... | |
| isInstalled () | |
| Check language object status, and return true if language is installed. More... | |
| uninstall () | |
| uninstall current language More... | |
| refresh () | |
| refresh current language More... | |
| flush (string $a_mode="all") | |
| remove language data from database $a_mode "all" or "keep_local" More... | |
| getLocalChanges (string $a_min_date="", string $a_max_date="") | |
| get locally changed language entries More... | |
| insert () | |
| insert language data from file into database, customizing included More... | |
| getModulesWithUnwrittenOverlay () | |
| Modules whose PO/MO overlay could not be written or removed by the last operation (the database was written regardless). More... | |
| removeLocalChanges () | |
| Reinstalls the language purely from the global/component files. More... | |
| resetUserLanguage (string $lang_key) | |
| search ILIAS for users which have selected '$lang_key' as their prefered language and reset them to default language (english). More... | |
| optimizeData () | |
| optimizes the db-table langdata More... | |
| check (bool $shipped_only=false) | |
| Validate the logical structure of a lang file. More... | |
Public Member Functions inherited from ilObject | |
| getObjectProperties () | |
| flushObjectProperties () | |
| withReferences () | |
| determines whether objects are referenced or not (got ref ids or not) More... | |
| processAutoRating () | |
| read () | |
| getId () | |
| setId (int $id) | |
| setRefId (int $ref_id) | |
| getRefId () | |
| getType () | |
| setType (string $type) | |
| getPresentationTitle () | |
| get presentation title Normally same as title Overwritten for sessions More... | |
| getTitle () | |
| getUntranslatedTitle () | |
| Get untranslated object title WebDAV needs to access the untranslated title of an object. More... | |
| setTitle (string $title) | |
| getDescription () | |
| setDescription (string $description) | |
| getLongDescription () | |
| get object long description (stored in object_description) More... | |
| getImportId () | |
| setImportId (string $import_id) | |
| setOfflineStatus (bool $status) | |
| getOfflineStatus () | |
| supportsOfflineHandling () | |
| getOwner () | |
| getOwnerName () | |
| get full name of object owner More... | |
| setOwner (int $usr_id) | |
| getCreateDate () | |
| Get create date in YYYY-MM-DD HH-MM-SS format. More... | |
| getLastUpdateDate () | |
| Get last update date in YYYY-MM-DD HH-MM-SS format. More... | |
| create () | |
| note: title, description and type should be set when this function is called More... | |
| update () | |
| MDUpdateListener (string $element) | |
| Metadata update listener. More... | |
| createMetaData () | |
| updateMetaData () | |
| deleteMetaData () | |
| updateOwner () | |
| update owner of object in db More... | |
| putInTree (int $parent_ref_id) | |
| maybe this method should be in tree object!? More... | |
| setPermissions (int $parent_ref_id) | |
| setParentRolePermissions (int $parent_ref_id) | |
| Initialize the permissions of parent roles (local roles of categories, global roles...) This method is overwritten in e.g. More... | |
| createReference () | |
| creates reference for object More... | |
| countReferences () | |
| delete () | |
| delete object or referenced object (in the case of a referenced object, object data is only deleted if last reference is deleted) This function removes an object entirely from system!! More... | |
| initDefaultRoles () | |
| init default roles settings Purpose of this function is to create a local role folder and local roles, that are needed depending on the object type. More... | |
| applyDidacticTemplate (int $tpl_id) | |
| getXMLZip () | |
| getHTMLDirectory () | |
| appendCopyInfo (int $target_id, int $copy_id, int $new_obj_id) | |
| Prepend Copy info if object with same name exists in that container. More... | |
| cloneDependencies (int $target_id, int $copy_id) | |
| Clone object dependencies. More... | |
| cloneMetaData (ilObject $target_obj) | |
| Copy meta data. More... | |
| selfOrParentWithRatingEnabled () | |
| getPossibleSubObjects (bool $filter=true) | |
| get all possible sub objects of this type the object can decide which types of sub objects are possible jut in time overwrite if the decision distinguish from standard model More... | |
Static Public Member Functions | |
| static | _getShippedMigratedComments (string $a_lang_key, array $a_modules=[]) |
| For display only (like getShippedCommentsForDisplay()), e.g. More... | |
| static | findInvalidMarkupOfChangedValues (string $a_lang_key, array $values) |
| The values a save into $a_lang_key would change and that contain markup TranslationMarkupPolicy does not allow, see TranslationMarkupPolicy::findInvalidChangedValues(). More... | |
| static | _getModules (string $a_lang_key) |
| Get all modules of a language. More... | |
| static | _getRemarks (string $a_lang_key, bool $a_all_changed=false) |
| Get all remarks of a language. More... | |
| static | _getValues (string $a_lang_key, array $a_modules=array(), array $a_topics=array(), string $a_pattern='', string $a_state='') |
| Get the translations of specified topics. More... | |
| static | _saveValues (string $a_lang_key, array $a_values=array(), array $a_remarks=array()) |
| Save a set of translation in the database. More... | |
| static | _deleteValues (string $a_lang_key, array $a_values=array()) |
| Delete a set of translation in the database. More... | |
Static Public Member Functions inherited from ilObjLanguage | |
| static | getInstalledLanguages () |
| Get the language objects of the installed languages. More... | |
| static | getLangKeysOfInstalledLanguages () |
| Return the language keys of the installed languages. More... | |
| static | refreshPlugins (?array $a_lang_keys=null) |
| Refresh languages of activated plugins $a_lang_keys keys of languages to be refreshed (not yet supported, all available will be refreshed) More... | |
| static | _deleteLangData (string $a_lang_key, bool $a_keep_local_change=false) |
| Delete languge data $a_lang_key lang key. More... | |
| static | _getLastLocalChange (string $a_key) |
| get the date of the last local change $a_key language key Return change_date "yyyy-mm-dd hh:mm:ss" More... | |
| static | _getLocalChangesByModule (string $a_key, string $a_module) |
| Get the local changes of a language module. More... | |
| static | replaceLangModule (string $a_key, string $a_module, array $a_array, bool $refresh_original_from_shipped=false) |
| Replace language module array. More... | |
| static | replaceLangEntry (string $a_module, string $a_identifier, string $a_lang_key, string $a_value, ?string $a_local_change=null, ?string $a_remarks=null) |
| Replace lang entry. More... | |
| static | updateLangEntry (string $a_module, string $a_identifier, string $a_lang_key, string $a_value, ?string $a_local_change=null, ?string $a_remarks=null) |
| Replace lang entry. More... | |
| static | deleteLangEntry (string $a_module, string $a_identifier, string $a_lang_key) |
| Delete lang entry. More... | |
| static | cut_header (array $content) |
| remove lang-file haeder information from '$content' This function seeks for a special keyword where the language information starts. More... | |
| static | countUsers (string $a_lang) |
| Count number of users that use a language. More... | |
Static Public Member Functions inherited from ilObject | |
| static | _lookupObjIdByImportId (string $import_id) |
| Get (latest) object id for an import id. More... | |
| static | _lookupImportId (int $obj_id) |
| static | _lookupOwnerName (int $owner_id) |
| Lookup owner name for owner id. More... | |
| static | _getIdForImportId (string $import_id) |
| static | _getAllReferences (int $id) |
| get all reference ids for object ID More... | |
| static | _lookupTitle (int $obj_id) |
| static | lookupOfflineStatus (int $obj_id) |
| Lookup offline status using objectDataCache. More... | |
| static | _lookupOwner (int $obj_id) |
| Lookup owner user ID for object ID. More... | |
| static | _getIdsForTitle (string $title, string $type='', bool $partial_match=false) |
| static | _lookupDescription (int $obj_id) |
| static | _lookupLastUpdate (int $obj_id, bool $formatted=false) |
| static | _getLastUpdateOfObjects (array $obj_ids) |
| static | _lookupObjId (int $ref_id) |
| static | _setDeletedDate (int $ref_id, int $deleted_by) |
| static | setDeletedDates (array $ref_ids, int $user_id) |
| static | _resetDeletedDate (int $ref_id) |
| static | _lookupDeletedDate (int $ref_id) |
| static | _writeTitle (int $obj_id, string $title) |
| write title to db (static) More... | |
| static | _writeDescription (int $obj_id, string $desc) |
| write description to db (static) More... | |
| static | _writeImportId (int $obj_id, string $import_id) |
| write import id to db (static) More... | |
| static | _lookupType (int $id, bool $reference=false) |
| static | _isInTrash (int $ref_id) |
| static | _hasUntrashedReference (int $obj_id) |
| checks whether an object has at least one reference that is not in trash More... | |
| static | _lookupObjectId (int $ref_id) |
| static | _getObjectsDataForType (string $type, bool $omit_trash=false) |
| get all objects of a certain type More... | |
| static | _exists (int $id, bool $reference=false, ?string $type=null) |
| checks if an object exists in object_data More... | |
| static | _getObjectsByType (string $obj_type="", ?int $owner=null) |
| static | _prepareCloneSelection (array $ref_ids, string $new_type, bool $show_path=true) |
| Prepare copy wizard object selection. More... | |
| static | getIconForType (string $type) |
| static | _getIcon (int $obj_id=0, string $size="big", string $type="", bool $offline=false) |
| Get icon for repository item. More... | |
| static | collectDeletionDependencies (array &$deps, int $ref_id, int $obj_id, string $type, int $depth=0) |
| Collect deletion dependencies. More... | |
| static | getDeletionDependencies (int $obj_id) |
| Get deletion dependencies. More... | |
| static | getLongDescriptions (array $obj_ids) |
| static | getAllOwnedRepositoryObjects (int $user_id) |
| static | fixMissingTitles ($type, array &$obj_title_map) |
| Try to fix missing object titles. More... | |
| static | _lookupCreationDate (int $obj_id) |
| static | _getObjectTypeIdByTitle (string $type, ?\ilDBInterface $ilDB=null) |
Private Member Functions | |
| writeLocalChangesIntoGlobalLanguageFile () | |
| mergeLocalChangesIntoShippedPoFiles () | |
| shippedMigratedModules () | |
| moduleEntriesOf (array $values) | |
| syncMigratedFilesAfterDeleteModeImport (array $modules_before_delete, array $to_save, array $remarks) | |
| A module that existed before the "delete" wipe but is absent from the imported file is never visited by _saveValues(); its orphaned overlay would keep serving stale values. More... | |
Static Private Member Functions | |
| static | requestedLocalRemark (string $requested, string $stored, string $note) |
| The shipped note itself is no local remark (''), an empty remark removes the local one; a shipped note cannot be hidden locally. More... | |
| static | withFuzzyMarkers (array $comments, array $shipped) |
| Appends SHIPPED_FUZZY_MARKER_TOPIC to the shipped note of every fuzzy entry. More... | |
| static | mergeIntoDatabase (string $a_lang_key, string $module, array $identifiers, array $remark_identifiers) |
| Database part of the merge into the shipped .po: the lng_data rows of $identifiers lose local_change - unlike the global language file, since the next update compares local changes with the shipped value (see LanguageInstallationManager::resolveMigratedModule()) and a remaining one would come back once the shipped value changes. More... | |
| static | readShippedMigratedModules (string $a_lang_key, array $only_modules=[]) |
| An unreadable shipped .po is logged and listed in "unreadable_modules" (its module stays in "modules"); callers decide whether that is fatal (importLanguageFile()) or a warning. More... | |
| static | shippedValuesAndComments (ilLanguageFile $global_file, array $shipped) |
| $global_file with every readable module maintained in PO files replaced by its shipped .po, see getShippedValues(). More... | |
| static | withoutModules (array $values, array $modules, string $separator) |
| static | matchesLikePattern (string $value, string $pattern) |
| PHP counterpart of the ‘UPPER(value) LIKE UPPER(’%<pattern>')` condition of getValues() (see ilDBInterface::like()): case-insensitive, "%" any sequence, "</em>" any character, "\" escapes. More... | |
| static | saveValues (string $a_lang_key, array $a_values, array $a_remarks, bool $merge_onto_current_content) |
With $merge_onto_current_content false the saved entries are each module's complete new content ("delete"-mode import). More... | |
| static | withPluralFormKeys (array $entries, array $shipped_migrated, string $separator) |
| Replaces the plain identifier of a plural message of a module maintained in PO files by the key of its default form (see MigratedLanguageFileSync::defaultFormKeyOf()), the form its lng_data row stands for. More... | |
| static | shippedModuleValues (array $shipped_migrated, string $module, string $separator) |
| identifier => value out of the values of readShippedMigratedModules(). More... | |
| static | setOverlayRemarks (string $a_lang_key, string $module, array $changes) |
Writes $changes (identifier => remark, '' removes it) into the overlay; false if that failed (logged), lng_data holds them regardless. More... | |
| static | normalizedRemarks (array $a_remarks) |
| Remarks as stored, identically for lng_data and the overlay: cut to 250 characters (not bytes); one that is not valid UTF-8 is dropped (logged), it would make the overlay unreadable. More... | |
| static | isMaintainedInPoFiles (string $a_lang_key, string $module) |
| Whether $module is maintained in PO files for $a_lang_key (its shipped .po exists). More... | |
| static | updateRemark (string $module, string $identifier, string $a_lang_key, string $remark) |
| Sets only the remark of an existing lng_data row ('' removes it), like replaceLangEntry() cuts it to 250 characters. More... | |
| static | writePluralRows (string $a_lang_key, string $module, array $content, array $shipped_values, array $plural_rows, string $save_date) |
The database holds a plural message only under its identifier, with the value of its default form, marked as local change only if that differs from the shipped default form (a local change of another form lives in the overlay only): after a rollback a later update of the legacy .lang files is not held back by it. More... | |
| static | currentModuleContent (string $a_lang_key, string $module) |
The content a partial save/delete is applied to: for a PO module its shipped state plus overlay, never its DB rows; null (reported) if unreadable, as applying to nothing would reset every unsaved entry. More... | |
| static | withoutUnreadableModules (string $a_lang_key, array $entries, string $separator, array &$skipped_modules) |
| Drops the entries of modules whose content cannot be read (see currentModuleContent()), before anything is written. More... | |
| static | withModuleLock (string $a_lang_key, string $module, \Closure $callback) |
| See MigratedLanguageFileSync::withOverlayLock(). More... | |
Private Attributes | |
| const string | SHIPPED_FUZZY_MARKER_TOPIC = 'lng_not_translated' |
| Language variable of the admin GUI marker for an entry that is fuzzy (not translated yet) in its shipped .po. More... | |
| array | $shipped_migrated_modules = null |
| array | $skipped_invalid_markup_values = [] |
| array | $skipped_duplicate_values = [] |
|
static |
Delete a set of translation in the database.
$a_lang_key language key $a_values module.separator.topic => value
Definition at line 1751 of file class.ilObjLanguageExt.php.
References $DIC, $lng, $module, $written, ilObjLanguage\deleteLangEntry(), and ilObjLanguage\replaceLangModule().
Referenced by ilObjLanguageExtGUI\maintainExecuteObject(), SaveValuesMergesOntoOverlayTest\testAnUnreadableModuleIsLeftOutCompletelyAndAReadableOneIsWrittenNormally(), SaveValuesWritesPluralFormsTest\testDeleteValuesKeepsTheExistingRemarkOfThePluralRow(), ImportUsesShippedValuesOfMigratedModulesTest\testDeleteValuesKeepsTheRemainingEntriesOfTheLngModulesRow(), SaveValuesOverlayRemarksTest\testDeleteValuesOfASingularKeyRemovesItsOverlayRemark(), SaveValuesWritesPluralFormsTest\testDeleteValuesOfOneFormRevertsThePluralRowToTheShippedDefaultAndDropsTheOverlayEntry(), SaveValuesOverlayRemarksTest\testDeleteValuesOfOnePluralFormKeepsTheMessagesOverlayRemark(), SaveValuesMergesOntoOverlayTest\testDeleteValuesReportsTheModuleWhoseOverlayCouldNotBeWritten(), ImportUsesShippedValuesOfMigratedModulesTest\testDeleteValuesReturnsTheMigratedModuleWhoseOverlayCouldNotBeWritten(), ImportUsesShippedValuesOfMigratedModulesTest\testDeleteValuesWithAnUnreadableLngModulesRowWritesAnEmptyModule(), and ImportUsesShippedValuesOfMigratedModulesTest\testDeleteValuesWithoutLngModulesRowWritesAnEmptyModuleWithoutWarning().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Get all modules of a language.
$a_lang_key language key Return list of modules
Definition at line 897 of file class.ilObjLanguageExt.php.
References $DIC, $ilDB, ilDBConstants\FETCHMODE_ASSOC, and ILIAS\UI\examples\Symbol\Glyph\Sort\sort().
Referenced by ilLanguageStatisticsTable\getItems(), ilLanguageExtTableGUI\initFilter(), AdminGuiReadsValuesFromMigratedFileTest\testGetModulesFallsBackToDbOnlyBehaviorWhenNoDirectoryManagerIsRegisteredAtAll(), and AdminGuiReadsValuesFromMigratedFileTest\testGetModulesIncludesAMigratedModuleEvenWithoutAnyLngDataRow().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Get all remarks of a language.
A module maintained in PO files: remarks of its overlay win over lng_data.
$a_lang_key language key $a_all_changed include empty remarks for local changes Return array module.separator.topic => remarks
Definition at line 935 of file class.ilObjLanguageExt.php.
References $DIC, $ilDB, $lng, and $module.
Referenced by ilObjLanguageExtGUI\compareComments(), getAllRemarks(), getMergedRemarks(), SaveValuesOverlayRemarksTest\testGetRemarksOverlayRemarkWinsOverAStaleLngDataOne(), and SaveValuesOverlayRemarksTest\testGetRemarksShowsALngDataOnlyRemarkWithoutAnOverlayOne().
Here is the caller graph for this function:
|
static |
For display only (like getShippedCommentsForDisplay()), e.g.
of a compare language; with $a_modules only those modules' shipped .po are read.
| list<string> | $a_modules |
Definition at line 340 of file class.ilObjLanguageExt.php.
References readShippedMigratedModules(), and withFuzzyMarkers().
Referenced by ilObjLanguageExtGUI\compareComments(), and SaveValuesOverlayRemarksTest\testGetShippedMigratedCommentsAppendsTheFuzzyMarkerForAFuzzyEntryOnly().
Here is the call graph for this function:
Here is the caller graph for this function:
|
static |
Get the translations of specified topics.
$a_lang_key language key $a_modules list of modules $a_topics list of topics $a_pattern search pattern $a_state local change state ('changed', 'unchanged', '') Return array module.separator.topic => value
Definition at line 996 of file class.ilObjLanguageExt.php.
References $DIC, $lng, and $module.
Referenced by getAddedValues(), getAllValues(), getChangedValues(), getCommentedValues(), getUnchangedValues(), AdminGuiReadsValuesFromMigratedFileTest\testAnEmptySearchPatternDoesNotFilter(), AdminGuiReadsValuesFromMigratedFileTest\testAnUnreadableOverlayShowsTheShippedValuesNeverLngDataWithAWarning(), AdminGuiReadsValuesFromMigratedFileTest\testAnUnreadableShippedPoHidesTheModuleAndNeverShowsItsLngDataRows(), AdminGuiReadsValuesFromMigratedFileTest\testAppliesTheChangedStateFilterToTheMigratedModulesValues(), AdminGuiReadsValuesFromMigratedFileTest\testAppliesThePatternFilterToTheMigratedModulesValues(), AdminGuiReadsValuesFromMigratedFileTest\testAppliesTheTopicsFilterToTheMigratedModulesValues(), AdminGuiReadsValuesFromMigratedFileTest\testMergesAMigratedModuleWithANonMigratedOne(), ShippedModulesNeverReadFromDatabaseTest\testTheAdministrationListsTheShippedValuesWithoutAClientDataDirectory(), AdminGuiReadsValuesFromMigratedFileTest\testThePatternFilterOfAMigratedModuleFollowsSqlLikeSemantics(), AdminGuiReadsValuesFromMigratedFileTest\testTheSearchPatternZeroIsAppliedToLngDataAndToMigratedModules(), AdminGuiReadsValuesFromMigratedFileTest\testValueForAMigratedModuleComesFromThePoFileNotFromTheStaleDbRow(), AdminGuiReadsValuesFromMigratedFileTest\testValuesAreSortedCaseInsensitivelyByModuleAndIdentifier(), AdminGuiReadsValuesFromMigratedFileTest\testValuesForANonMigratedModuleStillComeFromLngData(), AdminGuiReadsValuesFromMigratedFileTest\testWhenSpecificModulesAreRequestedAMigratedOneAmongThemStillComesFromThePoFile(), and AdminGuiReadsValuesFromMigratedFileTest\testWithoutDirectoryManagerOnlyTheRowsOfModulesOfNoComponentAreShown().
Here is the caller graph for this function:
|
static |
Save a set of translation in the database.
$a_lang_key language key $a_values module.separator.topic => value $a_remarks module.separator.topic => remarks
Definition at line 1247 of file class.ilObjLanguageExt.php.
Referenced by ImportLanguageFilePluralPlainKeyTest\locallyChangeDefaultForm(), ilObjLanguageExtGUI\saveObject(), ImportUsesShippedValuesOfMigratedModulesTest\testAnEmptyRemarkRemovesTheLocalRemarkAndOtherwiseWritesNothing(), ImportUsesShippedValuesOfMigratedModulesTest\testAnEmptyRemarkWithoutALocalOneWritesNothing(), ImportUsesShippedValuesOfMigratedModulesTest\testANewRemarkOverANoteIsStoredLocallyAndInTheOverlay(), SaveValuesMergesOntoOverlayTest\testAnUnreadableModuleIsLeftOutCompletelyAndAReadableOneIsWrittenNormally(), ImportUsesShippedValuesOfMigratedModulesTest\testChangingOnlyTheRemarkOfAnEntryWithAShippedNoteIsNoLocalChange(), SaveValuesOverlayRemarksTest\testChangingOnlyTheValueOfASingularIdentifierKeepsItsStoredRemark(), SaveValuesWritesPluralFormsTest\testDeleteValuesKeepsTheExistingRemarkOfThePluralRow(), SaveValuesOverlayRemarksTest\testDeleteValuesOfASingularKeyRemovesItsOverlayRemark(), SaveValuesWritesPluralFormsTest\testDeleteValuesOfOneFormRevertsThePluralRowToTheShippedDefaultAndDropsTheOverlayEntry(), SaveValuesOverlayRemarksTest\testDeleteValuesOfOnePluralFormKeepsTheMessagesOverlayRemark(), SaveValuesOverlayRemarksTest\testGetRemarksOverlayRemarkWinsOverAStaleLngDataOne(), SaveValuesOverlayRemarksTest\testPureRemarkChangeOnASingularIdentifierUpdatesRemarksAloneAndWritesTheOverlay(), SaveValuesRecreatesLngModulesAfterDeleteModeImportTest\testRecreatesTheLngModulesRowForAModulePresentInTheImport(), SaveValuesRecreatesLngModulesAfterDeleteModeImportTest\testRecreatesTheLngModulesRowForEveryModulePresentInTheImport(), SaveValuesWritesPluralFormsTest\testSaveValuesAnEmptyPostedRemarkThatDiffersFromStoredDeletesIt(), SaveValuesWritesPluralFormsTest\testSaveValuesAPureRemarkChangeWithNoValueChangeStillWritesTheRow(), ImportUsesShippedValuesOfMigratedModulesTest\testSaveValuesComparesAMigratedModuleAgainstTheShippedPoNotTheLangFile(), SaveValuesOverlayRemarksTest\testSaveValuesCutsALongRemarkToTwoHundredAndFiftyCharacters(), SaveValuesWritesPluralFormsTest\testSaveValuesDropsAFormKeyWithAnIndexBeyondTheShippedFormCount(), SaveValuesOverlayRemarksTest\testSaveValuesDropsAnInvalidUtf8RemarkWithoutSavingItAnywhere(), SaveValuesWritesPluralFormsTest\testSaveValuesExplicitFormKeyThenPlainKeyTheLaterPlainKeyWins(), SaveValuesWritesPluralFormsTest\testSaveValuesFormZeroValueChangedFormOneOnlyRemarkChangedTakesTheRemarkFromFormOne(), SaveValuesWritesPluralFormsTest\testSaveValuesKeepsTheStoredRemarkWhenNoPostedRemarkDiffersFromIt(), SaveValuesWritesPluralFormsTest\testSaveValuesMapsAPlainPluralKeyToItsDefaultFormInTheOverlayAndLngData(), ImportUsesShippedValuesOfMigratedModulesTest\testSaveValuesMarksAValueThatOnlyEqualsTheStaleLangLineAsLocalChange(), SaveValuesWritesPluralFormsTest\testSaveValuesPlainKeyThenExplicitFormKeyTheLaterFormKeyWins(), SaveValuesWritesPluralFormsTest\testSaveValuesRemarkOfThePluralRowIsTheFirstFormRemarkThatDiffersFromStored(), SaveValuesWritesPluralFormsTest\testSaveValuesResetsThePluralRowWhenEveryFormMatchesTheShippedValueAgain(), ImportUsesShippedValuesOfMigratedModulesTest\testSaveValuesReturnsNothingWhenEveryOverlayWasWritten(), ImportUsesShippedValuesOfMigratedModulesTest\testSaveValuesReturnsOnlyTheMigratedModuleWhoseOverlayCouldNotBeWrittenAndLogsIt(), SaveValuesWritesPluralFormsTest\testSaveValuesWritesOneMergedLngDataRowForAChangedPluralForm(), ImportUsesShippedValuesOfMigratedModulesTest\testSavingALocallyChangedValueBackToTheShippedOneEndsTheLocalChange(), ImportUsesShippedValuesOfMigratedModulesTest\testSavingALongShippedNoteCutToTheFieldLengthWritesNothing(), ImportUsesShippedValuesOfMigratedModulesTest\testSavingAnUnchangedEntryWithAShippedNoteIsNoLocalChange(), SaveValuesMergesOntoOverlayTest\testSavingOneKeyKeepsTheOverlaysLocalChangeOfAnotherKey(), ImportUsesShippedValuesOfMigratedModulesTest\testSavingTheNoteOfEveryFormOfAPluralMessageUnchangedWritesNothing(), and ImportUsesShippedValuesOfMigratedModulesTest\testSavingTheShippedNoteUnchangedWritesNothing().
Here is the caller graph for this function:| ilObjLanguageExt::backupShippedPoFiles | ( | string | $directory | ) |
The backup the filter "conflicts" compares with (see getShippedChangesSinceBackup()), written by the "save_dist" action next to the backup of the global language file.
Definition at line 584 of file class.ilObjLanguageExt.php.
References $DIC, and CLIENT_DATA_DIR.
|
staticprivate |
The content a partial save/delete is applied to: for a PO module its shipped state plus overlay, never its DB rows; null (reported) if unreadable, as applying to nothing would reset every unsaved entry.
Other modules: the lng_modules row, [] if none.
Must be called under the module's overlay lock (see withModuleLock()).
Definition at line 1642 of file class.ilObjLanguageExt.php.
|
static |
The values a save into $a_lang_key would change and that contain markup TranslationMarkupPolicy does not allow, see TranslationMarkupPolicy::findInvalidChangedValues().
| array<string,string> | $values |
Definition at line 642 of file class.ilObjLanguageExt.php.
References $policy, ilLanguageFile\_getGlobalLanguageFile(), and shippedValuesAndComments().
Referenced by ilObjLanguageExtGUI\saveObject(), SaveValuesMergesOntoOverlayTest\testFindInvalidMarkupOfChangedValuesAppliesTheCurrentAndShippedComparison(), and SaveValuesMergesOntoOverlayTest\testFindInvalidMarkupOfChangedValuesNeverReadsCurrentOrShippedValuesWhenNothingIsSuspicious().
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjLanguageExt::getAddedValues | ( | array | $a_modules = array(), |
| string | $a_pattern = '', |
||
| array | $a_topics = array() |
||
| ) |
Get only the entries which don't exist in the shipped language files (see getShippedValues()) - source as in getAllValues()
$a_modules list of modules $a_pattern search pattern $a_topics list of topics Return array module.separator.topic => value
Definition at line 234 of file class.ilObjLanguageExt.php.
References _getValues(), and getShippedValues().
Here is the call graph for this function:| ilObjLanguageExt::getAllRemarks | ( | ) |
Get all remarks from the database.
Return array module.separator.topic => remark
Definition at line 136 of file class.ilObjLanguageExt.php.
References _getRemarks().
Referenced by getEffectiveRemarks().
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjLanguageExt::getAllValues | ( | array | $a_modules = array(), |
| string | $a_pattern = "", |
||
| array | $a_topics = array() |
||
| ) |
Get all values from the database; a migrated module is read from its shipped .po with the overlay delta on top (see _getValues()).
$a_modules list of modules $a_pattern search pattern $a_topics list of topics Return array module.separator.topic => value
Definition at line 193 of file class.ilObjLanguageExt.php.
References _getValues().
Referenced by getShippedChangesSinceBackup().
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjLanguageExt::getChangedValues | ( | array | $a_modules = array(), |
| string | $a_pattern = "", |
||
| array | $a_topics = array() |
||
| ) |
Get only the changed values (source as in getAllValues()) which differ from the original language file.
$a_modules list of modules $a_pattern search pattern $a_topics list of topics Return array module.separator.topic => value
Definition at line 208 of file class.ilObjLanguageExt.php.
References _getValues().
Here is the call graph for this function:| ilObjLanguageExt::getCommentedValues | ( | array | $a_modules = array(), |
| string | $a_pattern = "", |
||
| array | $a_topics = array() |
||
| ) |
Get all values for which the shipped language files have a comment (see getShippedComments()) - source as in getAllValues()
Note: This function checks the comments in the shipped language files, not the remarks in the database!
$a_modules list of modules $a_pattern search pattern $a_topics list of topics Return array module.separator.topic => value
Definition at line 254 of file class.ilObjLanguageExt.php.
References _getValues(), and getShippedComments().
Here is the call graph for this function:| ilObjLanguageExt::getCustLangPath | ( | ) |
Get the customized language files path.
Return path of customized language files folder
Definition at line 126 of file class.ilObjLanguageExt.php.
References ilObjLanguage\$cust_lang_path.
Referenced by mergeLocalChangesIntoShippedPoFiles().
Here is the caller graph for this function:| ilObjLanguageExt::getDataPath | ( | ) |
Return the path for language data written by ILIAS.
Definition at line 103 of file class.ilObjLanguageExt.php.
References CLIENT_DATA_DIR, and ilFileUtils\makeDir().
Here is the call graph for this function:| ilObjLanguageExt::getEffectiveRemarks | ( | ) |
The remark as the admin table shows it: the local remark, else the note of the shipped .po (#, else #.
; plural notes are listed per form, see PluralFormKey). saveValues() compares against the same remarks.
Definition at line 147 of file class.ilObjLanguageExt.php.
References ilObjLanguage\$key, getAllRemarks(), and shippedMigratedModules().
Here is the call graph for this function:| ilObjLanguageExt::getGlobalLanguageFile | ( | ) |
Read and get the global language file as an object.
Lines of modules maintained in PO files are not that module's source, see getShippedValues()/getShippedComments().
Definition at line 66 of file class.ilObjLanguageExt.php.
References ilLanguageFile\_getGlobalLanguageFile().
Referenced by getShippedChangesSinceBackup(), getShippedComments(), getShippedValues(), and writeLocalChangesIntoGlobalLanguageFile().
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjLanguageExt::getLangPath | ( | ) |
Get the language files path.
Return path of language files folder
Definition at line 116 of file class.ilObjLanguageExt.php.
References ilObjLanguage\$lang_path.
| ilObjLanguageExt::getLongDescription | ( | ) |
Get the full language description.
Return description
Reimplemented from ilObject.
Definition at line 94 of file class.ilObjLanguageExt.php.
References ILIAS\Repository\lng().
Here is the call graph for this function:| ilObjLanguageExt::getMergedRemarks | ( | ) |
Get the local remarks merged into the comments of the shipped language files (see getShippedComments())
The returned array contains:
Return array module.separator.topic => value
Definition at line 292 of file class.ilObjLanguageExt.php.
References _getRemarks(), and getShippedComments().
Here is the call graph for this function:| ilObjLanguageExt::getMergedValues | ( | ) |
Get the local values merged into the shipped values (see getShippedValues()), source as in getAllValues()
The returned array contains:
Not for writing the global language file - see mergeLocalChangesIntoGlobalLanguageFile().
Return array module.separator.topic => value
Definition at line 275 of file class.ilObjLanguageExt.php.
References getShippedValues().
Here is the call graph for this function:| ilObjLanguageExt::getModulesMaintainedInPoFiles | ( | ) |
Every module maintained in PO files for this language (its shipped .po exists).
Definition at line 381 of file class.ilObjLanguageExt.php.
References shippedMigratedModules().
Referenced by writeLocalChangesIntoGlobalLanguageFile().
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjLanguageExt::getShippedChangesSinceBackup | ( | ilLanguageFile | $former_file, |
| string | $po_backup_directory | ||
| ) |
Entries of the global language file (without modules maintained in PO files) and of their shipped .po that differ from the backup; a module without backup contributes nothing.
Definition at line 608 of file class.ilObjLanguageExt.php.
References $DIC, $module, ilLanguageFile\getAllValues(), getAllValues(), getGlobalLanguageFile(), and withoutModules().
Here is the call graph for this function:| ilObjLanguageExt::getShippedComments | ( | ) |
Counterpart of getShippedValues(): modules maintained in PO files contribute the comments of their shipped .po.
Definition at line 317 of file class.ilObjLanguageExt.php.
References getGlobalLanguageFile(), shippedMigratedModules(), and shippedValuesAndComments().
Referenced by getCommentedValues(), getMergedRemarks(), and getShippedCommentsForDisplay().
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjLanguageExt::getShippedCommentsForDisplay | ( | ) |
For display only (admin GUI): adds the "not translated yet" marker for fuzzy entries (see withFuzzyMarkers()).
The marker is no comment: not exported, not filtered for, not compared on saving.
Definition at line 328 of file class.ilObjLanguageExt.php.
References getShippedComments(), shippedMigratedModules(), and withFuzzyMarkers().
Here is the call graph for this function:| ilObjLanguageExt::getShippedValues | ( | ) |
The global language file, except for modules maintained in PO files: their shipped .po is used (see LanguageInstallationManager).
An unreadable .po keeps that module's .lang lines as approximation; logged and reported by getUnreadableShippedPoModules().
Definition at line 307 of file class.ilObjLanguageExt.php.
References getGlobalLanguageFile(), shippedMigratedModules(), and shippedValuesAndComments().
Referenced by getAddedValues(), and getMergedValues().
Here is the call graph for this function:
Here is the caller graph for this function:| ilObjLanguageExt::getSkippedDuplicateValues | ( | ) |
The values the last importLanguageFile() with $skipInvalidEntries left out as duplicates of another module.
Definition at line 673 of file class.ilObjLanguageExt.php.
References $skipped_duplicate_values.
| ilObjLanguageExt::getSkippedInvalidMarkupValues | ( | ) |
The values the last importLanguageFile() with $skipInvalidEntries left out for their markup.
Definition at line 663 of file class.ilObjLanguageExt.php.
References $skipped_invalid_markup_values.
| ilObjLanguageExt::getUnchangedValues | ( | array | $a_modules = array(), |
| string | $a_pattern = "", |
||
| array | $a_topics = array() |
||
| ) |
Get only the unchanged values (source as in getAllValues()) which are equal to the original language file.
Return array module.separator.topic => value
Definition at line 220 of file class.ilObjLanguageExt.php.
References _getValues().
Here is the call graph for this function:| ilObjLanguageExt::getUnreadableShippedPoModules | ( | ) |
The modules maintained in PO files whose shipped .po cannot be read - see getShippedValues().
Definition at line 391 of file class.ilObjLanguageExt.php.
References shippedMigratedModules().
Here is the call graph for this function:| ilObjLanguageExt::hasLocalChangesOutsidePoModules | ( | ) |
Whether "merge" has something to write into the global language file: a local change (a changed remark sets local_change as well, see _saveValues()) of a module outside the PO files.
Shipped comments do not count.
Definition at line 433 of file class.ilObjLanguageExt.php.
|
staticprivate |
Whether $module is maintained in PO files for $a_lang_key (its shipped .po exists).
Definition at line 1563 of file class.ilObjLanguageExt.php.
|
staticprivate |
PHP counterpart of the ‘UPPER(value) LIKE UPPER(’%<pattern>')` condition of getValues() (see ilDBInterface::like()): case-insensitive, "%" any sequence, "</em>" any character, "\" escapes.
Not replicated: accent-insensitivity of *_unicode_ci. Consecutive "%" collapse to one ".*" to avoid needless backtracking.
Definition at line 1215 of file class.ilObjLanguageExt.php.
References $pattern.
|
staticprivate |
Database part of the merge into the shipped .po: the lng_data rows of $identifiers lose local_change - unlike the global language file, since the next update compares local changes with the shipped value (see LanguageInstallationManager::resolveMigratedModule()) and a remaining one would come back once the shipped value changes.
The remarks of $remark_identifiers became comments of the .po and are removed. lng_modules is unchanged.
| list<string> | $identifiers |
| list<string> | $remark_identifiers |
Definition at line 559 of file class.ilObjLanguageExt.php.
References $DIC, $ilDB, and $module.
Referenced by mergeLocalChangesIntoShippedPoFiles().
Here is the caller graph for this function:| ilObjLanguageExt::mergeLocalChangesIntoGlobalLanguageFile | ( | bool | $write_global_file = true | ) |
The "merge" maintenance action of the developer mode (LANGMODE):
Definition at line 417 of file class.ilObjLanguageExt.php.
References mergeLocalChangesIntoShippedPoFiles(), and writeLocalChangesIntoGlobalLanguageFile().
Here is the call graph for this function:
|
private |
Definition at line 472 of file class.ilObjLanguageExt.php.
References $DIC, ilObjLanguage\$key, ILIAS\TestQuestionPool\ExportImport\Foundation\Export\$logger, $module, getCustLangPath(), and mergeIntoDatabase().
Referenced by mergeLocalChangesIntoGlobalLanguageFile().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
| array<string,string> | $values module.separator.identifier => value |
Definition at line 818 of file class.ilObjLanguageExt.php.
|
staticprivate |
Remarks as stored, identically for lng_data and the overlay: cut to 250 characters (not bytes); one that is not valid UTF-8 is dropped (logged), it would make the overlay unreadable.
| array<string,mixed> | $a_remarks |
Definition at line 1538 of file class.ilObjLanguageExt.php.
References $DIC.
|
staticprivate |
An unreadable shipped .po is logged and listed in "unreadable_modules" (its module stays in "modules"); callers decide whether that is fatal (importLanguageFile()) or a warning.
Everything empty without a LanguageFileDirectoryManager.
| list<string> | $only_modules only these modules (all if empty) |
Definition at line 1124 of file class.ilObjLanguageExt.php.
Referenced by _getShippedMigratedComments(), and shippedMigratedModules().
Here is the caller graph for this function:
|
staticprivate |
The shipped note itself is no local remark (''), an empty remark removes the local one; a shipped note cannot be hidden locally.
Definition at line 174 of file class.ilObjLanguageExt.php.
|
staticprivate |
With $merge_onto_current_content false the saved entries are each module's complete new content ("delete"-mode import).
Definition at line 1261 of file class.ilObjLanguageExt.php.
| ilObjLanguageExt::setLocal | ( | bool | $a_local = true | ) |
Set the local status of the language.
$a_local local status (true/false)
Definition at line 76 of file class.ilObjLanguageExt.php.
References ilObjLanguage\isInstalled(), ilObject\setDescription(), and ilObject\update().
Here is the call graph for this function:
|
staticprivate |
Writes $changes (identifier => remark, '' removes it) into the overlay; false if that failed (logged), lng_data holds them regardless.
| array<string,string> | $changes |
Definition at line 1502 of file class.ilObjLanguageExt.php.
|
private |
Definition at line 681 of file class.ilObjLanguageExt.php.
References readShippedMigratedModules().
Referenced by getEffectiveRemarks(), getModulesMaintainedInPoFiles(), getShippedComments(), getShippedCommentsForDisplay(), getShippedValues(), and getUnreadableShippedPoModules().
Here is the call graph for this function:
Here is the caller graph for this function:
|
staticprivate |
identifier => value out of the values of readShippedMigratedModules().
| array{values | array<string, string>} $shipped_migrated |
Definition at line 1484 of file class.ilObjLanguageExt.php.
References $module.
|
staticprivate |
$global_file with every readable module maintained in PO files replaced by its shipped .po, see getShippedValues().
| array{values | array<string, string>, comments: array<string, string>, modules: list<string>, unreadable_modules: list<string>} $shipped |
Definition at line 1178 of file class.ilObjLanguageExt.php.
References $DIC, ilLanguageFile\getAllComments(), and ilLanguageFile\getAllValues().
Referenced by findInvalidMarkupOfChangedValues(), getShippedComments(), and getShippedValues().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
A module that existed before the "delete" wipe but is absent from the imported file is never visited by _saveValues(); its orphaned overlay would keep serving stale values.
Syncs every such module with "replace" semantics. For modules present in $to_save this repeats the sync of replaceLangModule(), which is idempotent.
| list<string> | $modules_before_delete every module this language had any lng_data row for, captured before the DELETE |
| array<string,string> | $to_save module.separator.topic => value, the complete final DB content now |
| array<string,array<string,string>> | $remarks module => identifier => remark, the complete remarks now |
Definition at line 841 of file class.ilObjLanguageExt.php.
|
staticprivate |
Sets only the remark of an existing lng_data row ('' removes it), like replaceLangEntry() cuts it to 250 characters.
Definition at line 1579 of file class.ilObjLanguageExt.php.
|
staticprivate |
Appends SHIPPED_FUZZY_MARKER_TOPIC to the shipped note of every fuzzy entry.
| array<string,string> | $comments |
| array{fuzzy | list<string>} $shipped see readShippedMigratedModules() |
Definition at line 354 of file class.ilObjLanguageExt.php.
References $comments, $DIC, ilObjLanguage\$key, ilObject\$lng, ilLanguage\_lookupEntry(), ilLanguage\getDefaultLanguage(), ilLanguage\loadLanguageModule(), and ilLanguage\txt().
Referenced by _getShippedMigratedComments(), and getShippedCommentsForDisplay().
Here is the call graph for this function:
Here is the caller graph for this function:
|
staticprivate |
See MigratedLanguageFileSync::withOverlayLock().
@template T
Closure():T $callback
Definition at line 1728 of file class.ilObjLanguageExt.php.
|
staticprivate |
| array<string,string|null> | $values module.separator.identifier => value |
| list<string> | $modules |
Definition at line 1196 of file class.ilObjLanguageExt.php.
Referenced by getShippedChangesSinceBackup().
Here is the caller graph for this function:
|
staticprivate |
Drops the entries of modules whose content cannot be read (see currentModuleContent()), before anything is written.
| array<string,mixed> | $entries module.separator.identifier => value or remark |
| list<string> | $skipped_modules gets the dropped modules |
Definition at line 1698 of file class.ilObjLanguageExt.php.
References $module.
|
staticprivate |
Replaces the plain identifier of a plural message of a module maintained in PO files by the key of its default form (see MigratedLanguageFileSync::defaultFormKeyOf()), the form its lng_data row stands for.
Where $entries has both, the later one wins. Applied to every input before anything is compared, kept or checked.
| array<string,mixed> | $entries module.separator.identifier => value or remark |
| array{values | array<string, string>, modules: list<string>} $shipped_migrated see readShippedMigratedModules() |
Definition at line 1454 of file class.ilObjLanguageExt.php.
|
private |
Definition at line 448 of file class.ilObjLanguageExt.php.
References getGlobalLanguageFile(), and getModulesMaintainedInPoFiles().
Referenced by mergeLocalChangesIntoGlobalLanguageFile().
Here is the call graph for this function:
Here is the caller graph for this function:
|
staticprivate |
The database holds a plural message only under its identifier, with the value of its default form, marked as local change only if that differs from the shipped default form (a local change of another form lives in the overlay only): after a rollback a later update of the legacy .lang files is not held back by it.
| array<string,string> | $content |
| array<string,string> | $shipped_values identifier => shipped value of the module |
| array<string,?string> | $plural_rows |
Definition at line 1602 of file class.ilObjLanguageExt.php.
|
private |
Definition at line 49 of file class.ilObjLanguageExt.php.
|
private |
Definition at line 59 of file class.ilObjLanguageExt.php.
Referenced by getSkippedDuplicateValues().
|
private |
Definition at line 54 of file class.ilObjLanguageExt.php.
Referenced by getSkippedInvalidMarkupValues().
|
private |
Language variable of the admin GUI marker for an entry that is fuzzy (not translated yet) in its shipped .po.
Definition at line 44 of file class.ilObjLanguageExt.php.