Description
OpenLang is a free WordPress translation plugin for creating multilingual websites with manual translation control and optional hosted AI translation.
It discovers visible frontend text at runtime, lets administrators manage translations in WordPress, and serves language-specific URLs without requiring a separate WordPress page for every language. Visitors can switch languages from the frontend while OpenLang uses locally stored translation data and caching for efficient repeat delivery.
Use OpenLang when you need a multilingual WordPress plugin with translation management, a language switcher, RTL support, per-language typography, language-specific logos, CSV tools, and optional automatic translation. All features included in this package are available without a license key.
WordPress Translation and Multilingual Features
- Runtime discovery of visible frontend text and common translatable attributes.
- Manual translation editing and string management.
- Optional hosted AI translation, disabled by default.
- Multiple enabled languages with a configurable default language.
- Language-specific URLs with browser-history handling.
- Frontend language switcher with persistent local translation caching.
- RTL and LTR direction support.
- Translation coverage, runtime activity, analytics, and system status.
- Elementor language-switcher integration.
- Per-language typography for body text, headings, navigation, buttons, forms, and blockquotes.
- Google Fonts, system fonts, and administrator-uploaded WOFF, WOFF2, TTF, and OTF webfonts.
- Per-language website-logo overrides.
- CSV translation import and export.
- Per-language Custom CSS and Custom JavaScript with generated frontend files.
Manual Translation or Optional AI Translation
OpenLang works locally for manual translation management. Administrators can discover frontend strings, review them, and edit translations without enabling an external translation service.
Hosted AI translation is optional. When enabled under OpenLang > Settings, OpenLang can send missing source strings to the managed translation service, receive translated text, and store translations for use on the website.
Multilingual URLs, Language Switcher, and RTL
OpenLang serves language-specific URLs for enabled languages and includes frontend language switching. It supports both RTL and LTR layouts and remembers locally cached translation data for repeated delivery.
Per-Language Design Controls
Each language can use its own typography, system or Google Fonts, uploaded webfonts, website logo, Custom CSS, and Custom JavaScript. Generated code files are stored under wp-content/uploads/vynlang/assets/.
The WordPress plugin folder/slug, text domain, option keys, database tables, REST namespace, JavaScript compatibility names, and other internal identifiers remain vynlang to preserve upgrade compatibility with existing installations.
Privacy and External Services
OpenLang works locally for manual translation management. Hosted automatic translation is optional, disabled by default, and must be enabled by an administrator under OpenLang > Settings.
When enabled and missing strings need translation, OpenLang can send requests to:
https://vynatics.corsysltd.com/server/api/translate
A translation request can include source and target language codes, source strings and their MD5 dictionary hashes, the site URL and an MD5 hash of the site URL, and OpenLang and WordPress version numbers.
This build has no license activation system and does not require or transmit an OpenLang license key.
The public OpenLang REST dictionary endpoint is read-only. It returns locally stored translations and language assets; it does not call the hosted service and does not write translations to the database.
If automatic translation is enabled and a visitor requests a language whose current page still contains untranslated strings, OpenLang uses the normal language URL so translation can occur through the server-side page-rendering workflow.
If an administrator selects a Google Font, the visitor’s browser may load resources from https://fonts.googleapis.com and https://fonts.gstatic.com. Standard request information such as IP address, user agent, and requested font resource may therefore be sent to Google.
Google Privacy Policy: https://policies.google.com/privacy
Google Terms: https://policies.google.com/terms
Service provider: Vynatics
Privacy policy: https://vynatics.corsysltd.com/openlang/privacy-policy.html
Terms: https://vynatics.corsysltd.com/openlang/terms-of-service.html
Support: d.laeeq@corsysltd.com
Security
- Administrative data-changing actions require WordPress capability checks and nonces.
- The public translation REST endpoint is read-only and accepts only bounded, validated MD5 hash lookups.
- Managed translation requests require HTTPS and use WordPress safe HTTP requests with redirects disabled.
- Custom webfont upload MIME types are enabled only for administrators who can upload files.
- CSV import is administrator-only, nonce-protected, limited to CSV files up to 10 MB, and does not execute uploaded content.
- CSV exports neutralize leading spreadsheet-formula characters in human-entered text fields.
- Custom code changes are administrator-only and nonce-protected; unfiltered JavaScript editing respects WordPress’s
unfiltered_htmlcapability.
Installation
- Install OpenLang from WordPress or upload the
vynlangplugin folder / ZIP. - Activate
OpenLang - AI Language Translator. - Open OpenLang > Languages and enable the languages you need.
- Open OpenLang > Translations to review or edit detected strings.
- Optionally enable hosted automatic translation under OpenLang > Settings.
- Optionally configure Typography and Website Logo overrides for each language.
- Use OpenLang > Custom CSS / JS for language-specific frontend code.
FAQ
-
What is OpenLang?
-
OpenLang is a WordPress translation plugin for multilingual websites. It combines runtime string discovery, manual translation management, optional hosted AI translation, language-specific URLs, RTL support, caching, a frontend language switcher, typography, logos, CSV tools, and per-language CSS and JavaScript.
-
Is OpenLang free?
-
Yes. All features shipped in this package are available without license activation.
-
Can I translate WordPress manually?
-
Yes. OpenLang discovers visible frontend strings and lets administrators review and edit translations manually from the WordPress admin area.
-
Does OpenLang support automatic AI translation?
-
Yes. Hosted AI translation is optional and disabled by default. An administrator must explicitly enable it under OpenLang > Settings.
-
Is automatic translation required?
-
No. Manual translation management works locally without automatic translation.
-
Does OpenLang create a separate page for every language?
-
No. OpenLang serves language-specific URLs and translations without requiring a separate WordPress page for every language.
-
Does OpenLang include a language switcher?
-
Yes. OpenLang includes frontend language switching and an Elementor language-switcher integration.
-
Does OpenLang support RTL languages?
-
Yes. OpenLang supports RTL and LTR direction handling.
-
Can each language use different fonts or logos?
-
Yes. OpenLang supports per-language typography, uploaded webfonts, and website-logo overrides.
-
Can I import and export translations with CSV?
-
Yes. Administrators can import and export translation data using CSV files.
-
How are Custom CSS and JavaScript loaded?
-
OpenLang generates per-language files such as
wp-content/uploads/vynlang/assets/css/en.cssandwp-content/uploads/vynlang/assets/js/en.js, loads the active language files on server-rendered pages, and can swap them during frontend language switching. -
Does the OpenLang rebrand change the plugin slug?
-
No. Compatibility identifiers remain
vynlangso existing installations can upgrade without a data migration.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“OpenLang – AI Translation for Multilingual Websites” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “OpenLang – AI Translation for Multilingual Websites” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.8.7
- Changed Custom CSS and Custom JavaScript from site-wide code to per-language assets.
- Added per-language CSS/JS storage, language switching in the editor, DOM-ready and document-head JavaScript options, AJAX load/save/reset, and unsaved-change protection.
- Generate cache-busted files under
wp-content/uploads/vynlang/assets/css/{language}.cssandwp-content/uploads/vynlang/assets/js/{language}.js. - Enqueue generated files only for the active server-rendered language and dynamically replace them during client-side language switching.
- Preserve 2.8.6 site-wide custom code by migrating it into the default language on upgrade.
- Kept custom-code changes nonce/capability protected and retained WordPress
unfiltered_htmlenforcement for JavaScript editing.



