• Dashboard
  • API
  • Guides
  • FAQ
  • iOS > Custom data

    Custom region/language

    Batch allows you to set a custom region or a custom language that will override the value detected by the SDK. By default, Batch collects the language and the country of your users' devices.

    Setting a custom region/language is useful if:

    • You don't want to use the values detected by Batch.
    • Your users can choose their own language or region for localization purposes.

    Custom locale

    Here is how to set a custom region/language:

    BatchUserDataEditor *editor = [BatchUser editor];
    [editor setLanguage:@"en"]; // Language must be 2 chars, lowercase, ISO 639 formatted
    [editor setRegion:@"US"]; // Region must be 2 chars, uppercase, ISO 3166 formatted
    [editor save];
    let editor = BatchUser.editor()
    editor.setLanguage("en") // Language must be 2 chars, lowercase, ISO 639 formatted
    editor.setRegion("US") // Region must be 2 chars, uppercase, ISO 3166 formatted
    editor.save()

    If you call editor method before startWithAPIKey it will return nil. You should always call it after you started the SDK, and check nullity to be safe.