TxtLocalization — テキストベースのローカライズライブラリ

Library

概要

TxtLocalizationは、.txt形式のローカライズファイルを用いて簡単に多言語対応を実現するC#ライブラリです。プロジェクトに同梱されたEasySavingライブラリを利用し、保存先と言語セットをSavingInfo/LocalizationInfoで指定するだけで動作します。キーから対応する翻訳文字列を取得するAPI(Localization.GetContent)と、string拡張メソッド(“key”.Localized())を提供し、既存コードの差し替えを最小限に抑えつつ導入できます。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 3
  • ファイル数: 15
  • メインの言語: C#

主な特徴

  • .txtファイルを用いるシンプルなキー=値方式でローカライズを管理
  • EasySavingベースの保存/読み込み機能を利用してファイル操作を簡潔に実装
  • Localization.GetContent と string拡張による “Your key”.Localized() の二通りの呼び出しを提供
  • DLL(EasySaving.dll)同梱で導入が容易

技術的なポイント

TxtLocalizationは外部依存としてEasySavingを利用しており、ローカライズデータをテキストファイルで管理する軽量な設計が特徴です。利用前に必ずSavingInfo(保存先と拡張子)とLocalizationInfo(使用する言語リスト)を初期化する必要があり、これによりライブラリは指定ディレクトリから言語ファイル群を読み込みます。APIは静的なLocalizationクラスを中心に構成され、Localization.GetContent(“key”)でキーに対応する文字列を取得できます。加えてLocalizationEx.csで提供される拡張メソッドにより、既存コード中の文字列リテラルを短い呼び出し(“key”.Localized())に置き換えられ、可読性と導入の敷居を下げます。

プロジェクトにはEasySaving.dllとPDBが同梱されているため、ランタイムとデバッグ情報が提供され、外部ビルドが不要で即座に組み込み可能です。ファイル構成は少数のソースファイル(Localization.cs、LocalizationEx.csなど)とバイナリで構成されており、機能はローカライズ用の読み込み・検索ロジックに集中しています。実装上の注意点としては、初期化(SavingInfo/LocalizationInfo)を忘れるとキー検索が機能しない点と、.txtベースゆえに複雑なプレースホルダ置換や plurals(複数形)の高度サポートは組み込み実装としては限定的な可能性がある点です。READMEの例では以下のように簡潔に使用方法が示されています:

static void Foo() { new SavingInfo(“Your direction”, “txt”); new LocalizationInfo(“Your direction”, [“en”, “cn”, “rs”]);

string str = Localization.GetContent(“Your key”); str = “Your key”.Localized(); }

このように、最小限の初期化でアプリケーションに多言語対応を付与できる設計が魅力です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .idea: dir
  • EasySaving.dll: file
  • EasySaving.pdb: file
  • Localization.cs: file
  • LocalizationEx.cs: file

…他 10 ファイル

まとめ

軽量で導入しやすいテキストベースのローカライズライブラリ、既存プロジェクトへの組み込みに向く。

リポジトリ情報:

READMEの抜粋: Before using it,You must create a instance of SavingInfo and LocalizationInfo

static void Foo() { new SavingInfo(“Your direction”, “txt”); new LocalizationInfo(“Your direction”, [“en”, “cn”, “rs”]);

string str = Localization.GetContent(“Your key”); str = “Your key”.Localized(); } …