<div align="center">

<a style="text-decoration:none" href="https://github.com/numlinka/pylogop">
  <img width="128px" src="favicon.png" alt="pylogop">
</a>

# i18nco
</div>

## 介绍

这个库是一个用于管理国际化（i18n）和多语言支持的工具，旨在帮助开发者轻松实现应用程序的多语言翻译功能。它的核心功能包括：

### 核心功能
  1. 多语言支持：
      - 支持设置主语言和备用语言，当主语言的翻译缺失时，自动回退到备用语言。
      - 提供接口动态设置和获取当前的语言配置。
  2. 翻译管理：
      - 允许开发者动态添加、修改或删除特定语言的翻译文本。
      - 支持批量设置多个语言的翻译内容。
  3. 翻译查找：
      - 根据指定的语言和翻译键（TextKey），查找对应的翻译文本。
      - 如果翻译不存在，返回键本身作为默认值。
  4. 线程安全：
      - 使用线程锁（threading.RLock）确保多线程环境下的数据一致性。
      - 灵活的键值映射：
      - 支持通过点符号（.）访问嵌套的翻译键，例如 "welcome.message"。
  5. 动态翻译：
      - 通过 I18nString 对象封装翻译结果，支持动态设置属性，便于后续扩展。

### 主要用途
- 多语言应用程序：适用于需要支持多种语言的应用程序，如网站、桌面应用或移动应用。
- 动态翻译更新：允许在运行时动态更新翻译内容，无需重启应用。
- 翻译回退机制：当某种语言的翻译缺失时，自动回退到备用语言，确保用户始终能看到有意义的内容。

### 优点
- 灵活性：支持动态设置语言和翻译，适用于需要频繁更新翻译的场景。
- 易用性：提供简单的接口，方便开发者快速集成多语言支持。
- 扩展性：通过 I18nString 类，可以轻松扩展翻译功能。

### 适用场景
- 多语言网站或应用。
- 需要动态更新翻译内容的系统。
- 支持用户自定义语言偏好的应用程序。


## 安装

安装 i18nco 的首选方式是通过 pip ：

```shell
pip install i18nco
```

要将 i18nco 升级到最新版本，请使用以下命令：

```shell
pip install --upgrade i18nco
```
