@@ -69,8 +69,14 @@ const FALLBACK_MODEL: ManifestModel = {
6969}
7070
7171// Helper functions for formatting
72- const formatNumberToK = ( value : number | null | undefined ) : string => {
73- return value ? `${ ( value / 1000 ) . toFixed ( 0 ) } K` : '-'
72+ const formatNumberToK = ( value : number | null | undefined , locale : string ) : string => {
73+ if ( ! value ) return '-'
74+
75+ const thousands = new Intl . NumberFormat ( locale , {
76+ maximumFractionDigits : 0 ,
77+ } ) . format ( value / 1000 )
78+
79+ return `${ thousands } K`
7480}
7581
7682const formatPercentage = ( value : number | null | undefined ) : string => {
@@ -86,8 +92,11 @@ const createSimpleRenderer = (getValue: (model: ManifestModel) => string | null
8692 return ( model : ManifestModel ) => formatSimpleValue ( getValue ( model ) )
8793}
8894
89- const createNumberToKRenderer = ( getValue : ( model : ManifestModel ) => number | null | undefined ) => {
90- return ( model : ManifestModel ) => formatNumberToK ( getValue ( model ) )
95+ const createNumberToKRenderer = (
96+ getValue : ( model : ManifestModel ) => number | null | undefined ,
97+ locale : string
98+ ) => {
99+ return ( model : ManifestModel ) => formatNumberToK ( getValue ( model ) , locale )
91100}
92101
93102const createPriceRenderer = (
@@ -275,14 +284,14 @@ export default function ComparePageClient({
275284 groupLabel : tShared ( 'capabilities.capabilities' ) ,
276285 key : 'contextWindow' ,
277286 label : tShared ( 'terms.contextWindow' ) ,
278- render : createNumberToKRenderer ( m => m . contextWindow ) ,
287+ render : createNumberToKRenderer ( m => m . contextWindow , locale ) ,
279288 } ,
280289 {
281290 group : 'capabilities' ,
282291 groupLabel : tShared ( 'capabilities.capabilities' ) ,
283292 key : 'maxOutput' ,
284293 label : tShared ( 'terms.maxOutput' ) ,
285- render : createNumberToKRenderer ( m => m . maxOutput ) ,
294+ render : createNumberToKRenderer ( m => m . maxOutput , locale ) ,
286295 } ,
287296 {
288297 group : 'capabilities' ,
0 commit comments