Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
237 commits
Select commit Hold shift + click to select a range
c4fb9ad
Migrate Language component to the Component Revision architecture and…
c-knof Sep 17, 2026
e3c841a
Language: Take RBAC from the component graph in the Activities
c-knof Oct 12, 2026
2293f12
Language: Take the database from the component graph
c-knof Oct 12, 2026
48187b5
Language: Read the languages for the Setup label from the Setup database
c-knof Oct 12, 2026
56075fb
Language: Take the installation root from `Directories`
c-knof Oct 12, 2026
a2da7be
Init: Drop the unused `ILIAS\Language\Language` entry from the legacy…
c-knof Oct 12, 2026
b0ccf7d
Language: Stop providing the installation repository and manager
c-knof Oct 12, 2026
d98749e
Language: Hand the language folder to the Activities as `LanguageFolder`
c-knof Oct 12, 2026
7975b5e
Language: Note the remaining legacy container use in the roadmap
c-knof Oct 12, 2026
42474e8
Language: Shorten the comments added by the Component Revision
c-knof Oct 13, 2026
41ffcfd
Language: Report Activity errors with status codes like the File Acti…
c-knof Oct 19, 2026
784b1b3
Language: Refuse the anonymous user and pass the user id inline like …
c-knof Oct 19, 2026
4a307c6
Language: Describe the Activities with the `DataFactory` and titled s…
c-knof Oct 19, 2026
66f9f07
Language: Bundle the legacy access of the Activities in a `Repository…
c-knof Oct 19, 2026
596ed6d
Language: Mask database errors whose code is a SQLSTATE string
c-knof Oct 19, 2026
7c986dd
Language: Shorten the comments of the Activities, their wiring and tests
c-knof Oct 19, 2026
5dd2e57
Language: Give the language service only to `AddLanguageEntry`
c-knof Oct 19, 2026
1d6be49
[FIX] File: take the current wording of could_not_create_file_objs
chfsx Oct 19, 2026
6d3707b
[REFACTOR] Language: add license header and restore @internal markers…
chfsx Oct 19, 2026
b3cd6fe
[FIX] Language: invalidate the translation cache when lng_modules cha…
chfsx Oct 19, 2026
c30d442
[REFACTOR] Language: assert the contributions of the component indepe…
chfsx Oct 19, 2026
c8fdc05
[REFACTOR] Language: hand the installation root to the repository ins…
chfsx Oct 19, 2026
ed1ced8
[REFACTOR] Language: take the settings of the Activities from a legac…
chfsx Oct 19, 2026
6a620ec
Language: Protect the table actions of `ilObjLanguageFolderGUI` again…
c-knof Oct 21, 2026
f1ddb1f
[FIX] Language: Load `ilLangDeprecated` through the autoloader in `il…
c-knof Oct 21, 2026
41ba103
Language: Remove the unreachable confirmation screens from `ilObjLang…
c-knof Oct 21, 2026
ef8bec5
Language: Pass the previous exception positionally in `GrindsFormInput`
c-knof Oct 22, 2026
6dfe897
Language: Expect the calls whose arguments the tests check
c-knof Oct 22, 2026
af31d69
Language: Mark the internal settings, cache and installation root typ…
c-knof Oct 22, 2026
5211992
File: Take the language files back into the global language files
c-knof Oct 12, 2026
0ca374c
Language: Maintain the translations of single modules in PO files
c-knof Oct 12, 2026
409df14
Language: Add ntxt() for plural forms of modules in PO files
c-knof Oct 12, 2026
9717066
Language: Add a tool that converts a module into PO files
c-knof Oct 12, 2026
599588c
TermsOfService: Serve the translations from PO files
c-knof Oct 12, 2026
c8beee3
Poll: Serve the translations from PO files
c-knof Oct 12, 2026
d61c8ff
Language: Add translate() with generated LanguageIdentifier enums
c-knof Oct 12, 2026
a7574c3
Language: Adapt the Activities to modules maintained in PO files
c-knof Oct 12, 2026
94ac7bc
Language: Document the modules maintained in PO files
c-knof Oct 12, 2026
e181d7e
Language: Do not depend on directory order in a plugin uninstall test
c-knof Oct 12, 2026
512eca5
Language: Inject the installation root into the `RepositoryProvider` …
c-knof Oct 13, 2026
24d634d
Language: Log the installation warnings through the injected `lang` l…
c-knof Oct 13, 2026
46688a5
Language: Take the client data directory from `Directories` and the c…
c-knof Oct 13, 2026
d662b40
Poll, TermsOfService: Drop the return type of the language file direc…
c-knof Oct 13, 2026
64aa1aa
Language: Check for shipped PO modules in one place
c-knof Oct 13, 2026
5a8f4eb
Language: Merge into the shipped PO files regardless of the number of…
c-knof Oct 13, 2026
af3b85f
TermsOfService: Remove the tos module from the global language files
c-knof Oct 13, 2026
2d126e7
Poll: Remove the poll module from the global language files
c-knof Oct 13, 2026
8d97c3b
Refinery: Accept a `LanguageIdentifier` in the `Language` test doubles
c-knof Oct 14, 2026
f361643
Language: Accept a `LanguageIdentifier` in `txt()` and `ntxt()`
c-knof Oct 14, 2026
5b26e01
Language: Remove the unused scope handling from `ilObjLanguage`
c-knof Oct 14, 2026
73d7258
Exercise: Drop the fallback module argument of `txt()`
c-knof Oct 14, 2026
9700103
Survey: Drop the fallback module argument of `txt()`
c-knof Oct 14, 2026
0ad15d8
WebServices: Drop the fallback module argument of `txt()`
c-knof Oct 14, 2026
8bc63a4
OrgUnit: Drop the fallback module argument of `txt()`
c-knof Oct 14, 2026
5679d03
Forum: Drop the fallback module argument of `txt()`
c-knof Oct 14, 2026
aab87e1
Component: Serve the translations from PO files
c-knof Oct 13, 2026
87d59dd
Repository: Load the `cmps` module instead of passing it to `txt()`
c-knof Oct 14, 2026
bd2cd94
WebDAV: Load the `meta` module instead of passing it to `txt()`
c-knof Oct 14, 2026
77edf4e
Language: Replace `ntxt()` and the fallback module by `txt($a_topic, …
c-knof Oct 14, 2026
4e3e865
UI: Follow the new signature of `ilLanguage::txt()` in `LanguageMock`
c-knof Oct 14, 2026
8c77da1
Refinery: Follow the new signature of `Language::txt()` in the test d…
c-knof Oct 14, 2026
fbdfe6c
Language: Serve the translations from PO files
c-knof Oct 13, 2026
0a2e603
Language: Keep serving a module whose shipped `.po` cannot be compiled
c-knof Oct 14, 2026
1ce15ef
Language: Keep the remarks of the overlay in line with the imported file
c-knof Oct 14, 2026
4868099
Language: Fix the setup warning about the missing client data directory
c-knof Oct 14, 2026
86dd4d6
Language: Make `convert_module_to_po.php` write all files or none
c-knof Oct 14, 2026
713327b
Language: Update the documentation of modules maintained in PO files
c-knof Oct 14, 2026
58f2dce
Language: Recognise the "new variable" marker behind further `#`
c-knof Oct 15, 2026
8f02bd7
Language: Keep the notes of a language as translator comments
c-knof Oct 15, 2026
4d9c689
Language: Check the converted values like the build in `convert_modul…
c-knof Oct 15, 2026
a6e8342
Language: Refuse two directories that ship the same language files
c-knof Oct 20, 2026
b323bd8
Language: Assert the contributed modules of the component by their pr…
c-knof Oct 20, 2026
7adefe6
Language: Refuse a new entry whose identifier exists in another module
c-knof Oct 20, 2026
7d31cb1
Language: Check the shipped PO files in "check all languages"
c-knof Oct 20, 2026
783a870
Language: Name the languages with invalid files when an install or re…
c-knof Oct 20, 2026
beb81f4
Language: Serve migrated modules without CLIENT_DATA_DIR
c-knof Oct 16, 2026
05a7da4
Language: Never read shipped modules from the database
c-knof Oct 16, 2026
0fb19e6
Language: Build the shipped language files before installing languages
c-knof Oct 16, 2026
00a3eb8
Language: Document that shipped modules never fall back to the database
c-knof Oct 16, 2026
c70c51a
Language: Test that shipped modules are never read from the database
c-knof Oct 16, 2026
91d2392
Language: Never fall back to the database in the language administration
c-knof Oct 16, 2026
b2a3d81
Language: Prefer CLIENT_ID when resolving the client data directory
c-knof Oct 16, 2026
55d9374
Language: Forget the resolved client data directory with the served b…
c-knof Oct 16, 2026
8aed6cb
Language: Record the contributed modules in current.json
c-knof Oct 16, 2026
1f4b69f
Language: Test the language administration without the database fallback
c-knof Oct 16, 2026
bd78b1f
Language: Accept language files of only the header when checking all …
c-knof Oct 16, 2026
23c178f
Language: Check the content of a module before saving any of its changes
c-knof Oct 19, 2026
f3cfbf2
Language: Keep the build when the list of contributed modules is invalid
c-knof Oct 19, 2026
6009156
Language: Remember a missing client data directory until the served b…
c-knof Oct 19, 2026
b9e9da0
Language: Take over the local changes in lng_data only once
c-knof Oct 19, 2026
d55f5a2
Language: Test saving only readable modules and taking over local cha…
c-knof Oct 19, 2026
900a10a
Language: Report overlays of unshipped modules and unrecorded take-ov…
c-knof Oct 21, 2026
5e7861c
Language: Merge local changes into the PO files even if the global la…
c-knof Oct 22, 2026
904137b
Language: Fix the PHPStan findings in the PO file handling
c-knof Oct 22, 2026
970aa48
Language: Report invalid language files as a translated server-side e…
c-knof Oct 22, 2026
f5a0620
Language: Remove the scan of duplicate keys in the global language files
c-knof Oct 22, 2026
4bc860f
Language: Count the build warnings in Setup if the build is unchanged
c-knof Oct 22, 2026
511de18
Language: Dispatch an exact allowlist of commands in `ilObjLanguageEx…
c-knof Oct 22, 2026
4f66161
Language: Serve the migrated modules through a `TranslationRepository`
c-knof Oct 21, 2026
69012e9
Language: Hash all catalog classes for the compatibility of a former …
c-knof Oct 22, 2026
f97bf04
Language: Refuse imported entries whose identifier exists in another …
c-knof Oct 22, 2026
b836f7d
Language: Name the invalid language files when installing with the cu…
c-knof Oct 22, 2026
40e225f
Language: Skip entries of the customizing file whose identifier exist…
c-knof Oct 22, 2026
879560a
Language: Document the upgrade to translations in PO files
c-knof Oct 28, 2026
3f65aa2
Language: Require the PHP extension gettext as in the dependency PR
c-knof Oct 28, 2026
9d4be2f
Accessibility: Serve the translations from PO files
c-knof Oct 13, 2026
56e7cc2
AuthShibboleth: Serve the translations from PO files
c-knof Oct 13, 2026
cda2c18
Awareness: Serve the translations from PO files
c-knof Oct 13, 2026
081839c
Benchmark: Serve the translations from PO files
c-knof Oct 13, 2026
e0c160f
COPage: Serve the translations from PO files
c-knof Oct 13, 2026
3e5a169
CmiXapi: Serve the translations from PO files
c-knof Oct 13, 2026
d623db6
Contact: Serve the translations from PO files
c-knof Oct 13, 2026
890062a
Container: Serve the translations from PO files
c-knof Oct 13, 2026
7a72b34
ContainerReference: Serve the translations from PO files
c-knof Oct 13, 2026
b378981
ContentPage: Serve the translations from PO files
c-knof Oct 13, 2026
3395ad9
Cron: Serve the translations from PO files
c-knof Oct 13, 2026
729e923
DataProtection: Serve the translations from PO files
c-knof Oct 13, 2026
89bafa7
DidacticTemplate: Serve the translations from PO files
c-knof Oct 13, 2026
4ae1eb4
Exercise: Serve the translations from PO files
c-knof Oct 13, 2026
7669b37
Export: Serve the translations from PO files
c-knof Oct 27, 2026
230c77a
FileServices: Serve the translations from PO files
c-knof Oct 13, 2026
c1c8f2e
HTMLLearningModule: Serve the translations from PO files
c-knof Oct 13, 2026
19de1ed
Help: Serve the translations from PO files
c-knof Oct 13, 2026
3812db0
Init: Serve the translations from PO files
c-knof Oct 13, 2026
7a2f587
LDAP: Serve the translations from PO files
c-knof Oct 13, 2026
ae66dbe
LTI: Serve the translations from PO files
c-knof Oct 23, 2026
a892356
LearningHistory: Serve the translations from PO files
c-knof Oct 13, 2026
3530122
LegalDocuments: Serve the translations from PO files
c-knof Oct 13, 2026
845f966
Like: Serve the translations from PO files
c-knof Oct 13, 2026
a673d1d
Logging: Serve the translations from PO files
c-knof Oct 13, 2026
190af47
Maps: Serve the translations from PO files
c-knof Oct 13, 2026
3792770
MediaObjects: Serve the translations from PO files
c-knof Oct 13, 2026
3bbd7ae
MediaPool: Serve the translations from PO files
c-knof Oct 13, 2026
15cfd05
MyStaff: Serve the translations from PO files
c-knof Oct 13, 2026
380eda3
Notes: Serve the translations from PO files
c-knof Oct 13, 2026
466371a
PersonalWorkspace: Serve the translations from PO files
c-knof Oct 13, 2026
db87397
Rating: Serve the translations from PO files
c-knof Oct 13, 2026
8171214
Registration: Serve the translations from PO files
c-knof Oct 13, 2026
582577b
RemoteCategory: Serve the translations from PO files
c-knof Oct 13, 2026
73606d6
RemoteCourse: Serve the translations from PO files
c-knof Oct 13, 2026
9563c61
RemoteFile: Serve the translations from PO files
c-knof Oct 13, 2026
0a7b154
RemoteGlossary: Serve the translations from PO files
c-knof Oct 13, 2026
6ff2ef4
RemoteGroup: Serve the translations from PO files
c-knof Oct 13, 2026
fc4d390
RemoteLearningModule: Serve the translations from PO files
c-knof Oct 13, 2026
201707b
RemoteTest: Serve the translations from PO files
c-knof Oct 13, 2026
e7be97c
RemoteWiki: Serve the translations from PO files
c-knof Oct 13, 2026
ce1df42
Skill: Serve the translations from PO files
c-knof Oct 13, 2026
ace54a1
StaticURL: Serve the translations from PO files
c-knof Oct 13, 2026
09ce9f3
Survey: Serve the translations from PO files
c-knof Oct 13, 2026
c37c95a
SystemCheck: Serve the translations from PO files
c-knof Oct 13, 2026
a9a15e9
Table: Serve the translations from PO files
c-knof Oct 13, 2026
9a1143e
Tagging: Serve the translations from PO files
c-knof Oct 13, 2026
edf83d4
Tasks: Serve the translations from PO files
c-knof Oct 13, 2026
105e83c
Taxonomy: Serve the translations from PO files
c-knof Oct 13, 2026
0df5a51
Test: Serve the translations from PO files
c-knof Oct 13, 2026
a710990
TestQuestionPool: Serve the translations from PO files
c-knof Oct 13, 2026
0b15454
UI: Serve the translations from PO files
c-knof Oct 13, 2026
fb25679
User: Serve the translations from PO files
c-knof Oct 13, 2026
e4c9cf5
WOPI: Serve the translations from PO files
c-knof Oct 13, 2026
909dd72
WebServices: Serve the translations from PO files
c-knof Oct 13, 2026
9bf73ab
WorkspaceFolder: Serve the translations from PO files
c-knof Oct 13, 2026
0114080
Language: Test that every module contributed in PO files is complete
c-knof Oct 13, 2026
0ce35bc
AdministrativeNotification: Serve the translations from PO files
c-knof Oct 15, 2026
9738268
Badge: Serve the translations from PO files
c-knof Oct 15, 2026
7b24090
Blog: Serve the translations from PO files
c-knof Oct 15, 2026
261846f
BookingManager: Serve the translations from PO files
c-knof Oct 15, 2026
d17472e
Calendar: Serve the translations from PO files
c-knof Oct 15, 2026
f4c7233
Category: Serve the translations from PO files
c-knof Oct 15, 2026
5f93193
Certificate: Serve the translations from PO files
c-knof Oct 15, 2026
7e3d3f9
Chatroom: Serve the translations from PO files
c-knof Oct 15, 2026
659b5ec
Container: Serve the translations from PO files
c-knof Oct 15, 2026
064a3f0
ContentPage: Serve the translations from PO files
c-knof Oct 15, 2026
e08a062
Course: Serve the translations from PO files
c-knof Oct 15, 2026
1bcb0d8
Dashboard: Serve the translations from PO files
c-knof Oct 15, 2026
1cf17f8
EmployeeTalk: Serve the translations from PO files
c-knof Oct 15, 2026
7e665d8
Exercise: Serve the translations from PO files
c-knof Oct 15, 2026
75e2337
File: Serve the translations from PO files
c-knof Oct 15, 2026
ef1e574
Folder: Serve the translations from PO files
c-knof Oct 15, 2026
d237dd2
Form: Serve the translations from PO files
c-knof Oct 15, 2026
06c898a
Glossary: Serve the translations from PO files
c-knof Oct 15, 2026
6109bd3
ILIASObject: Serve the translations from PO files
c-knof Oct 15, 2026
b0c2192
IndividualAssessment: Serve the translations from PO files
c-knof Oct 15, 2026
749d22c
ItemGroup: Serve the translations from PO files
c-knof Oct 15, 2026
fc2bace
LearningModule: Serve the translations from PO files
c-knof Oct 15, 2026
55a44f6
LearningSequence: Serve the translations from PO files
c-knof Oct 27, 2026
9a903db
Mail: Serve the translations from PO files
c-knof Oct 15, 2026
e9af1d6
MediaCast: Serve the translations from PO files
c-knof Oct 15, 2026
0c7b476
Membership: Serve the translations from PO files
c-knof Oct 15, 2026
e54da34
News: Serve the translations from PO files
c-knof Oct 27, 2026
914e81e
Notifications: Serve the translations from PO files
c-knof Oct 15, 2026
3be4f92
PersonalWorkspace: Serve the translations from PO files
c-knof Oct 15, 2026
2637006
Portfolio: Serve the translations from PO files
c-knof Oct 15, 2026
b7cc30b
PrivacySecurity: Serve the translations from PO files
c-knof Oct 15, 2026
3fdf5b7
Refinery: Serve the translations from PO files
c-knof Oct 15, 2026
c0503fa
Session: Serve the translations from PO files
c-knof Oct 15, 2026
3f5202d
Style: Serve the translations from PO files
c-knof Oct 15, 2026
a5be514
Tracking: Serve the translations from PO files
c-knof Oct 15, 2026
7c35056
User: Serve the translations from PO files
c-knof Oct 15, 2026
ee9ea28
WebResource: Serve the translations from PO files
c-knof Oct 15, 2026
6cf169b
Wiki: Serve the translations from PO files
c-knof Oct 15, 2026
268dc37
AccessControl: Serve the translations from PO files
c-knof Oct 16, 2026
e097051
Bibliographic: Serve the translations from PO files
c-knof Oct 16, 2026
3beb085
Calendar: Serve the translations from PO files
c-knof Oct 27, 2026
719dd3e
CmiXapi: Serve the translations from PO files
c-knof Oct 16, 2026
f709456
Course: Serve the translations from PO files
c-knof Oct 16, 2026
294c52c
DataCollection: Serve the translations from PO files
c-knof Oct 27, 2026
0359142
Forum: Serve the translations from PO files
c-knof Oct 16, 2026
bc963df
GlobalScreen: Serve the translations from PO files
c-knof Oct 16, 2026
ab09a48
Group: Serve the translations from PO files
c-knof Oct 16, 2026
91d8adb
Logging: Serve the translations from PO files
c-knof Oct 16, 2026
cab13f6
OrgUnit: Serve the translations from PO files
c-knof Oct 16, 2026
df1926e
Repository: Serve the translations from PO files
c-knof Oct 16, 2026
1e0112c
ResourceStorage: Serve the translations from PO files
c-knof Oct 16, 2026
6e4d4d0
Search: Serve the translations from PO files
c-knof Oct 16, 2026
13f6956
StudyProgramme: Serve the translations from PO files
c-knof Oct 16, 2026
fa45fdd
Survey: Serve the translations from PO files
c-knof Oct 16, 2026
fc9dbd4
Language: Move the Hungarian texts of `rpc_pdf_*` to the module `common`
c-knof Oct 16, 2026
6afb2c6
Administration: Serve the translations from PO files
c-knof Oct 16, 2026
b484822
MetaData: Serve the translations from PO files
c-knof Oct 16, 2026
ce6c122
Administration: Name the PO files in the help text of merging local c…
c-knof Oct 22, 2026
31d75b2
Language: Remove the modules no code uses from the global language files
c-knof Oct 16, 2026
2d5c0b8
Administration: Serve the translations from PO files
c-knof Oct 16, 2026
a4b963b
Authentication: Serve the translations from PO files
c-knof Oct 16, 2026
f986088
BackgroundTasks: Serve the translations from PO files
c-knof Oct 16, 2026
8e1a11d
COPage: Serve the translations from PO files
c-knof Oct 16, 2026
c234457
Dashboard: Serve the translations from PO files
c-knof Oct 16, 2026
33a6910
LTI: Serve the translations from PO files
c-knof Oct 23, 2026
ff2c3da
MainMenu: Serve the translations from PO files
c-knof Oct 16, 2026
2d7592a
Membership: Serve the translations from PO files
c-knof Oct 16, 2026
00dc9e1
Notifications: Serve the translations from PO files
c-knof Oct 16, 2026
f591e7b
Scorm2004: Serve the translations from PO files
c-knof Oct 16, 2026
3b4c08d
ScormAicc: Serve the translations from PO files
c-knof Oct 16, 2026
919c0d7
Test: Serve the translations from PO files
c-knof Oct 16, 2026
67dae1a
Language: Serve the translations of `common` from PO files
c-knof Oct 16, 2026
05bb6b5
Language: Describe the gettext files in docs/development/language.md
c-knof Oct 16, 2026
d4cb5d3
Language: Remove the unused text `lang_refresh_confirm`
c-knof Oct 22, 2026
84f57de
Certificate: Mark the user language as installed in ilCertificateDate…
c-knof Oct 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@
/db_template_writer.php
/components/ILIAS/Database/sql/dbupdate_custom.php
/install_client.php
/lang/customizing/*.po
/lang/customizing/ilias_*.lang

# Directories
/public
Expand Down
6 changes: 6 additions & 0 deletions components/ILIAS/AccessControl/AccessControl.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@
use ILIAS\AccessControl\Object\ObjectDefinitionAccessProxy;
use ILIAS\Database\Connection;
use ILIAS\HTTP\GlobalHttpState;
use ILIAS\Language\ComponentTranslation\LanguageFileDirectory;
use ILIAS\Language\ComponentTranslation\ComponentLanguageFileDirectory;

class AccessControl implements Component\Component
{
Expand Down Expand Up @@ -101,5 +103,9 @@ public function init(
);
$contribute[Component\Resource\PublicAsset::class] = fn() =>
new Component\Resource\ComponentJS($this, "ilPermSelect.js");
$contribute[LanguageFileDirectory::class] = fn() => new ComponentLanguageFileDirectory(
$this,
'rbac'
);
}
}
Loading
Loading