{"id":1324,"url":"https://github.com/PiXeL16/IBLocalizable","last_synced_at":"2025-08-06T13:33:03.816Z","repository":{"id":10128727,"uuid":"64523087","full_name":"PiXeL16/IBLocalizable","owner":"PiXeL16","description":"Localize your views directly in Interface Builder with IBLocalizable","archived":false,"fork":false,"pushed_at":"2022-10-05T19:21:22.000Z","size":896,"stargazers_count":459,"open_issues_count":11,"forks_count":48,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-11-28T13:16:41.062Z","etag":null,"topics":["cocoapods","interface-builder","interfacebuilder","ios","localized","translate","ui","ui-components"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PiXeL16.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-07-30T03:01:08.000Z","updated_at":"2024-10-22T12:56:40.000Z","dependencies_parsed_at":"2022-08-08T08:15:30.370Z","dependency_job_id":null,"html_url":"https://github.com/PiXeL16/IBLocalizable","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiXeL16%2FIBLocalizable","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiXeL16%2FIBLocalizable/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiXeL16%2FIBLocalizable/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PiXeL16%2FIBLocalizable/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PiXeL16","download_url":"https://codeload.github.com/PiXeL16/IBLocalizable/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228905519,"owners_count":17989779,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cocoapods","interface-builder","interfacebuilder","ios","localized","translate","ui","ui-components"],"created_at":"2024-01-05T20:15:43.838Z","updated_at":"2024-12-09T14:31:07.434Z","avatar_url":"https://github.com/PiXeL16.png","language":"Swift","funding_links":[],"categories":["Localization","Libs","Localization [🔝](#readme)","Swift"],"sub_categories":["Other Hardware","Localization","Other free courses"],"readme":"![IBLocalizable](/Web/banner.png)\n\nLocalize your views easily in Interface Builder with IBLocalizable.\n\n[![codecov.io](https://codecov.io/github/PiXeL16/IBLocalizable/coverage.svg?branch=master)](https://codecov.io/github/PiXeL16/IBLocalizable?branch=master)\n[![Language](https://img.shields.io/badge/language-Swift%204.2-orange.svg)](https://swift.org)\n[![CocoaPods Compatible](https://img.shields.io/cocoapods/v/IBLocalizable.svg)](https://img.shields.io/cocoapods/v/IBLocalizable.svg)\n[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/matteocrippa/awesome-swift)\n[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/PiXeL16/IBLocalizable/master/LICENSE)\n\nWith `IBLocalizable`, you can localize your views in `Interface Builder` easily.\nSimply set the new `Localizable String` property that shows up in Interface builder to the value that you added in your Localizable `.string file`. Most views can be localized this way `without a single line of code`.\n\n## Installation\n### [Swift package manager](https://swift.org/package-manager)\n\nAdd `.Package(url: \"https://github.com/PiXeL16/IBLocalizable.git\",majorVersion: 1)` to your `Package.swift`\n\n### [CocoaPods](https://cocoapods.org)\n\nAdd `pod 'IBLocalizable'` to your Podfile.\n\n### [Carthage](https://github.com/Carthage/Carthage)\n\nAdd `github \"PiXeL16/IBLocalizable\"` to your Cartfile.\n\n### Manual Installation\n* Please note, installation via CocoaPods or Carthage is much simpler and recommended.\n\nDownload and drop `/IBLocalizable` in your project.\n\n## Supported Views\n\n* UILabel\n* UIButton\n* UINavigationItem (Navigation titles)\n* UIBarItem (BarButton, TabBarItem, etc)\n* UITextField\n* UITextView\n* UISearchBar\n\n### Supporting custom views\nCustom views can be supported easily. Just create an `extension` and implement the `Localizable` Protocol.\n\nIf your custom view extends from `UIView` you only need to extend your custom view and implement the `localizableProperty`.\n\nFor example: lets say that I have a custom view that contains several `UILabel` and a `UIImageView`. I will like to localize one of the `UILabel`.\n\n```swift\nimport UIKit\nextension MyCustomView {\n\n    public override var localizableProperty: String?{\n\n        get{\n            return self.label.text\n        }\n        set{\n            self.label.text = newValue\n        }\n    }\n}\n```\nThats it! :smile:.\n\n## Usage\nAfter the package its installed simply open your `Storyboard` or `Interface Builder`. All of the supported views will show a `new` `Localizable String` property.\n\n\n![interfaceBuilder](/Web/interfaceBuilder.png)\n\nSince everything is extension based, `IBLocalizable` should play nice with other libraries or `pods` that you are using.\n\n### Build Performance\n\nSince `IBLocalizable` only uses `IBInspectable` and never `IBDesignable`, your incremental builds will continue to work. (http://www.openradar.me/20690594)\n\n## Sample Project\nIn the `Xcode Project` you can find a sample project of a simple `Login` view controller. All of this is automatically localizable in English and Spanish by just using `IBLocalizable`.\n### English\n![english](/Web/english.png)\n\n### Spanish\n![spanish](/Web/spanish.png)\n\n## To do\n* Support more views (TableView Cells, etc)\n* Improve sample project.\n\n## Author\nChris Jimenez - http://code.chrisjimenez.net, [@chrisjimeneznat](http://twitter.com/chrisjimeneznat)\n\n## :beer: Donate\nIf you want to buy me a beer, you can donate to my coin addresses below:\n#### BTC\n1BeGBew4CBdLgUSmvoyiU1LrM99GpkXgkj\n#### ETH\n0xa59a3793E3Cb5f3B1AdE6887783D225EDf67192d\n#### LTC\nLd6FB3Tqjf6B8iz9Gn9sMr7BnowAjSUXaV\n\n## License\n`IBLocalizable` is released under the MIT license. See [LICENSE](https://github.com/pixel16/IBLocalizable/blob/master/LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPiXeL16%2FIBLocalizable","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPiXeL16%2FIBLocalizable","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPiXeL16%2FIBLocalizable/lists"}