Skip to content

Commit 6f24731

Browse files
authored
Initialize RAC string translations (#5064)
* initialize RAC translations * fix typo * add newline
1 parent 946bf46 commit 6f24731

File tree

5 files changed

+22
-9
lines changed

5 files changed

+22
-9
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"selectPlaceholder": "Select an item",
3+
"tableResizer": "Resizer",
4+
"dropzoneLabel": "DropZone"
5+
}

packages/react-aria-components/src/Breadcrumbs.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ function BreadcrumbsInner<T extends object>({props, collection, breadcrumbsRef:
6666
}
6767

6868
/**
69-
* Breadcrumbs display a heirarchy of links to the current page or resource in an application.
69+
* Breadcrumbs display a hierarchy of links to the current page or resource in an application.
7070
*/
7171
const _Breadcrumbs = /*#__PURE__*/ (forwardRef as forwardRefType)(Breadcrumbs);
7272
export {_Breadcrumbs as Breadcrumbs};

packages/react-aria-components/src/DropZone.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212

1313
import {AriaLabelingProps} from '@react-types/shared';
1414
import {ContextValue, Provider, RenderProps, SlotProps, useContextProps, useRenderProps} from './utils';
15-
import {DropOptions, mergeProps, useClipboard, useDrop, useFocusRing, useHover, VisuallyHidden} from 'react-aria';
15+
import {DropOptions, mergeProps, useClipboard, useDrop, useFocusRing, useHover, useLocalizedStringFormatter, VisuallyHidden} from 'react-aria';
1616
import {filterDOMProps, useLabels, useSlotId} from '@react-aria/utils';
17+
// @ts-ignore
18+
import intlMessages from '../intl/*.json';
1719
import React, {createContext, ForwardedRef, forwardRef, useRef} from 'react';
1820
import {TextContext} from './Text';
1921

@@ -50,9 +52,10 @@ function DropZone(props: DropZoneProps, ref: ForwardedRef<HTMLDivElement>) {
5052
let {dropProps, dropButtonProps, isDropTarget} = useDrop({...props, ref: buttonRef, hasDropButton: true});
5153
let {hoverProps, isHovered} = useHover({});
5254
let {focusProps, isFocused, isFocusVisible} = useFocusRing();
55+
let stringFormatter = useLocalizedStringFormatter(intlMessages);
5356

5457
let textId = useSlotId();
55-
let ariaLabel = props['aria-label'] || 'DropZone';
58+
let ariaLabel = props['aria-label'] || stringFormatter.format('dropzoneLabel');
5659
let messageId = (isDropTarget && props['aria-labelledby']) ? props['aria-labelledby'] : null;
5760
let ariaLabelledby = [textId, messageId].filter(Boolean).join(' ');
5861
let labelProps = useLabels({'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby});

packages/react-aria-components/src/Select.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@
1010
* governing permissions and limitations under the License.
1111
*/
1212

13-
import {AriaSelectProps, HiddenSelect, useFocusRing, useSelect} from 'react-aria';
13+
import {AriaSelectProps, HiddenSelect, useFocusRing, useLocalizedStringFormatter, useSelect} from 'react-aria';
1414
import {ButtonContext} from './Button';
1515
import {ContextValue, forwardRefType, Hidden, Provider, RenderProps, SlotProps, useContextProps, useRenderProps, useSlot} from './utils';
1616
import {filterDOMProps, useResizeObserver} from '@react-aria/utils';
17+
// @ts-ignore
18+
import intlMessages from '../intl/*.json';
1719
import {ItemRenderProps, useCollectionDocument} from './Collection';
1820
import {LabelContext} from './Label';
1921
import {ListBoxContext} from './ListBox';
@@ -217,10 +219,11 @@ function SelectValue<T extends object>(props: SelectValueProps<T>, ref: Forwarde
217219
});
218220
}
219221

222+
let stringFormatter = useLocalizedStringFormatter(intlMessages);
223+
220224
let renderProps = useRenderProps({
221225
...props,
222-
// TODO: localize this.
223-
defaultChildren: rendered || placeholder || 'Select an item',
226+
defaultChildren: rendered || placeholder || stringFormatter.format('selectPlaceholder'),
224227
defaultClassName: 'react-aria-SelectValue',
225228
values: {
226229
selectedItem: state.selectedItem?.value as T ?? null,

packages/react-aria-components/src/Table.tsx

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@ import {ColumnSize, ColumnStaticSize, TableCollection as ITableCollection, Table
77
import {ContextValue, defaultSlot, DOMProps, forwardRefType, Provider, RenderProps, SlotProps, StyleProps, StyleRenderProps, useContextProps, useRenderProps} from './utils';
88
import {DisabledBehavior, DraggableCollectionState, DroppableCollectionState, Node, SelectionBehavior, SelectionMode, SortDirection, TableState, useTableColumnResizeState, useTableState} from 'react-stately';
99
import {DragAndDropHooks, DropIndicator, DropIndicatorContext, DropIndicatorProps} from './useDragAndDrop';
10-
import {DraggableItemResult, DragPreviewRenderer, DropIndicatorAria, DroppableCollectionResult, FocusScope, ListKeyboardDelegate, mergeProps, useFocusRing, useHover, useLocale, useTable, useTableCell, useTableColumnHeader, useTableColumnResize, useTableHeaderRow, useTableRow, useTableRowGroup, useTableSelectAllCheckbox, useTableSelectionCheckbox, useVisuallyHidden} from 'react-aria';
10+
import {DraggableItemResult, DragPreviewRenderer, DropIndicatorAria, DroppableCollectionResult, FocusScope, ListKeyboardDelegate, mergeProps, useFocusRing, useHover, useLocale, useLocalizedStringFormatter, useTable, useTableCell, useTableColumnHeader, useTableColumnResize, useTableHeaderRow, useTableRow, useTableRowGroup, useTableSelectAllCheckbox, useTableSelectionCheckbox, useVisuallyHidden} from 'react-aria';
1111
import {filterDOMProps, useLayoutEffect, useObjectRef, useResizeObserver} from '@react-aria/utils';
1212
import {GridNode} from '@react-types/grid';
13+
// @ts-ignore
14+
import intlMessages from '../intl/*.json';
1315
import React, {createContext, ForwardedRef, forwardRef, Key, ReactElement, ReactNode, RefObject, useCallback, useContext, useEffect, useMemo, useRef, useState} from 'react';
1416
import ReactDOM from 'react-dom';
1517

@@ -900,15 +902,15 @@ function ColumnResizer(props: ColumnResizerProps, ref: ForwardedRef<HTMLDivEleme
900902
if (!layoutState) {
901903
throw new Error('Wrap your <Table> in a <ResizableTableContainer> to enable column resizing');
902904
}
905+
let stringFormatter = useLocalizedStringFormatter(intlMessages);
903906

904907
let {onResizeStart, onResize, onResizeEnd} = useContext(ResizableTableContainerContext)!;
905908
let {column, triggerRef} = useContext(ColumnResizerContext)!;
906909
let inputRef = useRef<HTMLInputElement>(null);
907910
let {resizerProps, inputProps, isResizing} = useTableColumnResize(
908911
{
909912
column,
910-
// TODO: translate
911-
'aria-label': props['aria-label'] || 'Resizer',
913+
'aria-label': props['aria-label'] || stringFormatter.format('tableResizer'),
912914
onResizeStart,
913915
onResize,
914916
onResizeEnd,

0 commit comments

Comments
 (0)