{"adoption": {"forks": 51, "observed_at": "2026-08-28T04:03:16.081291+00:00", "stars": 1022}, "canonical_url": "https://ross.abutalabs.com/products/stringz", "card": {"archived": false, "artifact_type": "application", "description": "A lightweight and powerful editor for localizing iOS, macOS, tvOS, and watchOS applications.", "domain": ["apple-ecosystem", "developer-tools", "cross-platform"], "enriched": true, "function": ["editor", "internationalization", "developer-tools"], "health_score": 20, "homepage": "https://github.com/mohakapt/Stringz", "language": "Swift", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["heysem-useinsider/Stringz"], "name": "heysem-useinsider/Stringz", "platform": [], "pushed_at": "2024-03-03T06:49:35+00:00", "repo": "heysem-useinsider/Stringz", "stars": 1022, "tags": ["localization-editor", "strings-files", "xcode", "ios-localization", "translation-management", "storyboard", "info-plist", "localization", "macos", "desktop"], "topics": ["localization", "localization-tool", "internationalization", "translation", "ios-localization", "macos-localization", "strings", "localization-editor", "strings-editor", "macos", "ios", "tvos", "watchos", "macos-app", "xcode", "language", "language-translation"], "urls": [], "use_cases": ["edit .strings files for my iOS app without touching Xcode", "find missing translations across languages in my Xcode project", "extract localizable strings from storyboards and xibs", "translate my app name and permission descriptions in Info.plist", "add a new language to an existing Xcode project", "manage localization for tvOS and watchOS apps", "spot duplicate values in my strings files"], "what_it_is": "Stringz is a native macOS application that provides a visual editor for localizing Xcode projects targeting iOS, macOS, tvOS, and watchOS. It automatically discovers .strings, .storyboard, .xib, and Info.plist files and displays translations side by side while highlighting missing values.", "when_to_avoid": ["you localize Android, web, or non-Apple applications", "you need machine translation or translation-service integration", "you want a cross-platform or command-line localization tool", "you need team collaboration or cloud-based translation management"], "when_to_choose": ["you develop Apple-platform apps with Xcode and need a dedicated localization editor", "you want automatic discovery of all localizable files in a project", "you need to localize strings embedded in storyboards and xibs", "you prefer a native Mac GUI over editing .strings files by hand"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/stringz", "repo": "heysem-useinsider/Stringz", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.081291+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:08:44.393888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7254e1c71efaaedbce5318f65f0740f51d6a08fecfd6068275aa2bde9cbfc1bf", "fetched_at": "2026-08-28T04:03:16.081291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/heysem-useinsider/Stringz"}, {"content_hash": "4fcd2cc2d9bae9b5a9efcd7223adc52dfd32ba30c3e621e925eba8b16ad9ed36", "fetched_at": "2026-08-29T13:08:53.562587+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/mohakapt/Stringz"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.081291+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:08:44.393888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7254e1c71efaaedbce5318f65f0740f51d6a08fecfd6068275aa2bde9cbfc1bf", "fetched_at": "2026-08-28T04:03:16.081291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/heysem-useinsider/Stringz"}, {"content_hash": "4fcd2cc2d9bae9b5a9efcd7223adc52dfd32ba30c3e621e925eba8b16ad9ed36", "fetched_at": "2026-08-29T13:08:53.562587+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/mohakapt/Stringz"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:08:44.393888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7254e1c71efaaedbce5318f65f0740f51d6a08fecfd6068275aa2bde9cbfc1bf", "fetched_at": "2026-08-28T04:03:16.081291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/heysem-useinsider/Stringz"}, {"content_hash": "4fcd2cc2d9bae9b5a9efcd7223adc52dfd32ba30c3e621e925eba8b16ad9ed36", "fetched_at": "2026-08-29T13:08:53.562587+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/mohakapt/Stringz"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.081291+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.081291+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.081291+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:08:44.393888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7254e1c71efaaedbce5318f65f0740f51d6a08fecfd6068275aa2bde9cbfc1bf", "fetched_at": "2026-08-28T04:03:16.081291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/heysem-useinsider/Stringz"}, {"content_hash": "4fcd2cc2d9bae9b5a9efcd7223adc52dfd32ba30c3e621e925eba8b16ad9ed36", "fetched_at": "2026-08-29T13:08:53.562587+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/mohakapt/Stringz"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.081291+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.081291+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:08:44.393888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7254e1c71efaaedbce5318f65f0740f51d6a08fecfd6068275aa2bde9cbfc1bf", "fetched_at": "2026-08-28T04:03:16.081291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/heysem-useinsider/Stringz"}, {"content_hash": "4fcd2cc2d9bae9b5a9efcd7223adc52dfd32ba30c3e621e925eba8b16ad9ed36", "fetched_at": "2026-08-29T13:08:53.562587+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/mohakapt/Stringz"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.081291+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.081291+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.081291+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:08:44.393888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7254e1c71efaaedbce5318f65f0740f51d6a08fecfd6068275aa2bde9cbfc1bf", "fetched_at": "2026-08-28T04:03:16.081291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/heysem-useinsider/Stringz"}, {"content_hash": "4fcd2cc2d9bae9b5a9efcd7223adc52dfd32ba30c3e621e925eba8b16ad9ed36", "fetched_at": "2026-08-29T13:08:53.562587+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/mohakapt/Stringz"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.081291+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:16.081291+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:08:44.393888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7254e1c71efaaedbce5318f65f0740f51d6a08fecfd6068275aa2bde9cbfc1bf", "fetched_at": "2026-08-28T04:03:16.081291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/heysem-useinsider/Stringz"}, {"content_hash": "4fcd2cc2d9bae9b5a9efcd7223adc52dfd32ba30c3e621e925eba8b16ad9ed36", "fetched_at": "2026-08-29T13:08:53.562587+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/mohakapt/Stringz"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:08:44.393888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7254e1c71efaaedbce5318f65f0740f51d6a08fecfd6068275aa2bde9cbfc1bf", "fetched_at": "2026-08-28T04:03:16.081291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/heysem-useinsider/Stringz"}, {"content_hash": "4fcd2cc2d9bae9b5a9efcd7223adc52dfd32ba30c3e621e925eba8b16ad9ed36", "fetched_at": "2026-08-29T13:08:53.562587+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/mohakapt/Stringz"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:08:44.393888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7254e1c71efaaedbce5318f65f0740f51d6a08fecfd6068275aa2bde9cbfc1bf", "fetched_at": "2026-08-28T04:03:16.081291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/heysem-useinsider/Stringz"}, {"content_hash": "4fcd2cc2d9bae9b5a9efcd7223adc52dfd32ba30c3e621e925eba8b16ad9ed36", "fetched_at": "2026-08-29T13:08:53.562587+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/mohakapt/Stringz"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:08:44.393888+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7254e1c71efaaedbce5318f65f0740f51d6a08fecfd6068275aa2bde9cbfc1bf", "fetched_at": "2026-08-28T04:03:16.081291+00:00", "kind": "readme", "missing": false, "url": "https://github.com/heysem-useinsider/Stringz"}, {"content_hash": "4fcd2cc2d9bae9b5a9efcd7223adc52dfd32ba30c3e621e925eba8b16ad9ed36", "fetched_at": "2026-08-29T13:08:53.562587+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/mohakapt/Stringz"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2084, "days_push": 913, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}