The lightweight content management layer for modern apps. Sync strings, translations, and copy instantly across Web, Android, and iOS — without a single rebuild or redeploy.
Your ghostly content layer is live. Drop the SDK into your <head> to begin.
Pick your platform. Be live in minutes.
Paste this script in your HTML. Replace ID with your Project ID.
<script src="https://ghoststrings.ai/sdk.js" data-project="ID"></script>
Add the data-lv attribute to bind any tag to a cloud string.
<h1 data-lv="hero_title">Default Title</h1>
Add JitPack to your project and add the SDK.
implementation("com.github.shahwaiz90:ghoststrings-android:1.4.0")
Initialize in your Application class.
GhostStrings.init(this, GhostStringsConfig(projectId = "ID"))
Wrap your root Compose content. stringResource() calls are intercepted automatically!
GhostStringsProvider {
MainScreen() // Magic happens here!
}
Add the package in Xcode via Swift Package Manager.
https://github.com/shahwaiz90/ghoststrings-ios
Initialize in your App init. NSLocalizedString is swizzled automatically!
GhostStrings.shared.initSDK(config: GhostStringsConfig(
projectId: "ID"
))
Use standard Text(LocalizedStringKey) or the .gs shorthand!
VStack {
Text("hero_title") // Intercepted!
Text("welcome_msg".gs) // Or use shorthand
}
Everything you need to know about OTA content.
data-lv attributes:
{
"hero_title": "Welcome Home",
"login_btn": "Sign In"
}
<!-- 1. Add SDK --> <script src="https://ghoststrings.ai/sdk.js" data-project="ID"></script> <!-- 2. Tag Elements --> <h1 data-lv="title">Fallback</h1>