Swift
Need help with IBLocalizable?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
PiXeL16

Description

Localize your views directly in Interface Builder with IBLocalizable

462 Stars 46 Forks MIT License 67 Commits 8 Opened issues

Services available

Need anything else?

IBLocalizable

Localize your views easily in Interface Builder with IBLocalizable.

codecov.io Language CocoaPods Compatible Awesome GitHub license

With

IBLocalizable
, you can localize your views in
Interface Builder
easily. Simply 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
.

Installation

Swift package manager

Add

.Package(url: "https://github.com/PiXeL16/IBLocalizable.git",majorVersion: 1)
to your
Package.swift

CocoaPods

Add

pod 'IBLocalizable'
to your Podfile.

Carthage

Add

github "PiXeL16/IBLocalizable"
to your Cartfile.

Manual Installation

  • Please note, installation via CocoaPods or Carthage is much simpler and recommended.

Download and drop

/IBLocalizable
in your project.

Supported Views

  • UILabel
  • UIButton
  • UINavigationItem (Navigation titles)
  • UIBarItem (BarButton, TabBarItem, etc)
  • UITextField
  • UITextView
  • UISearchBar

Supporting custom views

Custom views can be supported easily. Just create an

extension
and implement the
Localizable
Protocol.

If your custom view extends from

UIView
you only need to extend your custom view and implement the
localizableProperty
.

For 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
.
import UIKit
extension MyCustomView {

public override var localizableProperty: String?{

    get{
        return self.label.text
    }
    set{
        self.label.text = newValue
    }
}

}

Thats it! :smile:.

Usage

After the package its installed simply open your

Storyboard
or
Interface Builder
. All of the supported views will show a
new
Localizable String
property.

interfaceBuilder

Since everything is extension based,

IBLocalizable
should play nice with other libraries or
pods
that you are using.

Build Performance

Since

IBLocalizable
only uses
IBInspectable
and never
IBDesignable
, your incremental builds will continue to work. (http://www.openradar.me/20690594)

Sample Project

In 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
.

English

english

Spanish

spanish

To do

  • Support more views (TableView Cells, etc)
  • Improve sample project.

Author

Chris Jimenez - http://code.chrisjimenez.net, @chrisjimeneznat

:beer: Donate

If you want to buy me a beer, you can donate to my coin addresses below:

BTC

1BeGBew4CBdLgUSmvoyiU1LrM99GpkXgkj

ETH

0xa59a3793E3Cb5f3B1AdE6887783D225EDf67192d

LTC

Ld6FB3Tqjf6B8iz9Gn9sMr7BnowAjSUXaV

License

IBLocalizable
is released under the MIT license. See LICENSE for details.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.