XCStringsEditor is an editor built with pure SwiftUI that can edit the .xcstrings localization file introduced in Xcode 15.
- macOS 14.0+
- Xcode 15.2+
- Open, edit translation and save .xcstrings file.
- Support plural variations. Plural variation should be added in Xcode before editing in XCStringsEditor.
- Support device variations. Device variation should be added in Xcode before editing in XCStringsEditor.
- Translate with Google Translate, DeepL, Baidu, or a LLM supporting OpenAI compatible Responses API. API keys must be configured in Settings.
- LLM translation supports any OpenAI-compatible endpoint (e.g. OpenAI, Azure OpenAI, vLLM, Ollama, LM Studio). Configure URL, model name, and API key in Settings → Translation Service → LLM.
- Reverse Translation. You can check the translation with reverse translation.
- Filtering
New, Translated, Modified, Needs Review, Needs Work, Translate Later, Source=Translation - Flag "Needs Work" or "Translate Later".
- Show/Hide "Needs Work" and "Translate Later" flagged items.
Requires Xcode and a macOS signing certificate configured in Xcode preferences.
make local # Build for local development (no signing cert needed)
make launch-local # Build and launch
make clean # Clean build artifactsmake test # Xcode tests (integration test is skipped by default)
make test-llm # Live LLM integration test (Responses API)Environment variables for make test-llm:
LLM_TEST_URL(default:http://127.0.0.1:1234)LLM_TEST_PATH(default:/v1/responses)LLM_TEST_MODEL(default:qwen/qwen3.6-35b-a3b)LLM_TEST_API_KEY(default: empty)
- Open with .xcodeproj file.
- Add/Remove plural variations.
- Add/Remove device variations.
- Support multiple files.
XCStringsEditor is available under the MIT license. See the LICENSE file for more info.
Pencil image on Icon: Image by xvector on Freepik
