見出し画像

Wails+Svelte+i18nAllyの環境に精通して、多言語対応のソフト開発が楽しくなってきた

今朝は7時近くまで寝てしまいました。
ログ分析ツールの多言語対応で、まいにち沢山ソースコードの修正作業をしていることでよく眠れるようです。
ほぼ、画面表示の多言語(英語、日本語)対応は完了しました。確認のダイアログやテーブル表示のカラム名、グラフ表示の軸の名前など、細かなところの多言語対応しています。
3日ぐらいWails+Svelte+i18nAllyの環境で作業して、かなり技を習得しました。今なら、何語対応のソフトでも楽勝な感じです。
でも、機械翻訳なので、現地の人がみれば何これというものになりそうです。アメリカ人が開発したソフトも簡単に日本語対応してくれましたが、こういう仕組みを使っていたのだと思います。昔、本業であるソフトの多言語対応した時は、自力でツールを作って、かなり苦労しました。いい時代になりました。助手の猫が天から「猫語の対応はどうする?」と言っていますが、i18nAllyは対応していないようですし、そもそも猫語の言語コードはなに?ne?
国コードのneは、猫語ではなくニジェールだそうです。

VSCodeのi18nAllyの便利なところを、もう一つ紹介しておきます。
翻訳作業の漏れがあると

のようにリストアップしてくれます。ソースコードをみただけでは絶対見逃してしまうような間違いです。助かりました。

i18nAllyをsvelteではなくJavaScriptのファイルから使う技も習得しました。

import { _} from 'svelte-i18n';
|
name: _("Js.RespCode"),

のような書き方で、エラーになって1時間ぐらい悩みました。

import { _,unwrapFunctionStore } from 'svelte-i18n';

const $_ = unwrapFunctionStore(_);

|
name: $_("Js.RespCode"),

のようなおまじないが必要です。svelte-i18nのFAQに書いてました。

ログ分析ツールの英語、日本語対応は、もう少しで完成です。

明日に続く

開発のための諸経費(機材、Appleの開発者、サーバー運用)に利用します。 ソフトウェアのマニュアルをnoteの記事で提供しています。 サポートによりnoteの運営にも貢献できるのでよろしくお願います。