NativeScript / NativeScript/plugins

Android and iOS Application's language does not match

Ouverte
#533 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
TypeScript
Étoiles
206
Forks
123
Merge moyen
2 j 1 h
PR mergées (30 j)
1

Description

I have implemented the localize plugin, and Im' facing issues:

"get the default language on user's phone via the language property of the Device class."

I have Android which phone language setting is set United Kingdom (en) this picks up correctly. On iOS I also have the setting language to English as preferred language but this isn't printing correctly. I the following code.

    console.log('DEVICE LANGUAGE', device.language);
    console.log('From Cores, Device.language);
    console.log('from __app__language__', ApplicationSettings.getString('__app__language__'))
    const localeOverriddenSuccessfully = overrideLocale(Device.language); 

On Android is correct:
Screenshot 2023-09-29 at 11 45 25

On iOS is incorrect:
Screenshot 2023-09-29 at 11 45 10
Screenshot 2023-09-29 at 11 43 00

ns --version
8.5.3
✔ Up to date.

Angular:
ng version

 _                      _                 ____ _     ___
/ \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|

/ △ \ | '_ \ / | | | | |/ _ | '__| | | | | | |
/ ___ | | | | (
| | || | | (| | | | || | | |
// __| ||_, |_,||_,|| _|||
|___/

Angular CLI: 15.2.8
Node: 20.4.0 (Unsupported)
Package Manager: npm 9.7.2
OS: darwin x64

Angular: 15.1.5
... animations, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router

Package Version

@angular-devkit/architect 0.1501.6
@angular-devkit/build-angular 15.1.6
@angular-devkit/core 15.1.6
@angular-devkit/schematics 15.2.8
@angular/cli 15.2.8
@ngtools/webpack 15.1.6
@schematics/angular 15.2.8
rxjs 7.6.0
typescript 4.8.4

=============================================
It seems to me that on iOS some how it cached into the the phone's default language variables, earlier on I was manually updating the language like so:
const localeOverriddenSuccessfully = overrideLocale('nl');
could this have been cached for iOS on this variables prior?

device.language
Device.language
__app__language__

Thanks

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par reproduire la divergence sur Android et iOS en utilisant les appels montrés à Device.language, device.language, ApplicationSettings.getString('app__language') et overrideLocale. Comparez les valeurs renvoyées après avoir modifié la langue de l’appareil et après avoir remplacé manuellement la locale ; le travail est terminé lorsque la cause est identifiée et que le comportement iOS attendu de l’issue est corrigé ou clairement documenté.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
android, ios, typescript
Domaine
localization, mobile-dev
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.