タグ

i18nに関するarx0balestのブックマーク (4)

  • Unicode をレンダリングするときは言語情報を渡しましょう - blog.8-p.info

    ソフトウェアの日語文字が中華フォントに侵されていて想像以上の危機らしい「違和感すごい」 というのが盛り上がっていた。 「想像以上」は主観的だけど、個人的にはちょっと煽りすぎのように思った。 前提: Han Unification はひっくりかえせない そもそも、UTF-8 がよく使われるようになって、絵文字もはいった UCS で、Han Unification しなくてもいいのでは、という話はある。 でもこれは後の祭りで、今更ひっくりかえすのは無理だと思うので、ここでは検討しません。 ユーザー側の言語情報を参照すれば、日語のグリフは選べる ほとんどの OS には、このユーザーの言語はこれですよ、という情報があって、それでメニューやボタンの文字が日語になる。日付の表示方法とかも、これを参照する。統合漢字でも日語のグリフでレンダリングしたい、というのは、8割くらいはこれで解決するはな

  • Next.jsアプリのローカライゼーション | POSTD

    クイックサマリー ‐ 国際化ルーティングは、厳密にはNext.jsの新機能ではありません。(v.10以降搭載されています。)この記事では、この機能のメリットだけではなく、こうした機能を利用して最高のユーザ体験と円滑な開発者体験を実現する方法についても見ていきます。自己文書化コードやバンドルサイズの削減、さらにはランタイムエラーではなくコンパイル時エラーに興味のある方は、是非このまま読み進めてください。 開発中のアプリにおいて、ロケール(または国、あるいは両方)ごとにルートを設定したい場合、Next.jsで簡単に対応できるようになりました。プロジェクトのrootディレクトリにnext.config.jsがない場合、新たに作成してください。このスニペットからコピーしても構いません。 /** @type {import('next').NextConfig} */ module.exports

    Next.jsアプリのローカライゼーション | POSTD
  • JavaScriptで億とか万とかに変換したいときはNumberFormatのnotation:compactが便利

    const fmt = new Intl.NumberFormat("ja-JP",{ notation: "compact", }) fmt.format(BigInt(64 ** 8) ) // => "281兆" とりあえずざっくり数値を出したいときにとても便利。最高そう。 オプションを組み合わせる 詳しくは上記MDNが詳しいが、その他オプションと組み合わせることで色々調整も可能だ // 何も設定しないといい感じに小数点計算してくれる new Intl.NumberFormat("ja-JP",{ notation: "compact"}).format(BigInt(433333333)) // => "4.3億" // 小数点表記をさせたくなければmaximumFractionDigitsを0にする new Intl.NumberFormat("ja-JP",{ notation

    JavaScriptで億とか万とかに変換したいときはNumberFormatのnotation:compactが便利
  • ぼくたちのかんがえたさいきょうのi18n国家

    記事は下記のtweetから始まるスレッドに触発され、@qnighyや@na4zagin3からアイディアを拝借して書いた。 i18n力が最強の国は国内に複数の言語があり、そのうちいくつかは他国でも使われている言語の方言で、1バイト文字での代替表記が困難で、歴史的にISO-2022ベースの文字コードとUnicodeと独自エンコーディングが混在していて、フリガナなどの特殊な組版規則があり、右書き左書き縦書きを併用し、 — Masaki Hara (@qnighy) 2018年8月6日 皆さんのおかげで最強のi18n国家が建設されつつある。一瞬で滅びそう — Masaki Hara (@qnighy) 2018年8月6日 長い前置き ソフトウェアのi18nは難しい。自文化では当たり前と思っていてハードコードしてしまった仮定が崩れて、大幅な再設計を余儀なくされるからだ。気づいて再設計できればまだ良

    ぼくたちのかんがえたさいきょうのi18n国家
  • 1