It seems that when your keyboard language isn't set to English (US) and you focus on a TextInput with a keyboardType="numeric" prop, it will change the keyboard language to English (US).

I tried with "number-pad", "decimal-pad", "numeric", "phone-pad". None of them works as expected.
I tried with different languages:
Issues appear on
French (France)
German (Germany)
Italian
No issue
Arabic, Najdi
React Native version:
System:
OS: macOS 10.15.1
CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
Memory: 1.14 GB / 16.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 10.16.3 - /usr/local/bin/node
Yarn: 1.15.2 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.2, DriverKit 19.0, macOS 10.15, tvOS 13.2, watchOS 6.1
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5522156
Xcode: 11.3/11C29 - /usr/bin/xcodebuild
npmPackages:
react: 16.9.0 => 16.9.0
react-native: 0.61.5 => 0.61.5
npmGlobalPackages:
react-native-cli: 2.0.1
1- Start your iOS simulator
2- Go to Settings / General / Keyboard
3- Make sure you have English (US) and French (France) keyboards
4- then:
react-native init keyboardSwitchToQwerty
5- Edit your App.js file as below:
const App = () => (
<View>
<TextInput />
<TextInput keyboardType="decimal-pad" />
</View>
);
6- Open the app
7- Set your keyboard to French (France) and switch between the two <TextInput />
8- Issu: Your keyboard will automatically switch to English (US)
The keyboards shouldn't switch to English (US) by itself. It should stay on the French (France):

_To make this GIF possible, I removed the English (US) keyboard from Settings_
Any news?
Same problem goes for me... Keyboard type phone-pad switch the keyboard to QWERTY
I reproduce the issue.
I'm experiencing the same issue using RN 0.59.9
I have the exact same issue. Still no solution found after 4 days on it.
I realize this is a React-Native thread, but I'm experiencing the exact same thing in a native Swift app.
I realize this is a React-Native thread, but I'm experiencing the exact same thing in a native Swift app.
Sounds like this is a platform issue most likely. Unless someone can clarify and provide examples how this does not repro on the native platform, we shouldn't assume this isn't an RN issue.
I finally found a solution that worked for me 馃榿
This is an IOS issue, when you use a numeric keyboard, it changes the keyboard language and uses app default language : variable CFBundleDevelopmentRegion
--> In my case CFBundleDevelopmentRegion was "en", that's why it transformed azerty keyboard to qwerty keyboard
Solution that worked for me : Remove the following 2 lines in info.plist
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
I realize this is a React-Native thread, but I'm experiencing the exact same thing in a native Swift app.
@emilzeilon to reply to @chrisglein could you try to reproduce this issue on a native Swift app?
@emilzeilon to reply to @chrisglein could you try to reproduce this issue on a native Swift app?
I can reproduce the error in a native Swift app, provided that I use my native Swedish keyboard and also enable the English keyboard in the iOS settings of the device. Whenever I open a UITextField with a number pad the language reverts to English, despite Swedish being the primary language of the device. This occurred on my device, as well as the devices of a couple of beta testers where the English keyboard was enabled.
@morgane1806 's solution worked for me. By changing the Info.plist CFBundleDevelopmentRegion property from $(DEVELOPMENT_LANGUAGE) to sv, the keyboard started behaving correctly.
This solution worked for me:
I changed with <string>en</string><string>fr</string>
<!-- ./ios/projectName/Info.plist -->
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>fr</string>
...
</dict>
Thanks @morgane1806 & @emilzeilon 馃殌
Just to let you know, if you change en with fr, you will have another problem : English users, that use qwerty pad, will switch to azerty when number pad is open. Put fr is not the best solution
Just to let you know, if you change
enwithfr, you will have another problem : English users, that use qwerty pad, will switch to azerty when number pad is open. Putfris not the best solution
But if I remove the 2 lines, it do not fix the issue. Did it worked for you?
Just to let you know, if you change
enwithfr, you will have another problem : English users, that use qwerty pad, will switch to azerty when number pad is open. Putfris not the best solutionBut if I remove the 2 lines, it do not fix the issue. Did it worked for you?
It worked for me when I removed the 2 lines. Just be sure to clean your cache and restart your app :)
Try in a real device if you can, it's not working for me in simulators either
Thank you so much ! It works 馃殌
Most helpful comment
Any news?