Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3875410
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 19, 20262026-05-19T22:15:51+00:00 2026-05-19T22:15:51+00:00

In general I know how to do the Localization of iOS apps, the only

  • 0

In general I know how to do the Localization of iOS apps, the only thing is to choose between available ways and do it the right way. So I’d like to ask you about your l10n approach for your projects.

Here are my inputs:

  1. I have 15 XIB files (packed with
    lots of IB outlets that are not
    synthesized as properties, but will
    have to be localized).
  2. It is most likely that that my
    app will have 3-5 language versions,
    but it is possible that I will even
    go for 10 languages in the future.
  3. In near future I plan to add new
    targets that may change UI design
    (paid/free versions).

I see two ways I could go:

Option A: localize each nib file by making XIBs localizable and adding language versions:

  1. I fear that with 15 XIBs and 3-5 languages it will be maintenance horror that will go out of my control when I’ll extend localization to ~10 languages and introduce new targets (maintenance horror is not about SCM, I’m using git btw).
  2. I’d need to keep in sync all versions of XIBs which would effect in painful change-request process.
  3. I also fear that my app bundle will grow big (currently XIBs use ~1.1 MB and translate to ~120 kB of NIB files).
  4. when I’ll decide to do iPad version, the number of XIBs will grow again.

Option B: do the localization in the code by wiring up all needed outlets synthesizing them to properties and setting their labels/titles correctly:

  1. I fear that my app memory footprint will be really big. Or, considering proper mem mgmt, should I not consider this an issue?

I’d go for 2nd option as I see less cons to it and it can allow having everything in one place under control in each view controller, but I’d like to know what would be your choice? Which way works better for you?

EDIT: I know that that ibtool could simplify the process in Plan A, but I’m still not convinced for it.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-19T22:15:51+00:00Added an answer on May 19, 2026 at 10:15 pm

    Well, I was expecting a little more feedback from SO users, but that’s fine as after some research I’ve made my own decision to abandon option B and go for a modified version of option A.

    I’ve heavily used ideas from a Compile-time approach by Philippe Casgrain. In general it uses ibtool to automatically localize nibs when building. Philippe’s approach keeps maintenance reasonably sane for now. All other strings that I use in the code are handled using NSLocalizedString approach which was quite easy to implement in my case (just used genstrings tool). The only issue that can potentially hit me in the future is adding new targets with different/modified UI layouts.

    It’s hard to say whether it was the best choice. Time will tell, so some day I’ll update the question and share with you how the decision worked out for me. Maybe someone will benefit from it in the feature 😉

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I know the general difference between value type and reference type, and I also
I would like to know if there are general rules for creating an index
I would like to know the general practice used in the industry for generating
We're writing a Python web-application, where we'd like to know general-ballpark-figures about what our
Is there a general way to know x and y with the reference is
I know good general programming blogs (like coding horror ;) ). But I want
I know in general it is a good practice to move as much processing
I want to know the General formula for Writing Regular Expression? Any article?
i just want to know a general information about this particular information. Any good
I know it is a general question but I need your recommodations about a

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.