Hello there 
I updated to Icinga Web 2 2.7.0.
I previously had to rename some entries in the dashboard.ini files due to the translation issue.
When I now run the command line from the upgrading docs I get an error:
icingacli migrate dashboard sections --verbose
Migrating dashboard config: /etc/icingaweb2/dashboards/username/dashboard.ini
ERROR: Icinga\Exception\IcingaException in /usr/share/php/Icinga/Util/Translator.php:181 with message: Cannot set locale 'ar_SA' for category 'LC_ALL'
Locales look like this:
# locale
LANG=de_DE.UTF-8
LANGUAGE=
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
Tried setting the LC_ALL variable to de_DE.UTF-8 with export LC_ALL="de_DE.UTF-8" but that didn’t help.
Contents of the dashboard.ini
# cat /etc/icingaweb2/dashboards/username/dashboard.ini
[Aktuelle Vorfälle.Checks xyz-Dienste]
url = "monitoring/list/services?(service=%2ABusiness%2A|service_display_name=%2ABusiness%2A)"
title = "Checks xyz-Dienste"
[xyz-Dienste]
title = "xyz-Dienste"
[xyz-Dienste.Internet-FR]
url = "businessprocess/process/show?config=Internet%20Connectivity%20Dort"
title = "Internet-FR"
[xyz-Dienste.E-Mail]
url = "businessprocess/process/show?config=E-Mail"
title = "E-Mail"
[xyz-Dienste.Citrix]
url = "businessprocess/process/show?config=Citrix"
title = "Citrix"
[xyz-Dienste.LAN-FR]
url = "businessprocess/process/show?config=Core%20Infrastruktur%20Dort"
title = "LAN-FR"
[xyz-Dienste.LAN-OL]
url = "businessprocess/process/show?config=Core%20Infrastruktur%20Hier"
title = "LAN-OL"
[xyz-Dienste.Internet-OL]
url = "businessprocess/process/show?config=Internet%20Connectivity%20Hier"
title = "Internet-OL"
[xyz-Dienste.Serverinfrastruktur-FR]
url = "businessprocess/process/show?config=Server%20Infrastruktur%20Dort"
title = "Serverinfrastruktur-FR"
[xyz-Dienste.Serverinfrastruktur-OL]
url = "businessprocess/process/show?config=Server%20Infrastruktur%20Hier"
title = "Serverinfrastruktur-OL"
[xyz-Dienste.SQl-Server]
url = "businessprocess/process/show?config=SQL%20Server"
title = "SQl-Server"
[xyz-Dienste.Ticketsystem]
url = "businessprocess/process/show?config=Ticket%20System"
title = "Ticketsystem"
[xyz-Dienste.Telefonie]
url = "businessprocess/process/show?config=Telefonie"
title = "Telefonie"
[xyz-Dienste.VPN-Verbindung xyz-OPS fĂĽr Kunden-VPN]
url = "businessprocess/process/show?config=VPNs%20Dort"
title = "VPN-Verbindung xyz-OPS fĂĽr Kunden-VPN"
[xyz-Dienste.Support-xyz-OPS]
url = "businessprocess/process/show?config=Support-Umgebung%20xyz-OPS"
title = "Support-xyz-OPS"
[xyz-Dienste.Serverinfrastruktur-UC]
url = "businessprocess/process/show?config=Server%20Infrastruktur%20UC"
title = "Serverinfrastruktur-UC"
The “problematic” script part is:
/**
* Set the locale to use
*
* @param string $localeName The name of the locale to use
*
* @throws IcingaException In case the locale's name is invalid
*/
public static function setupLocale($localeName)
{
if (setlocale(LC_ALL, $localeName . '.UTF-8') === false && setlocale(LC_ALL, $localeName) === false) {
setlocale(LC_ALL, 'C'); // C == "use whatever is hardcoded"
if ($localeName !== self::DEFAULT_LOCALE) {
throw new IcingaException(
'Cannot set locale \'%s\' for category \'LC_ALL\'',
$localeName
);
}
} else {
$locale = setlocale(LC_ALL, 0);
putenv('LC_ALL=' . $locale); // Failsafe, Win and Unix
putenv('LANG=' . $locale); // Windows fix, untested
// https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html
putenv('LANGUAGE=' . $localeName . ':' . getenv('LANGUAGE'));
}
}
Anyone has an idea what the problem is?




