
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
@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.

Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.

Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.

Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.