PHPackages                             oblik/kirby-memsource - 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. oblik/kirby-memsource

ActiveKirby-plugin[Localization &amp; i18n](/categories/localization)

oblik/kirby-memsource
=====================

Kirby integration for the Phrase (formerly Memsource) TMS service.

2.0.0(3y ago)12901[5 PRs](https://github.com/oblik/kirby-memsource/pulls)MITPHPCI failing

Since Sep 24Pushed 2w ago3 watchersCompare

[ Source](https://github.com/oblik/kirby-memsource)[ Packagist](https://packagist.org/packages/oblik/kirby-memsource)[ RSS](/packages/oblik-kirby-memsource/feed)WikiDiscussions master Synced 2d ago

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

[![Memsource integration for Kirby](visual.png)](visual.png)

This plugin allows you to translate your entire site content in the powerful TMS [Memsource](https://www.memsource.com/):

- Create Memsource jobs with great control over what's exported
- Import Memsource jobs with reports for what has changed
- Great control over the exported format of fields via [kirby-walker](https://github.com/OblikStudio/kirby-walker)
- Support for the [Kirby Editor](https://github.com/getkirby/editor)

Exporting ContentImporting Translations[![export demo](export.gif)](export.gif)[![import demo](import.gif)](import.gif)**Note:** Currently does not support Kirby `3.6` and above.

Installation
------------

[](#installation)

With Composer from [oblik/kirby-memsource](https://packagist.org/packages/oblik/kirby-memsource) on Packagist:

```
composer require oblik/kirby-memsource

```

[Sign up](https://cloud.memsource.com/web/organization/signup?e=DEVELOPER) for a developer account in Memsource.

Context notes
-------------

[](#context-notes)

You can specify comments to aid translators by adding them in the blueprint:

```
fields:
    heading:
        type: text
        memsource:
            note: This is the title of the page.
```

When exported, the JSON will look like this:

```
{
    "pages": {
        "home": {
            "heading": {
                "$value": "Hello World!",
                "$note": "This is the title of the page."
            }
        }
    }
}
```

Then, you can configure Memsource's [context note functionality](https://support.phrase.com/hc/en-us/articles/5709700187292) to trigger on `$note` keys.

Settings
--------

[](#settings)

You can configure the plugin in your `site/config.php`:

```
return [
    'oblik.memsource' => [
        // settings…
    ]
];
```

### Credentials

[](#credentials)

Add your Memsource account credentials:

```
return [
    'oblik.memsource' => [
        'login' => [
            'username' => 'john',
            'password' => '1234'
        ]
    ]
];
```

### Remove `` tags

[](#remove-br-tags)

You might want to put `` to force text to break at specific positions in order to achieve a certain layout effect. This is pretty much impossible to be achieved in translations because the text will have different word length and overall length.

For this reason, you might want to remove `` tags from your exports:

```
return [
    'oblik.memsource' => [
        'walker' => [
            'removeBrTags' => true
        ]
    ]
];
```

### Dynamic context notes

[](#dynamic-context-notes)

You may generate context notes on the fly:

```
return [
    'oblik.memsource' => [
        'walker' => [
            'contextNote' => function ($value) {
                if (strpos($value, '{{ year }}') !== false) {
                    return "{{ year }} is the current calendar year.";
                }
            }
        ]
    ]
];
```

###  Health Score

42

—

FairBetter than 90% of packages

Maintenance63

Regular maintenance activity

Popularity17

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity65

Established project with proven stability

 Bus Factor1

Top contributor holds 89.9% 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 ~277 days

Total

5

Last Release

1315d ago

Major Versions

1.1.0 → 2.0.02022-10-06

### Community

Maintainers

![](https://www.gravatar.com/avatar/078077710a1481f0419521ab1e1d3e5f93723aadd56148937ee3e355b93acb2e?d=identicon)[hdodov](/maintainers/hdodov)

---

Top Contributors

[![yandodov](https://avatars.githubusercontent.com/u/5570098?v=4)](https://github.com/yandodov "yandodov (286 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (32 commits)")

---

Tags

localizationtranslationexportimportkirbykirby-plugintmsphrasememsource

### Embed Badge

![Health badge](/badges/oblik-kirby-memsource/health.svg)

```
[![Health](https://phpackages.com/badges/oblik-kirby-memsource/health.svg)](https://phpackages.com/packages/oblik-kirby-memsource)
```

###  Alternatives

[kkomelin/laravel-translatable-string-exporter

Translatable String Exporter for Laravel

3291.4M10](/packages/kkomelin-laravel-translatable-string-exporter)[ufirst/lang-import-export

A Laravel package providing artisan commands to import and export language files from and to CSV.

42207.9k](/packages/ufirst-lang-import-export)[highsolutions/laravel-lang-import-export

A Laravel package providing artisan commands to import and export language files from and to CSV.

25292.3k](/packages/highsolutions-laravel-lang-import-export)[instaclick/translation-editor-bundle

Web editor UI to manage Symfony2 translations (Symfony2 bundle)

2019.5k](/packages/instaclick-translation-editor-bundle)[inpsyde/multilingual-press

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

2414.0k1](/packages/inpsyde-multilingual-press)[johannschopplich/kirby-content-translator

DeepL &amp; AI-powered content translation for Kirby CMS

208.1k](/packages/johannschopplich-kirby-content-translator)

PHPackages © 2026

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