PHPackages                             martimiz/silverstripe-languageprefix - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. martimiz/silverstripe-languageprefix

AbandonedArchivedSilverstripe-module[Localization &amp; i18n](/categories/localization)

martimiz/silverstripe-languageprefix
====================================

Extends silverstripe-translatable to allow for (custom) language prefixes on multilingual sites.

v3.0.0(9y ago)207.9k13[1 issues](https://github.com/Martimiz/silverstripe-languageprefix/issues)BSD-3-ClausePHP

Since Jun 2Pushed 9y ago1 watchersCompare

[ Source](https://github.com/Martimiz/silverstripe-languageprefix)[ Packagist](https://packagist.org/packages/martimiz/silverstripe-languageprefix)[ Docs](https://github.com/Martimiz/silverstripe-languageprefix)[ RSS](/packages/martimiz-silverstripe-languageprefix/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (3)Versions (5)Used By (0)

LanguagePrefix module for SilverStripe CMS
==========================================

[](#languageprefix-module-for-silverstripe-cms)

- Supports SilverStripe 3.1.x +
- For SilverStripe 3.0.x use version 1.0

Introduction
------------

[](#introduction)

The Language Prefix module allows you to create links with a language prefix for multilingual websites using [SilverStripe Translatable](https://github.com/silverstripe/silverstripe-translatable). Example:

```
www.mydomain.com/en/
www.mydomain.com/nl/

```

You can easily define your own prefix format. By default the locale (en\_US, nl\_NL, ...) is used. Optionally you can leave out the prefix for the default language

Changes in this version
-----------------------

[](#changes-in-this-version)

This is a rewrite of version 2.0. The Prefix is no longer a separate url param, but is extracted from the URLSegment instead. This allows for greater flexibility - you can now optionally use urls without prefix for the default language.

- $Prefix segment is stripped from the url rule (routes.yml)
- PrefixModelAsController::handleRequest() now handles extracting the prefix from the url, and shifts the url and other params if need be
- Optionally set `disable_prefix_for_default_lang` to remove the prefix from the default language

*Note: this version should be backwards compatible with version 2.0. Please create an issue if you find any problems*

Usage
-----

[](#usage)

Setup and usage documentation: [docs/en/index.md](docs/en/index.md)

Requirements
------------

[](#requirements)

- SilverStripe Framework 3.1+ and CMS 3.1+
- SilverStripe Translatable module

Maintainers
-----------

[](#maintainers)

- Martine Bloem (martimiz at gmail dot com)

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 97.2% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~239 days

Total

4

Last Release

3644d ago

Major Versions

1.0.x-dev → 2.0.x-dev2016-04-06

v2.0.0 → v3.0.02016-05-19

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/614243?v=4)[martimiz](/maintainers/martimiz)[@Martimiz](https://github.com/Martimiz)

---

Top Contributors

[![Martimiz](https://avatars.githubusercontent.com/u/614243?v=4)](https://github.com/Martimiz "Martimiz (104 commits)")[![wernerkrauss](https://avatars.githubusercontent.com/u/1043925?v=4)](https://github.com/wernerkrauss "wernerkrauss (2 commits)")[![andreaslindahl](https://avatars.githubusercontent.com/u/239697?v=4)](https://github.com/andreaslindahl "andreaslindahl (1 commits)")

---

Tags

localizationi18nsilverstripemultilingualcmstranslatableglobalizationlanguageprefix

### Embed Badge

![Health badge](/badges/martimiz-silverstripe-languageprefix/health.svg)

```
[![Health](https://phpackages.com/badges/martimiz-silverstripe-languageprefix/health.svg)](https://phpackages.com/packages/martimiz-silverstripe-languageprefix)
```

###  Alternatives

[silverstripe/translatable

Allows translation of DataObject and SiteTree records into multiple languages

53192.0k8](/packages/silverstripe-translatable)[tractorcow/silverstripe-fluent

Simple localisation for Silverstripe

92421.6k26](/packages/tractorcow-silverstripe-fluent)[aura/intl

The Aura Intl package provides internationalization tools, specifically message translation.

898.3M4](/packages/aura-intl)[inpsyde/multilingual-press

Simply THE multisite-based free open source plugin for your multilingual websites.

2414.0k1](/packages/inpsyde-multilingual-press)[skillshare/formatphp

Internationalize PHP apps. This library provides an API to format dates, numbers, and strings, including pluralization and handling translations.

8029.6k](/packages/skillshare-formatphp)[jayesh/laravel-gemini-translator

An interactive command to extract and generate Laravel translations using Gemini AI.

691.7k1](/packages/jayesh-laravel-gemini-translator)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
