Snel Translations WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA
★ 0stars
37release downloads
v0.10.5latest · 1mo ago
Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/laupwing/snel-translations/releases/download/v0.10.5/snel-translations.zipUpdates itself. It ships its own updater (Plugin Update Checker), so new versions appear under Dashboard → Updates.
Lightweight multilingual for WordPress. One post per language, linked by post meta — no per-language page explosion, no heavy plugin.
Structure
snel-translations.php Plugin header + boot + activation
inc/
Boot.php Loads every layer, wires the runtime (the only loader)
core/ The engine (runtime, not CRUD)
LocaleManager.php Language config + current-language detection
Router.php /en/ rewrite rules → resolve request to the sibling post
TranslationGroup.php _snel_lang / _snel_group meta, permalink + archive filters
TermTranslation.php Translated taxonomy labels (shared term)
Translator.php snel__() UI-string lookup
Rest.php REST routes only → Controller
Controller.php Validation + logic → Model / AI
Model.php $wpdb / post meta / options only
Admin.php Admin menu page + asset enqueue + data localize
helpers.php Global template functions (snel__, snel_url, …)
config/languages.php Default languages seed (NL + EN)
src/admin/translations/ React admin app (Languages / Settings / Debug)
build/ Compiled assets
Request flow
React → /wp-json/snel-translations/v1/… → Rest → Controller → Model → $wpdb
Rules
- Model never sees a request. Controller never writes SQL. Rest holds no logic.
- Core (routing/locale) is the runtime layer, separate from the REST/CRUD layers.
- Namespace:
Snel\Translations(core inSnel\Translations\Core). - REST namespace:
snel-translations/v1.
Status
Skeleton — files are stubs. Code is being ported from the theme's
inc/translations/ piece by piece.
Releases
Newest 25 of 45 recorded releases. Each count is every asset in that release; expand a row for the breakdown.