
Security News
PodRocket Podcast: Inside the Recent npm Supply Chain Attacks
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
@smarthr/i18n
Advanced tools
SmartHRの国際化(i18n)ユーティリティライブラリです。
get-locale
: 複数の情報源から最適な言語コードを判定して返します。use-intl
: use-intl
またはnext-intl
ライブラリを利用して国際化(i18n)機能を提供するカスタムReactフックです。npm install @smarthr/i18n
各サブパッケージの詳細な使い方は、上記リンク先のREADMEをご参照ください。
next-intlのGetting startedに従ってnext-intl
の環境をセットアップします。
ここではApp Routerでのi18nルーティングを使わないパターンで@smarthr/i18n
を利用する例を記載します。
request.ts
ファイルでgetLocale
を利用してアプリケーションがサポートする言語からロケールを決定します。currentLocale
の取得はアプリケーションごとに実装するものとします。
import { getRequestConfig } from 'next-intl/server'
import { getLocale, Locale } from '@smarthr/i18n'
import { getUserLocale } from '@/getUserLocale'
const supportedLocales: Locale[] = ['ja-JP', 'en-US']
export default getRequestConfig(async () => {
const currentLocale = await getUserLocale()
const locale = getLocale({
currentLocale,
supportedLocales,
})
return {
locale,
messages: (await import(`./locales/${locale}.json`)).default,
}
})
layout.tsx
でNextIntlClientProvider
を適用します。
import { NextIntlClientProvider } from 'next-intl'
import { getLocale } from 'next-intl/server'
export default async function RootLayout({
children,
}: Readonly<{
children: React.ReactNode
}>) {
const locale = await getLocale()
return (
<html lang={locale}>
<body>
<NextIntlClientProvider>{children}</NextIntlClientProvider>
</body>
</html>
)
}
多言語化を適用したいページでuseNextIntl
を使います。
React Server Componentsで使う場合はワークアラウンドを利用します。
import { useNextIntl } from '@smarthr/i18n'
export default function Home() {
const { formatMessage } = useNextIntl()
return <div>{formatMessage('Home.greeting')}</div>
}
FAQs
SmartHR's i18n utility
We found that @smarthr/i18n demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 24 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
Security News
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
Product
Socket Firewall is a free tool that blocks malicious packages at install time, giving developers proactive protection against rising supply chain attacks.