The Catalan translation used infinitives for buttons and menu items
("Desar", "Editar", "Eliminar"). The Softcatalà style guide, the
reference for Catalan software localisation, asks for the second
person singular imperative when the user commands the application:
"Desa", "Edita", "Elimina". Confirmation dialogs are the opposite
case, the application addressing the user, so those now read
"Voleu eliminar aquesta conversa?" rather than an imperative.
Also translates strings added in recent releases that had no Catalan
yet, among them the autoplay notice from the chat sound notifications
in 1.8.233, the fetch error threshold settings in 1.8.235 and the
password reset message that no longer reveals whether an account
exists.
159 corrected entries, 128 added.
module:migrate hands the module's migrations folder to the migrate command
after removing base_path() from it. Module::getPath() is a realpath(), so on
installations where the Modules folder is a symlink leading outside of the
application folder (a common container layout: /var/www/html/Modules ->
/data/Modules) base_path() does not occur in that path. The value stays
absolute, migrate prepends base_path() to it anyway (BaseCommand::
getMigrationPaths()), the resulting folder does not exist, and the migration
reports "Nothing to migrate" with exit code 0.
Updating a module through the Modules page then leaves the old schema in
place, because Module::updateModule() relies on freescout:module-install and
nothing reports the failure. Activating a module is not affected, as
ModulesController runs a plain migrate afterwards.
Modules now remember the path they have been scanned from, which still
contains the symlink and is therefore relative to base_path(), and the
module:migrate command builds the --path option from it. The scanned path
also travels through the modules cache, as Collection::toArray() keeps the
resolved path only. When neither path is inside the application folder the
command reports it instead of reporting success.
closes#5569