mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-07-28 17:02:04 +03:00
Fixed incorrect pluralisation for de_informal
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.
This commit is contained in:
19
app/Translation/MessageSelector.php
Normal file
19
app/Translation/MessageSelector.php
Normal file
@ -0,0 +1,19 @@
|
||||
<?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);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user