{"adoption": {"forks": 116, "observed_at": "2026-08-28T04:04:38.146866+00:00", "stars": 1405}, "canonical_url": "https://ross.abutalabs.com/products/bartycrouch", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Localization/I18n: Incrementally update/translate your Strings files from .swift, .h, .m(m), .storyboard or .xib files.", "domain": ["apple-ecosystem", "developer-tools"], "enriched": true, "function": ["internationalization", "cli", "developer-tools"], "health_score": 21, "homepage": null, "language": "Swift", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["FlineDev/BartyCrouch"], "name": "FlineDev/BartyCrouch", "platform": ["cli"], "pushed_at": "2024-04-05T11:31:19+00:00", "repo": "FlineDev/BartyCrouch", "stars": 1405, "tags": ["strings-files", "xcode", "machine-translation", "incremental-updates", "storyboard", "xib", "localization", "automation", "macos", "swift"], "topics": ["localization", "xib", "storyboard", "swift", "code", "machine-translation", "translation", "language", "xcode", "incremental"], "urls": [], "use_cases": ["incrementally update .strings files from Swift code changes", "auto-extract localizable strings from storyboards and xibs", "machine-translate missing translations into other languages", "warn about empty or missing translations in localization files", "keep iOS app localization in sync during builds", "manage multilingual Strings files for an Xcode project"], "what_it_is": "A Swift command-line tool that incrementally updates and translates iOS/macOS Strings files by extracting strings from .swift, .h, .m, .storyboard, and .xib files. It supports machine translation of missing entries and is now largely superseded by Xcode 15 String Catalogs.", "when_to_avoid": ["you are on Xcode 15+ and can migrate to String Catalogs, which cover most of this natively", "you need machine translation only - the author recommends TranslateKit instead", "your project is not an Apple-platform Swift/Objective-C codebase", "you need localization for web or Android projects"], "when_to_choose": []}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/bartycrouch", "repo": "FlineDev/BartyCrouch", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.146866+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:38:45.672572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e56125df2a4a5dcdb5865fe048ac88d3516f95b0211f577e7209139fab26c76", "fetched_at": "2026-08-28T04:04:38.146866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FlineDev/BartyCrouch"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.146866+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:38:45.672572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e56125df2a4a5dcdb5865fe048ac88d3516f95b0211f577e7209139fab26c76", "fetched_at": "2026-08-28T04:04:38.146866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FlineDev/BartyCrouch"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:38:45.672572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e56125df2a4a5dcdb5865fe048ac88d3516f95b0211f577e7209139fab26c76", "fetched_at": "2026-08-28T04:04:38.146866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FlineDev/BartyCrouch"}], "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:04:38.146866+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.146866+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.146866+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:38:45.672572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e56125df2a4a5dcdb5865fe048ac88d3516f95b0211f577e7209139fab26c76", "fetched_at": "2026-08-28T04:04:38.146866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FlineDev/BartyCrouch"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.146866+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.146866+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:38:45.672572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e56125df2a4a5dcdb5865fe048ac88d3516f95b0211f577e7209139fab26c76", "fetched_at": "2026-08-28T04:04:38.146866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FlineDev/BartyCrouch"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.146866+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.146866+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.146866+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:38:45.672572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e56125df2a4a5dcdb5865fe048ac88d3516f95b0211f577e7209139fab26c76", "fetched_at": "2026-08-28T04:04:38.146866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FlineDev/BartyCrouch"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.146866+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:38.146866+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:38:45.672572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e56125df2a4a5dcdb5865fe048ac88d3516f95b0211f577e7209139fab26c76", "fetched_at": "2026-08-28T04:04:38.146866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FlineDev/BartyCrouch"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:38:45.672572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e56125df2a4a5dcdb5865fe048ac88d3516f95b0211f577e7209139fab26c76", "fetched_at": "2026-08-28T04:04:38.146866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FlineDev/BartyCrouch"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:38:45.672572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e56125df2a4a5dcdb5865fe048ac88d3516f95b0211f577e7209139fab26c76", "fetched_at": "2026-08-28T04:04:38.146866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FlineDev/BartyCrouch"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:38:45.672572+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4e56125df2a4a5dcdb5865fe048ac88d3516f95b0211f577e7209139fab26c76", "fetched_at": "2026-08-28T04:04:38.146866+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FlineDev/BartyCrouch"}], "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": 3853, "days_push": 880, "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}}