Skip to content

Lack of localisation for OAuth-folder included strings #898

@PiotrDabrowskiSTP

Description

@PiotrDabrowskiSTP

Just got a ticket in my project that one of the OAuth-created buttons does not react properly to languages change in my project.

After a short investigation I realised none the arguments injected with the buttonLabelText of the:
FUIOAuth initWithAuthUI: providerID: buttonLabelText: shortName: buttonColor: iconImage: fromBundleNameOrNil: scopes: customParameters: loginHintKey: are localised rather are just plain Strings.

On the other hand other Auth folders (e.g. GoogleAuth and FacebookAuth) contain their own localisations.

I have managed to override the FUIOAuth and inject my own strings as buttonLabelText but it does not seem to be a good practice for longer terms.

Step 1: Are you in the right place?

I don't know but:

  • in the version 8.4.2 the OAuth files also does not seem to have localised Strings at all.

Step 2: Describe your environment

  • Swift:5
  • iOS version: 13.6.1
  • Firebase SDK version: 6.18.0
  • FirebaseUI version: 8.4.1
  • CocoaPods Version: 1.9.3

Step 3: Describe the problem:

Steps to reproduce:

  1. Use the implementation of any of the FUIOAuth authProvider methods (e.g.: appleAuthProvider, yahooAuthProvider, microsoftAuthProvider, etc.) and inject them as providers to the authUI object.
  2. Change the language to non-English (e.g. Swedish)
  3. Reach the FUIAuthPickerViewController with the providers mentioned in point 1.
  4. Notice that the button titles are hardcoded English strings.

Observed Results:

  • What happened?
    The strings noticed in the buttons were in English only (not localised):
  • twitterAuthProvider: @"Sign in with Twitter"
  • githubAuthProvider: @"Sign in with GitHub"
  • microsoftAuthProvider: @"Sign in with Microsoft"
  • yahooAuthProvider: @"Sign in with Yahoo"
  • appleAuthProvider: @"Sign in with Apple"

Expected Results:

  • Localised strings corresponding to the languages support.

Relevant Code:

Sample of:

buttonLabelText:@"Sign in with Apple"

could be replaced with

buttonLabelText:NSLocalizedString(@"Sign in with Apple", @"FUIAuthPickerViewController")

together with the pile of values for each supporting language corresponding to the translation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions