iLocalize and Base Internationalization

120 views
Skip to first unread message

Ulf Dunkel

unread,
Jun 21, 2013, 6:20:00 AM6/21/13
to iloc...@googlegroups.com
Hi Jean et al.

We're all facing the introduced Base Internationalization (BI) method in
Xcode's current versions. iLocalize in its current version isn't really
able to handle it properly. Here are my investigations and suggestions:

Developers who want to switch to BI, can do this really easily in Xcode.
The resulting resources are managed like this:

Base.lproj:
- Contains only XIB files for the chosen base language (e.g. English).

<ISO>.lproj folders:
- Contain only .strings files and other supporting resources except XIB
files, even for the base language.
- The .strings files derive from the XIB files in the Base.lproj folder.

When Xcode builds an app, it creates the relevant Resources folder with
at least the Base.lproj folder (now containing NIBs for runtime reasons)
plus the base language's .lproj folder which contains all relevant
resources files.

Using BI, the app is automatically able to populate the only existing
NIB files on launch with the selected or available language strings.

This much is easy going for both developers and users.


Now we talk about localizers and iLocalize:

Apple promotes both Auto-Layout and Base Internationalization as best
practice for doing perfect localization. But they forget how localizers
work. I have already experienced that developers send an non-localized
app version plus a de.lproj folder for my localization work, containing
only .strings files. Just a blind flight, a nightmare.

We localizers should be able to do parts of the localization, then
immediately run the partly localized app, check our localization and
adjust things. (Even with better layout support through auto-layout,
this part cannot be done by Xcode.)

Here is what iLocalize should be able to support:

- When the app is loaded, iLocalize should be able and recognize the BI
method by finding the Base.lproj folder.
- It should then import its NIBs and create relevant copies of those
NIBs for the found languages.
- It should then import the .strings files for the relevant languages
and re-populate the loaded / created NIBs with those localized strings.
- ONLY if a .strings file has no corresponding NIB file, it should be
passed through into the project for access.
- All other .strings files should not be imported into the project,
avoiding doubled strings in both the NIB and the .strings file. (To be
discussed.)

This way, a setting is available where localizers can proceed on the
NIBs and remaining .strings and other resources.

When done, iLocalize should export the whole stuff as follows:

a) in App mode, it should re-create the Base.lproj folder, copy the base
language's NIBs into it and create the other .lproj folders with all
relevant non-XIB files, just to rebuild the previously imported runnable
app.

b) in Resources mode, it should export the Base.lproj folder's NIBs as
XIB files, and create the other .lproj folders as described in a).

Seems possible. :-)

---Ulf Dunkel
MyApp_OSX10.7_BaseInternationalization.png

Chris Forsythe

unread,
Jun 21, 2013, 12:39:21 PM6/21/13
to iloc...@googlegroups.com
We definitely are only going to ship on xib and then a strings file per language, just to talk to a specific usage. I know of a lot of devs switching to this model.


-- 
Chris Forsythe
--
You received this message because you are subscribed to the Google Groups "iLocalize" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ilocalize+...@googlegroups.com.
To post to this group, send email to iloc...@googlegroups.com.

Attachments:
- MyApp_OSX10.7_BaseInternationalization.png

Ulf Dunkel

unread,
Jun 29, 2013, 1:37:10 AM6/29/13
to iloc...@googlegroups.com
Hi Chris.

Thank you for your statement about your strategies. And how should
localizers then run a partly localized app on-the-fly and see where
things should be adjusted?

I know of a lot of devs who do not understand localization at all,
believing that it is just changing some strings.

- - - - -

Am 21.06.2013 18:39, schrieb Chris Forsythe:
> We definitely are only going to ship on xib and then a strings file per
> language, just to talk to a specific usage. I know of a lot of devs
> switching to this model.
>
>
> --
> Chris Forsythe
> @The_Tick <http://twitter.com/The_Tick>
>> <mailto:ilocalize+...@googlegroups.com>.
>> To post to this group, send email to iloc...@googlegroups.com
>> <mailto:iloc...@googlegroups.com>.
>> Visit this group at http://groups.google.com/group/ilocalize.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>> Attachments:
>> - MyApp_OSX10.7_BaseInternationalization.png
>
> --
> You received this message because you are subscribed to the Google
> Groups "iLocalize" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to ilocalize+...@googlegroups.com.
> To post to this group, send email to iloc...@googlegroups.com.
> Visit this group at http://groups.google.com/group/ilocalize.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

--
Bis bald / See you soon / A bientôt / Tot ziens / Ĝis revido

invers Software & DSD.net, Inh. Ulf Dunkel
dun...@icalamus.net - www.icalamus.net

iCalamus. Publish your ideas.

Pflichtangaben gem. § 37a HGB:
Sitz des Unternehmens: DE-49624 Löningen

Ulf Dunkel

unread,
Sep 24, 2014, 6:41:43 AM9/24/14
to iloc...@googlegroups.com
Hi Jean.

Did you already think about the Base Internationalization issue with
iLocalize?
The current iLocalize version 4.3.2 (4643) still does not recognize
Base.lproj folders at all.

I would like to switch to this way of managing XIB files, even to create
.app bundles for deployment with smaller MB sizes.

- - - - -

Jean Bovet

unread,
Sep 24, 2014, 9:02:51 PM9/24/14
to iloc...@googlegroups.com
Hi Ulf,

That’s a good question! I’m still evaluating what’s needed - I need to find some time to think about it and implement it. Hopefully in the upcoming weeks - sorry about that, my schedule is crazy these days.

Regards,

Jean
> --
> You received this message because you are subscribed to the Google Groups "iLocalize" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to ilocalize+...@googlegroups.com.
> To post to this group, send email to iloc...@googlegroups.com.
> Visit this group at http://groups.google.com/group/ilocalize.
> For more options, visit https://groups.google.com/d/optout.

Ulf Dunkel

unread,
Sep 25, 2014, 2:54:22 AM9/25/14
to iloc...@googlegroups.com
Hi Jean.

I have sent you an app for tests. It's that easy! :-)

- - - - -

Reply all
Reply to author
Forward
0 new messages