Skip to content

Automatic Eastern Arabic numerals in Arabic translations?H #583

@elisehein

Description

@elisehein

Hi!

I'm having trouble finding documentation for this on projectfluent.org.

Given a Fluent translation in Arabic, and passing in an integer for the score...

feedback-score = لقد حصلت على {$SCORE} أشكال صحيحة.

Is there a way to convert the score to an eastern arabic numeral? I'm expecting to see لقد حصلت على ١٠ أشكال صحيحة. instead of لقد حصلت على 10 أشكال صحيحة..

I'm using @fluent/react for this.

MVP (ignoring cardinality variants for brevity):

import { FluentBundle, FluentResource } from "@fluent/bundle";
import { ReactLocalization, LocalizationProvider } from "@fluent/react";

function getTranslationResources() {
  return {
    "ar": new FluentResource("feedback-score = لقد حصلت على {$SCORE} أشكال صحيحة."),
    "en-GB": new FluentResource("feedback-score = You got {$SCORE} shapes right.")
  };
}

const TRANSLATION_RESOURCES = getTranslationResources();

function *generateBundle(locale) {
  const bundle = new FluentBundle(locale);
  bundle.addResource(TRANSLATION_RESOURCES[locale]);
  yield bundle;
}

function l10n(locale) {
  return new ReactLocalization(generateBundle(locale));
}

function Component() {
  return (
    <LocalizationProvider
      l10n={l10n("ar")}>
      <Localized
        id="feedback-score"
        vars={{ SCORE: 12 }} />
    </LocalizationProvider>
  );
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions