# How To Use Translated Strings

> Please review Terra's [Internationalization](https://engineering.cerner.com/terra-ui/guides/terra-ui/internationalization/internationalization-intro)
> documentation to ensure your application is configured to support i18n.

Every child of [ApplicationBase](/application/terra-application/components/application-base) has access to the
application's translated strings. Please review Terra's [recommended consumption guides](https://engineering.cerner.com/terra-ui/guides/terra-ui/internationalization/building-components-which-include-translations)
for more information.

Additionally, ApplicateBase provides react-intl's APIs through the [ApplicationIntlContext](/application/terra-application/contexts/application-intl-context)
for consumers seeking a modern Context implementation.

```jsx
import React, { useContext } from 'react';
import { ApplicationIntlContext } from 'terra-application/lib/application-intl';

const ExampleComponent = () => {
  const applicationIntl = useContext(ApplicationIntlContext);

  return (
    <div>
      <p>This button requires multiple translated strings to render appropriately.</p>
      <button
        aria-label={applicationIntl.formatMessage({ id: 'example-component.button-label'})}
      >
        {applicationIntl.formatMessage({ id: 'example-component.button-text'})}
      </button>
    </div>
  );
});

export default ExampleComponent;
```

> Accessing react-intl's [legacy context value](https://reactjs.org/docs/legacy-context.html) directly is **not recommended**.
> This API is deprecated and not provided by react-intl v3.x. Terra's recommended usage patterns are supported by versions 2.x and 3.x of react-intl.
