From dc53fdeda0ee289b86cc0976503041fc4b2c9daa Mon Sep 17 00:00:00 2001 From: Cvetan Simsic Date: Tue, 7 Feb 2017 16:04:07 +0100 Subject: [PATCH 1/3] Adding support for serbian. --- Resources/rules/serbian.json | 26 ++++++++++++++++++++++++++ tests/SlugifyTest.php | 1 + 2 files changed, 27 insertions(+) create mode 100644 Resources/rules/serbian.json diff --git a/Resources/rules/serbian.json b/Resources/rules/serbian.json new file mode 100644 index 00000000..317b8055 --- /dev/null +++ b/Resources/rules/serbian.json @@ -0,0 +1,26 @@ +{ + "ш": "s", + "ђ": "dj", + "ж": "z", + "ћ": "c", + "ч": "c", + "џ": "dz", + "њ": "nj", + "Ш": "S", + "Ђ": "Dj", + "Ж": "Z", + "Ћ": "C", + "Ч": "C", + "Џ": "Dz", + "Њ": "Nj", + "š": "s", + "đ": "dj", + "ž": "z", + "ć": "c", + "č": "c", + "Š": "S", + "Đ": "DJ", + "Ž": "Z", + "Ć": "C", + "Č": "C" +} \ No newline at end of file diff --git a/tests/SlugifyTest.php b/tests/SlugifyTest.php index 209b8bfa..8f5ea326 100644 --- a/tests/SlugifyTest.php +++ b/tests/SlugifyTest.php @@ -156,6 +156,7 @@ public function customRulesProvider() ['azerbaijani', 'Fərhad Səfərov', 'ferhad-seferov'], ['croatian', 'Č Ć Ž Š Đ č ć ž š đ', 'c-c-z-s-dj-c-c-z-s-dj'], ['danish', 'Æ æ Ø ø Å å É é', 'ae-ae-oe-oe-aa-aa-e-e'], + ['serbian', 'Š Đ Ž Ć Č š đ ž ć č Ш Ђ Ж Ћ Ч Џ Њ ш ђ ж ћ ч џ њ', 's-dj-z-c-c-s-dj-z-c-c-s-dj-z-c-c-dz-nj-s-dj-z-c-c-dz-nj'] ]; } From 38d6fd3c3fac2e8c8764a11f29b49a056882edac Mon Sep 17 00:00:00 2001 From: Cvetan Simsic Date: Tue, 7 Feb 2017 16:29:45 +0100 Subject: [PATCH 2/3] Added key in DefaultRuleProvider. --- src/RuleProvider/DefaultRuleProvider.php | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/RuleProvider/DefaultRuleProvider.php b/src/RuleProvider/DefaultRuleProvider.php index 208d6d65..c6f06fb5 100644 --- a/src/RuleProvider/DefaultRuleProvider.php +++ b/src/RuleProvider/DefaultRuleProvider.php @@ -861,6 +861,33 @@ class DefaultRuleProvider implements RuleProviderInterface 'з' => 'z', 'ж' => 'zh', ), + 'serbian' => + array ( + 'ш' => 's', + 'ђ' => 'dj', + 'ж' => 'z', + 'ћ' => 'c', + 'ч' => 'c', + 'џ' => 'dz', + 'њ' => 'nj', + 'Ш' => 'S', + 'Ђ' => 'Dj', + 'Ж' => 'Z', + 'Ћ' => 'C', + 'Ч' => 'C', + 'Џ' => 'Dz', + 'Њ' => 'Nj', + 'š' => 's', + 'đ' => 'dj', + 'ž' => 'y', + 'ć' => 'c', + 'č' => 'c', + 'Š' => 'S', + 'Đ' => 'Dj', + 'Ž' => 'Y', + 'Ć' => 'C', + 'Č' => 'C', + ), 'swedish' => array ( 'Ä' => 'A', From d2685a6bf01508d1972d28a7924dc26528630fe3 Mon Sep 17 00:00:00 2001 From: Cvetan Simsic Date: Tue, 7 Feb 2017 16:38:50 +0100 Subject: [PATCH 3/3] Fix typo in rules. --- src/RuleProvider/DefaultRuleProvider.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/RuleProvider/DefaultRuleProvider.php b/src/RuleProvider/DefaultRuleProvider.php index c6f06fb5..93b33524 100644 --- a/src/RuleProvider/DefaultRuleProvider.php +++ b/src/RuleProvider/DefaultRuleProvider.php @@ -879,12 +879,12 @@ class DefaultRuleProvider implements RuleProviderInterface 'Њ' => 'Nj', 'š' => 's', 'đ' => 'dj', - 'ž' => 'y', + 'ž' => 'z', 'ć' => 'c', 'č' => 'c', 'Š' => 'S', 'Đ' => 'Dj', - 'Ž' => 'Y', + 'Ž' => 'Z', 'Ć' => 'C', 'Č' => 'C', ),