Language customization error error/Unable to find the filename for the component...

Language customization error error/Unable to find the filename for the component...

ved Simon Brigadenko -
Antal besvarelser: 8

Good day!

We updated our LMS from moodle 3.7.2 to 3.9+ according to upgrade guide recommendations, then we update all installed language packs via Administration> Site administration> Language> Language packs

And we have 2 problems:

1) the some strings of language customization that we saved in moodle 3.7 were lost

2) When saving strings of language customization, an error occurs: "error / Unable to find the filename for the component block_course_overview" while the "block_course_overview" block has never been set (neither in 3.7 nor in 3.9).


Could you please explain what we have done wrong when updating?

Only clearing (truncate) of the `tool_customlang_components` and `tool_customlang` tables has helped.

Gennemsnitsbedømmelse: -
I svar til Simon Brigadenko

Re: Language customization error error/Unable to find the filename for the component...

ved lucas Rodrigues -

I have the same problem! Did you manage to find a way Simon?

Can anyone help us?


error / Unable to find the filename for the component block_participants

I turned on the debug, but did not bring any information. I don't even know which block is this block_participants.

thanks

I svar til lucas Rodrigues

Re: Language customization error error/Unable to find the filename for the component...

ved Simon Brigadenko -

Good afternoon!

Unfortunately, only clearing of the tables has helped. Make a backup of tables beforehand.

I svar til Simon Brigadenko

Re: Language customization error error/Unable to find the filename for the component...

ved Šimon Zajíček -

I did find what causes this issue, there for a way how to resolve. The problem how I understand it is, when you modify your language package for a module or plugin which do not exists in the newer version. In My case it was block community…

 

For the solution use this MySQL query to find all altered string. Put in your Database management system (adminer,phpMyAdmin…)

SELECT s.*, c.name AS component

                  FROM mdl_tool_customlang s

                  JOIN mdl_tool_customlang_components c ON s.componentid = c.id

                 WHERE s.local IS NOT NULL OR s.modified = 1

              ORDER BY componentid, stringid 

Look for id of a record with component which is stated in the error message (in your case block_course_overview). Then find the id in table mdl_tool_customlang

For this record/records set the master to NULL and modified to 0 and you are good to go.

And yes some string were lost in my case too, but after this you and alter it 😊 Hope this helps.

 



Gennemsnitsbedømmelse:Useful (5)
I svar til Šimon Zajíček

Re: Language customization error error/Unable to find the filename for the component...

ved Christos Rodosthenous -
Hello,

I had the same issue and I found this post. I tried the suggested solution but it did not work. I did some troubleshooting and I tried also changing the local field to NULL and not only the master. That did the trick.

For anyone interested, this is the updated query:

UPDATE mdl_tool_customlang SET master=NULL,local=NULL,modified=0 where componentid=<COMPONENTID>

Make sure to identify first the componentid using the query in the previous post.

Gennemsnitsbedømmelse:Useful (3)
I svar til Šimon Zajíček

Dette forumindlæg er fjernet.

Dette forumindlæg er fjernet og indholdet er ikke længere tilgængeligt.
I svar til Simon Brigadenko

Re: Language customization error error/Unable to find the filename for the component...

ved Dennie Walker -
In case there's anyone still struggling with this, my solution was to manually go into the DB and remove from the table mdl_tool_customlang_components the plugins that are no longer installed on my system.

Additional errors may continue to pop up indicating that there are other dead plugin components to remove, simply search for them in the above named table and delete them until you get the all clear to save your customized language strings.

Hope this is helpful.
Gennemsnitsbedømmelse:Useful (2)
I svar til Dennie Walker

Re: Language customization error error/Unable to find the filename for the component...

ved Simon Brigadenko -
Thanks for the help!
I svar til Simon Brigadenko

Re: Language customization error error/Unable to find the filename for the component...

ved Klaus Steitz -
Billede af Plugin developers Billede af Testers
There is even a more simple fix, remove all content from the table mdl_tool_customlang - it´s just a caching-table, content will be rewritten by next lang-customizing-start:
TRUNCATE TABLE mdl_tool_customlang;

Works fine with all our moodle-systems.
Credits to Andreas Grabs; Details see also:
https://tracker.moodle.org/browse/MDL-67515
Gennemsnitsbedømmelse:Useful (2)