mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-12-13 14:33:37 +08:00
6070d804f8
Updated language system to only use initial part of locale for translation pluralisation to better match the hard-coded logic of the built-in MessageSelector. Extends and overrides Laravel's default for this system. Added test to cover. Related to #3976.
20 lines
544 B
PHP
20 lines
544 B
PHP
<?php
|
|
|
|
namespace BookStack\Translation;
|
|
|
|
use Illuminate\Translation\MessageSelector as BaseClass;
|
|
|
|
/**
|
|
* This is a customization of the default Laravel MessageSelector class to tweak pluralization,
|
|
* so that is uses just the first part of the locale string to provide support with
|
|
* non-standard locales such as "de_informal".
|
|
*/
|
|
class MessageSelector extends BaseClass
|
|
{
|
|
public function getPluralIndex($locale, $number)
|
|
{
|
|
$locale = explode('_', $locale)[0];
|
|
return parent::getPluralIndex($locale, $number);
|
|
}
|
|
}
|