I have a problem while localizing the application name. The problem appears when I put an special char on a localized CFBundleDisplayName attribute.
The default name is:
"CFBundleDisplayName" = "seguridad";
And the translation to portuguese:
"CFBundleDisplayName" = "Segurança";
With this configuration, the device always show the default name ("seguridad"). But when I replace the portuguese string with:
"CFBundleDisplayName" = "Seguransa";
the localized string is shown correctly.
Any help will be apreciated.
Thanks in advance.
Ok, I've found the problem. Don't know why, but the file had an incorrect encoding (I've created it using xcode). Just changed file encoding and everything works fine now.
Thanks for the responses.
When you say "the device always show" I assume you mean on the Icon?
I seem to be able to add a 'ç' to my CFBundleDisplayName just fine. As well as any other unicode characters.
I know that when you change the 'Product Name' in your Target then you have to close & reopen your project before it'll fully take effect (daft, I know). Maybe give that a try?
Related
My iPhone app can't seem to use soft keyboards that doesn't use the US-like QWERTY layout. That is when I set the keyboard to French or Germany, even text fields cannot take in text and an error message No input manager class for input mode error is shown in the console (when debugged under Xcode). Switching to the Emoji keyboard also shows the same problem. But the problem doesn't occur on QWERTY keyboard layouts, like Dutch and Indonesian keyboards.
The all cases are consistent and reproducible both the device (iPhone 4) and the iPhone simulator.
These are error messages in the Xcode's debugger console
When the keyboard is set to French:
No input manager class for input mode: fr_FR
When the keyboard is set to Germany:
No input manager class for input mode: de_DE
When the keyboard is set to Emoji:
No input manager class for input mode: emoji
My app's deployment target is iOS 3.1.3 (I'm still supporting 1st gen devices) but the development environment is Xcode 4.3.1 and iOS 5.1 Simulator. (I don't know whether this is relevant but just in case).
Anybody can help how to fix this?
Thanks in advance.
In my case, this was caused by my swizzling -[NSBundle infoDictionary] and returning a copy of the original dictionary.
I did this to be able to change info dictionary values at runtime (specifically, providing a non-shortened bundle display name to replace the shortened value used on the home screen).
The fix was to not return a copy of the info dictionary, but with some more reflection magic handle each key obtained from the dictionary:
https://github.com/Lyndir/Pearl/blob/master/Pearl/NSBundle%2BPearlMutableInfo.m
Not sure if this answer will help you but I found it from this link: http://code.google.com/p/networkpx/wiki/Creating_Keyboard_Bundles
Anyway here is what I am talking about:
Like UIKeyboardLayoutClass, this field also can be referred using the
same "=xxx" syntax. You can also write the class name of your own
input manager class here.
If this field is missing, no input managers will be used.
Hopefully this will help you!
I am displaying emoji icons i my app, it was working fine when i was using as like in the below link
Replace Emoticons
But when stored the same unicode into db, it just displays as text "\ue058"
why this is happening, please help me out
The test you have in your question is different than the text in the answer to your other question
From the answer to your previous question:
myString = [NSString stringByReplacingOccurrencesOfString:#"sad" withString:#"\ue058"];
"/ue058" != "\ue058"
That may be your issue.
Without more information about how the string is being stored in the database and how it is being displayed that is my best guess.
I use a few special uniode chars in my app, but since iOS 5 these have been replaced with emoji characters. How can I force the unicode characters to be displayed and not the emoji characters? Thanks
This is an old question but it plagued me a lot recently until I found the answer.
Just add '\U0000FE0E' after the character that we want to prevent from becoming an emoji.
For example:
#"▶" // should be written as:
#"▶\U0000FE0E"
Using the escaped unicode works as well:
#"\u25B6" // should be written as:
#"\u25B6\U0000FE0E"
We need to use Unicode variants to prevent certain characters from becoming emoji.
Here is the article that solved my problem.
Just to add to BFerer's helpful answer, I found this works similarly in Swift:
"▶\u{0000FE0E}"
There's a few mentions of this issue on Apple's private devforums (which you have access to if you're a registered member of the iOS developer program).
It sounds like the potential solution would be to explicitly set the font for whatever you're trying to display.
Use "Hiragino Mincho ProN" for the font. It worked for me, but unfortunately I had to change the insets to make things look correct. I had to add an inset to the top to place things as they were before the iOS update.
All the credit goes to Kevin Ballard who answered my post in the following discussion -
Unicode characters being drawn differently in iOS5
I am getting strange issue with localizable strings. I have added few localizable strings in en.lproj and accessing them using NSLocalizedString(localizablestringname,nil);
The issue is, sometimes it gives value of localizablestringname and sometimes it does not give any value when I run the application.
For example, I have added "appTagsTitle" = "Tags"; in localizable strings, and I used appTagsTitle to be displayed on screen, sometimes it displays "Tags" on screen and sometimes it gives "appTagsTitle" on screen, so it looks like, sometimes localized strings does not work properly.
What am I doing wrong?
Thanks In Advance.
I have solved it, somehow resources for English Localizations were showing 2 files, check attached image. then, I deleted localizations and added again, the problem was solved.
I am implementing localization in my app.
Here is the code,
C_TITLE.text = NSLocalizedString(#"C_TITLE", nil);
// strings files
localizable.strings (English)
"C_TITLE" = "English";
localizable.strings (French)
"C_TITLE" = "French";
But the label displays text "C_TITLE", which is key not value.
I done localization in my previous app but not faced this issue.
Code is working in simulator but not on device. Please help...
Thanks.
I'm pretty sure that it's spelled Localizable.strings, not localizable.strings. That would explain why it works on the Simulator and not on the device as the OS X file system is not case sensitive but the iPhone's is.
use [C_TITLE setText:NSLocalizedString(#"key",nil)];
will solve this.