Base Storyboard Changes Not Reflected in Localized Storyboard - ios

I have a localized Storyboard (Base and Spanish), and I just realized that after making some changes to the storyboard it did not make the corresponding changes on the Spanish version. Some of the changes I made were button color, added a new label, etc.
Any ideas as to why this happened? I'm assuming there is a correct flow that I did not follow for making updates.

I just realized that on this particular storyboard I had a localized storyboard instead of a localized strings file for the storyboard. In this case you have to edit the two storyboards separately. What I actually wanted was a localized strings file for the storyboard instead of two storyboards.

Related

create a strings file for a custom storyboard

I am localizing my app, and I have a custom storyboard I created called Into.storyboard. When I added a language to the app, it gave me an option to create strings files for Main.storyboard and LaunchScreen.storyboard, but not for my custom storyboard. How do I create one so that it automatically fills in the object IDs like it did for the other two storyboards? Thank you
At the right side inspector you can find button localize. Press it and choose languages.
Example

Replacing Swift Storyboard with New, Imported Storyboard

Having completed the functionality in code, my app required a full redevelopment of the original interface design. That was done by another team member, in a separate project.
It seems obvious that importing the new design as a storyboard file and using that is the next step. The original storyboard has a number of segues, I'd like to just replace the UI contents of that with the contents of the new storyboard (and then reconnect everything).
I'm not sure how to do this. What's the best method?

Do I really need to add the same element twice, one for each UIStoryboard language file?

I am working in an internationalized Xcode project with two UIStoryboard files en.lproj/Main.storyboard and nl.lproj/Main.storyboard.
Is the consequence of this, that if I want to add a new element, say a UIButton to the storyboard, I have to add it twice, one for each file (and thus set the constraints etc also twice)?
This is how it looks in the navigator:
But selecting the base file actually selects the en.lproj/Main.storyboard, and after adding a button there it looks like I have to follow the same process in the other file.
Is this just the way it works?
No. The usual way is that you only have one storyboard that contains all the UI elements, constraints etc. in your "Base" language (e.g. English). For every additional language (e.g. German) you have a strings file that contains translations for all the texts (buttons, labels etc.) in your storyboard.

Localizing the Storyboard

I'm trying to localize a storyboard where the work has been done solely in the storyboard view (ie nothing has been done programmatically).
There are numerous elements like this in the storyboard and as such they do not appear in my Localizable.strings file (which does properly translate all elements, these elements have been programmatically added to the storyboard in various view controllers), however a "MainStoryboard-iPhone.strings (french)" is generated and as shown below:
contains the elements which I wish to translate.
Below is the highlighted element in the storyboard:
My question is: "How do I translate the storyboard elements using this .strings file? (there are no changes even when the text is translated in the .strings file), or is there another way to localize these storyboard elements?"
Thank you for your time.
appendix
A.

Is it possible to exclude a label in a storyboard from a generated .strings file?

I like to have some example text in storyboard labels that will be set at run-time.
This text should never be translated, and is only used to make the storyboard look more like the finished product.
I'd like to exclude that text from being in the .strings file that's generated every time I update the storyboard.
Is there any way to do that?
A way to indicate to the translator that this text isn't to be localized would be better than nothing.
You cannot exclude these labels from being in the string files, these files are an extract from the storyboard and thus need to be there.
A trick I use is to use a naming convention for these labels, so I know afterwards they don't need to be translated, for instance I would name a label "Username" -> "lbl_Username". It still looks decent enough in the Storyboard and I'm sure not to waste my time translating them when doing the localization

Resources