refactor: i18n archi

This commit is contained in:
bridge
2026-02-06 00:43:08 +08:00
parent 07d1cfbee2
commit 2cc456f6b3
156 changed files with 1197 additions and 1447 deletions

View File

@@ -14,33 +14,45 @@
---
## 2. 正确的增补方式
## 2. 正确的增补方式 (Source Split, Build Merge)
### 方法 A直接使用 IDE 编辑 (推荐)
最安全、最简单的方法。直接在 Cursor / VSCode 中打开 `src/i18n/locales/xx_XX/LC_MESSAGES/messages.po`,在文件末尾手动粘贴或输入新的翻译条目。
项目现已采用 **"Source Split, Build Merge"** 策略,将庞大的 `messages.po` 拆分为多个模块文件。
### 方法 B使用 Python 脚本追加
如果必须通过脚本自动化,请务必使用 Python 并显式指定 UTF-8 编码。
**请勿直接修改 `LC_MESSAGES/messages.po`!该文件现由构建脚本自动生成。**
```python
# correct_append.py
content = """
msgid "new_key"
msgstr "Translation"
"""
### 方法 A修改模块文件 (推荐)
with open("path/to/messages.po", "a", encoding="utf-8") as f:
f.write(content)
```
所有源文件位于 `static/locales/{lang}/modules/` 目录下。请根据内容分类修改对应的 `.po` 文件:
### 方法 CLinux/Bash 环境
在 Git Bash 或 WSL 中使用 `cat >>` 是安全的,因为它们默认处理 UTF-8 流。
* `static/locales/zh-CN/modules/battle.po` - 战斗相关
* `static/locales/zh-CN/modules/action.po` - 动作相关
* `static/locales/zh-CN/modules/fortune.po` - 奇遇相关
* `static/locales/zh-CN/modules/ui.po` - 界面相关
* ... (以及其他分类)
直接使用编辑器打开相应的模块文件进行修改或追加。
### 方法 B构建与合并
修改完成后,必须运行构建脚本将模块合并并编译为 MO 文件:
```bash
# Git Bash / WSL only
cat temp.po >> messages.po
# 在项目根目录下运行
python tools/i18n/build_mo.py
```
该脚本会:
1. 合并 `modules/*.po``LC_MESSAGES/messages.po`
2. 编译生成 `LC_MESSAGES/messages.mo`
3. 编译其他独立文件 (如 `game_configs.po`)
### 方法 C添加新模块
如果需要添加新的分类:
1.`static/locales/{lang}/modules/` 下新建 `{category}.po`
2. 确保包含标准 Header (参考其他模块)。
3. 运行 `build_mo.py` 即可自动识别并合并。
---
## 3. 文件格式规范

View File

@@ -125,9 +125,11 @@ def start(self, target_name: str) -> Event:
## 添加翻译
### 1. 在 po 文件中添加条目
### 1. 在模块化 po 文件中添加条目
**英文** (`src/i18n/locales/en_US/LC_MESSAGES/messages.po`)
请在 `static/locales/{lang}/modules/action.po` 文件中添加翻译,而不是直接修改 `messages.po`
**英文** (`static/locales/en-US/modules/action.po`)
```po
# Action: MyAction
msgid "my_action_name"
@@ -140,7 +142,7 @@ msgid "{avatar} starts attacking {target}!"
msgstr "{avatar} starts attacking {target}!"
```
**中文** (`src/i18n/locales/zh_CN/LC_MESSAGES/messages.po`)
**中文** (`static/locales/zh-CN/modules/action.po`)
```po
# Action: MyAction
msgid "my_action_name"
@@ -153,18 +155,15 @@ msgid "{avatar} starts attacking {target}!"
msgstr "{avatar} 开始攻击 {target}"
```
### 2. 编译 po 文件
### 2. 编译并合并
运行项目根目录下的构建脚本,它会将模块文件合并并编译:
```bash
# Windows (需要安装 gettext)
msgfmt src/i18n/locales/zh_CN/LC_MESSAGES/messages.po -o src/i18n/locales/zh_CN/LC_MESSAGES/messages.mo
msgfmt src/i18n/locales/en_US/LC_MESSAGES/messages.po -o src/i18n/locales/en_US/LC_MESSAGES/messages.mo
# macOS/Linux
msgfmt src/i18n/locales/zh_CN/LC_MESSAGES/messages.po -o src/i18n/locales/zh_CN/LC_MESSAGES/messages.mo
msgfmt src/i18n/locales/en_US/LC_MESSAGES/messages.po -o src/i18n/locales/en_US/LC_MESSAGES/messages.mo
python tools/i18n/build_mo.py
```
## 迁移现有 Action
对于现有的 Action`Assassinate`),按以下步骤迁移:

View File

@@ -392,7 +392,7 @@ print(info[t("Name")]) # 输出键名为英文的字典
1. **新增字段时同步添加翻译**
-`info_presenter.py` 添加新字段时
- 使用 `t("New Field Label")` 作为键名
-PO 文件添加对应翻译
-`static/locales/{lang}/modules/avatar.po` (或 `ui.po`) 添加对应翻译
2. **保持命名规范**
- 字段名使用英文,首字母大写(如 `"Spirit Root"`

View File

@@ -256,7 +256,7 @@ print(get_effect_desc("extra_max_hp")) # 输出Max HP
1. **新增 Effect 时同步添加翻译**
-`consts.py` 定义新 effect
-`desc.py``get_effect_desc()` 添加 msgid 映射
-PO 文件添加中英文翻译
-`static/locales/{lang}/modules/effect.po` 添加中英文翻译
2. **保持命名规范**
- Effect msgid: `effect_{effect_key}`

View File

@@ -330,7 +330,7 @@ print(Auction.get_story_prompt()) # 输出英文提示词
1. **新增 Gathering 类型时同步添加翻译**
- 如果添加新的 Gathering 实现(如"宗门大比"、"秘境开启"
- 遵循相同的模式:类变量 + classmethod
-PO 文件添加对应翻译
-`static/locales/{lang}/modules/gathering.po` 添加对应翻译
2. **保持命名规范**
- LLM Prompt msgid 格式:`{gathering_type}_story_prompt`
@@ -398,7 +398,7 @@ class SectCompetition(Gathering):
# ... 其他方法使用 t() 翻译所有文本
```
然后在 PO 文件添加对应翻译即可。
然后在 `static/locales/{lang}/modules/gathering.po` 添加对应翻译即可。
---

View File

@@ -49,15 +49,24 @@ Use Python's standard `gettext` module with `.po/.mo` translation files.
```
src/i18n/
├── __init__.py # Export t() function
└── locales/
├── zh_CN/
│ └── LC_MESSAGES/
│ ├── messages.po # Chinese translations (source)
└── messages.mo # Compiled binary (runtime)
└── en_US/
└── LC_MESSAGES/
├── messages.po # English translations (source)
── messages.mo # Compiled binary (runtime)
└── ... (locales moved to static/locales)
static/locales/
├── zh-CN/
├── LC_MESSAGES/
│ │ ├── messages.po # Merged Chinese translations (do not edit directly)
│ │ └── messages.mo # Compiled binary (runtime)
└── modules/ # Source translation modules
── battle.po
│ ├── fortune.po
│ └── ...
└── en-US/
├── LC_MESSAGES/
│ ├── messages.po # Merged English translations
│ └── messages.mo # Compiled binary
└── modules/
├── battle.po
└── ...
```
#### 1.2 Create `src/i18n/__init__.py`
@@ -77,14 +86,15 @@ def _get_translation() -> Optional[gettext.GNUTranslations]:
lang = str(language_manager)
if lang not in _translations:
locale_dir = Path(__file__).parent / "locales"
# Point to static/locales
locale_dir = Path(__file__).resolve().parent.parent.parent / "static" / "locales"
# Map language codes to gettext locale names
# Map language codes to gettext locale names (now same as folder names)
locale_map = {
"zh-CN": "zh_CN",
"en-US": "en_US",
"zh-CN": "zh-CN",
"en-US": "en-US",
}
locale_name = locale_map.get(lang, "zh_CN")
locale_name = locale_map.get(lang, "zh-CN")
try:
trans = gettext.translation(
@@ -190,7 +200,7 @@ From `death_reason.py`:
---
### Phase 3: Create .po Files
### Phase 3: Create Modular .po Files
#### 3.1 Message Key Convention
@@ -201,99 +211,49 @@ msgid "{winner} defeated {loser}, dealing {damage} damage. {loser} was fatally w
msgstr ""
```
#### 3.2 Chinese Translation File
#### 3.2 Chinese Translation Modules
Create separate files in `static/locales/zh-CN/modules/`:
**`battle.po`**:
```po
# src/i18n/locales/zh_CN/LC_MESSAGES/messages.po
# Header
# static/locales/zh-CN/modules/battle.po
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language: zh_CN\n"
# Battle messages
msgid "{winner} defeated {loser}, dealing {damage} damage. {loser} was fatally wounded and perished."
msgstr "{winner} 战胜了 {loser},造成 {damage} 点伤害。{loser} 遭受重创,当场陨落。"
msgid "{winner} defeated {loser}. {loser} took {loser_dmg} damage, {winner} also took {winner_dmg} damage."
msgstr "{winner} 战胜了 {loser}{loser} 受伤 {loser_dmg} 点,{winner} 也受伤 {winner_dmg} 点。"
# Fortune messages
msgid "Encountered fortune ({theme}), {result}"
msgstr "遭遇奇遇({theme}{result}"
msgid "Found weapon '{weapon}', {exchange_result}"
msgstr "发现了兵器『{weapon}』,{exchange_result}"
msgid "{name} obtained {amount} spirit stones"
msgstr "{name} 获得灵石 {amount} 枚"
msgid "{name} cultivation increased by {exp} points"
msgstr "{name} 修为增长 {exp} 点"
msgid "{apprentice} became disciple of {master}"
msgstr "{apprentice} 拜 {master} 为师"
# Misfortune messages
msgid "Encountered misfortune ({theme}), {result}"
msgstr "遭遇霉运({theme}{result}"
msgid "{name} lost {amount} spirit stones"
msgstr "{name} 损失灵石 {amount} 枚"
msgid "{name} took {damage} damage, HP remaining {current}/{max}"
msgstr "{name} 受到伤害 {damage} 点剩余HP {current}/{max}"
msgid "{name} cultivation regressed by {amount} points"
msgstr "{name} 修为倒退 {amount} 点"
# Death reasons
msgid "Killed by {killer}"
msgstr "被{killer}杀害"
msgid "Died from severe injuries"
msgstr "重伤不治身亡"
msgid "Died of old age"
msgstr "寿元耗尽而亡"
```
#### 3.3 English Translation File
**`fortune.po`**:
```po
# src/i18n/locales/en_US/LC_MESSAGES/messages.po
# Header
# static/locales/zh-CN/modules/fortune.po
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language: en_US\n"
# Battle messages
msgid "{winner} defeated {loser}, dealing {damage} damage. {loser} was fatally wounded and perished."
msgstr "{winner} defeated {loser}, dealing {damage} damage. {loser} was fatally wounded and perished."
# ... (msgid == msgstr for English)
msgid "Encountered fortune ({theme}), {result}"
msgstr "遭遇奇遇({theme}{result}"
# ... other fortune messages
```
#### 3.3 English Translation Modules
Create similar files in `static/locales/en-US/modules/`.
#### 3.4 Compile .po to .mo
Use the build script to merge modules and compile:
```bash
# Install gettext tools if needed (macOS)
brew install gettext
# Compile
msgfmt src/i18n/locales/zh_CN/LC_MESSAGES/messages.po -o src/i18n/locales/zh_CN/LC_MESSAGES/messages.mo
msgfmt src/i18n/locales/en_US/LC_MESSAGES/messages.po -o src/i18n/locales/en_US/LC_MESSAGES/messages.mo
# Merges modules/*.po -> LC_MESSAGES/messages.po -> messages.mo
python tools/i18n/build_mo.py
```
Add to Makefile or script:
```makefile
compile-i18n:
msgfmt src/i18n/locales/zh_CN/LC_MESSAGES/messages.po -o src/i18n/locales/zh_CN/LC_MESSAGES/messages.mo
msgfmt src/i18n/locales/en_US/LC_MESSAGES/messages.po -o src/i18n/locales/en_US/LC_MESSAGES/messages.mo
```
---
@@ -428,10 +388,10 @@ def load_save(path: str):
| File | Description |
|------|-------------|
| `src/i18n/__init__.py` | Translation module with `t()` function |
| `src/i18n/locales/zh_CN/LC_MESSAGES/messages.po` | Chinese translations |
| `src/i18n/locales/zh_CN/LC_MESSAGES/messages.mo` | Compiled Chinese |
| `src/i18n/locales/en_US/LC_MESSAGES/messages.po` | English translations |
| `src/i18n/locales/en_US/LC_MESSAGES/messages.mo` | Compiled English |
| `static/locales/zh-CN/LC_MESSAGES/messages.po` | Generated Chinese translations (Merged) |
| `static/locales/zh-CN/LC_MESSAGES/messages.mo` | Compiled Chinese |
| `static/locales/en-US/LC_MESSAGES/messages.po` | Generated English translations (Merged) |
| `static/locales/en-US/LC_MESSAGES/messages.mo` | Compiled English |
| `tests/test_i18n.py` | Unit tests |
### Modified Files

View File

@@ -26,14 +26,14 @@ id,name_id,name,desc_id,desc,danger_prob
hidden_domain_wood,HIDDEN_DOMAIN_WOOD_NAME,万木残界,HIDDEN_DOMAIN_WOOD_DESC,此乃...,0.3
```
### 2. Translation Files (`src/i18n/locales/`)
### 2. Translation Files (`static/locales/`)
- **`game_configs.po`**: Contains translations for config IDs.
- Generated/Updated via tool scanning CSVs.
- **`messages.po`**: Contains translations for dynamic code strings (existing).
### 3. Build Process
- `tools/i18n/build_mo.py` merges `messages.po` and `game_configs.po` into a single `messages.mo` for runtime efficiency.
- Or loads them as separate domains (Current decision: Merge for simplicity).
- `tools/i18n/build_mo.py` compiles `game_configs.po` into `game_configs.mo`.
- Runtime uses separate domains: `messages` (default) and `game_configs` (fallback).
### 4. Runtime Loading (`src/utils/df.py`)
1. Load CSV from `static/game_configs/`.
@@ -50,8 +50,8 @@ hidden_domain_wood,HIDDEN_DOMAIN_WOOD_NAME,万木残界,HIDDEN_DOMAIN_WOOD_DESC,
3. Fill `name`/`desc` with Chinese text (Reference).
4. Fill `name_id`/`desc_id` (Convention: `{FILE}_{ID}_NAME`).
5. Run extraction tool (to be created) to update `game_configs.pot` and `.po` files.
6. Add English translation in `src/i18n/locales/en_US/LC_MESSAGES/game_configs.po`.
7. (Optional) Run `build_mo.py` to test locally (Auto-run in build pipeline).
6. Add English translation in `static/locales/en-US/LC_MESSAGES/game_configs.po`.
7. Run `python tools/i18n/build_mo.py` to compile translation files.
## Tools

View File

@@ -11,7 +11,7 @@ from src.classes.world import World
from src.classes.event import Event, NULL_EVENT
from src.utils.llm import call_llm_with_task_name
from src.classes.typings import ACTION_NAME_PARAMS_PAIRS
from src.classes.actions import ACTION_INFOS_STR
from src.classes.actions import get_action_infos_str
from src.utils.config import CONFIG
if TYPE_CHECKING:
@@ -51,7 +51,7 @@ class LLMAI(AI):
"""
异步决策逻辑通过LLM决定执行什么动作和参数
"""
general_action_infos = ACTION_INFOS_STR
general_action_infos = get_action_infos_str()
async def decide_one(avatar: Avatar):
# 获取基于该角色已知区域的世界信息(包含距离计算)

View File

@@ -7,7 +7,7 @@ import uuid
import time
from datetime import datetime
from src.classes.calendar import Month, Year, MonthStamp
from src.classes.calendar import Month, Year, MonthStamp, get_date_str
@dataclass
class Event:
@@ -25,9 +25,7 @@ class Event:
created_at: float = field(default_factory=time.time)
def __str__(self) -> str:
year = self.month_stamp.get_year()
month = self.month_stamp.get_month()
return f"{year}{month}月: {self.content}"
return f"{get_date_str(int(self.month_stamp))}: {self.content}"
def to_dict(self) -> dict:
"""转换为可序列化的字典"""

View File

@@ -85,7 +85,7 @@ class Sect:
effect_part = t(" Effect: {effect_desc}", effect_desc=self.effect_desc) if self.effect_desc else ""
return t("{sect_name} (Alignment: {alignment}, Style: {style}, Headquarters: {hq_name}){effect}",
sect_name=self.name, alignment=str(self.alignment),
style=self.member_act_style, hq_name=hq.name, effect=effect_part)
style=t(self.member_act_style), hq_name=hq.name, effect=effect_part)
def get_rank_name(self, rank: "SectRank") -> str:
"""
@@ -100,7 +100,8 @@ class Sect:
from src.classes.sect_ranks import SectRank, DEFAULT_RANK_NAMES
from src.i18n import t
# 优先使用自定义名称,否则使用默认名称
return self.rank_names.get(rank.value, DEFAULT_RANK_NAMES.get(rank, t("Disciple")))
val = self.rank_names.get(rank.value, DEFAULT_RANK_NAMES.get(rank, t("Disciple")))
return t(val)
def get_structured_info(self) -> dict:
hq = self.headquarter
@@ -327,7 +328,7 @@ def get_sect_info_with_rank(avatar: "Avatar", detailed: bool = False) -> str:
# 构造详细信息,使用标准空格和括号
detail_content = t("(Alignment: {alignment}, Style: {style}, Headquarters: {hq_name}){effect}",
alignment=avatar.sect.alignment,
style=avatar.sect.member_act_style,
style=t(avatar.sect.member_act_style),
hq_name=hq.name,
effect=effect_part)

View File

@@ -20,25 +20,22 @@ logger = logging.getLogger(__name__)
def _get_locale_dir() -> Path:
"""Get the locales directory path."""
return Path(__file__).parent / "locales"
# src/i18n/__init__.py -> src/i18n -> src -> root
return Path(__file__).resolve().parent.parent.parent / "static" / "locales"
def _lang_to_locale(lang_code: str) -> str:
"""
Convert language code to gettext locale name.
Now we use the same code as folder name (e.g. zh-CN).
Args:
lang_code: Language code like "zh-CN" or "en-US".
Returns:
Locale name like "zh_CN" or "en_US".
Locale name like "zh-CN" or "en-US".
"""
locale_map = {
"zh-CN": "zh_CN",
"zh-TW": "zh_TW",
"en-US": "en_US",
}
return locale_map.get(lang_code, "zh_CN")
return lang_code
def _get_current_lang() -> str:

View File

@@ -1,48 +0,0 @@
#
msgid ""
msgstr ""
"Project-Id-Version: cultivation-world-simulator 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-01-20 00:00+0000\n"
"PO-Revision-Date: 2024-01-20 00:00+0000\n"
"Last-Translator: \n"
"Language-Team: English\n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
# Sect Rank
msgid "patriarch"
msgstr "Patriarch"
msgid "elder"
msgstr "Elder"
msgid "inner_disciple"
msgstr "Inner Disciple"
msgid "outer_disciple"
msgstr "Outer Disciple"
# ============================================================================
# Sect System - Sects
# ============================================================================
msgid "{sect_name} (Alignment: {alignment}, Headquarters: {hq_name})"
msgstr "{sect_name} (Alignment: {alignment}, Headquarters: {hq_name})"
msgid ""
"{sect_name} (Alignment: {alignment}, Style: {style}, Headquarters: "
"{hq_name}){effect}"
msgstr ""
"{sect_name} (Alignment: {alignment}, Style: {style}, Headquarters: "
"{hq_name}){effect}"
# ============================================================================
# Relation & Root & Appearance & Sect (Refined)
# ============================================================================
msgid "Unknown reason"
msgstr "Unknown reason"
msgid "{name} (Deceased: {reason})"
msgstr "{name} (Deceased: {reason})"

View File

@@ -1,16 +1,16 @@
id,name_id,desc_id,name,desc,member_act_style,alignment,weight,preferred_weapon,effects,rank_names
,名称ID,描述ID,,宗门名称与描述,宗门成员行事风格,阵营(正/中立/邪),权重(默认1),倾向兵器类型,effects(JSON形式支持宽松格式见effects.py说明),自定义职位(掌门;长老;内门;外门)
1,SECT_1_NAME,SECT_1_DESC,明心剑宗,通玄界东方第一宗,以无上剑道称雄于世。云纹阵法为不传心法。【剑道专精】作为剑修,你使用剑类兵器时战力惊人,且在剑道上的感悟速度远超常人。,清明克己,行止如一。重剑与心法并重,讲究明心见性。,RIGHTEOUS,1,SWORD,"{extra_battle_strength_points: 3, extra_weapon_proficiency_gain: 0.5}",
2,SECT_2_NAME,SECT_2_DESC,百兽宗,以驯养灵兽闻名,豢养各种妖兽灵怪为战力。【御兽大师】你拥有独特的御兽天赋,捕捉妖兽对你来说轻而易举,善于驱使兽群为你而战。,言语直接,重视力量与血性,崇尚狩猎与搏斗。,EVIL,1,WHIP,"{extra_catch_success_rate: 0.25, extra_hunt_materials: 1}",谷主;供奉;驭兽师;扈从
3,SECT_3_NAME,SECT_3_DESC,水镜宗,"正道十宗之一,实则严守中立。拥有仙界异宝""彻天水镜""可预知未来。【趋吉避凶】你拥有超乎常人的直觉,视野开阔,且极易在探索中发现奇遇。",处事冷静圆融,喜以柔克刚,擅借力与反制。,NEUTRAL,1,FAN,"{extra_observation_radius: 2, extra_fortune_probability: 0.002, extra_refine_success_rate: 0.05}",镜主;掌镜人;传人;侍镜
4,SECT_4_NAME,SECT_4_DESC,冥王宗,行走幽冥之道,术法阴冷狠厉。【通幽】你修行幽冥之法,心志坚定,突破瓶颈时心无杂念,成功率更高。,言辞冷厉少情,敬畏因果而不惧杀伐,偏向效率与结果。,EVIL,1,FAN,"{extra_breakthrough_success_rate: 0.1, extra_retreat_success_rate: 0.1}",殿主;判官;无常;鬼卒
5,SECT_5_NAME,SECT_5_DESC,朱勾宗,邪宗大派。以炼器、机关、暗杀闻名于世,素来阴毒冷僻。【暗杀专家】你精通潜伏与刺杀,对于强敌,避开正面交锋、伺机暗杀往往是你最佳的制胜之道。,直面欲望与代价,不惧黑暗,以攻伐见长。,EVIL,1,HIDDEN_WEAPON,"{extra_assassinate_success_rate: 0.15, extra_battle_strength_points: 1, extra_cast_success_rate: 0.05}",楼主;掌刑使;影刺;探子
6,SECT_6_NAME,SECT_6_DESC,合欢宗,以情入道,靠双修增进修为,善驭人心,长于权变。【双修秘术】你的体质特殊,通过双修能获得远超常人的修为提升,这是你提升境界的最佳捷径。,辞令婉转,善于拿捏人欲与局势,以柔制刚。,NEUTRAL,1,ZITHER,"{extra_dual_cultivation_exp: 150, shop_buy_price_reduction: 0.1}",宫主;护法;媚仙;侍童
7,SECT_7_NAME,SECT_7_DESC,镇魂宗,铁血风格,擅安魂、封邪、渡厄,兼有刚烈镇压之术。【金刚不坏】你修习护体神功,拥有极强的肉身防御与伤害减免能力,如山岳般不可撼动。,肃穆沉稳,重安魂镇邪,少言而果决。,RIGHTEOUS,1,STAFF,"{extra_max_hp: 100, damage_reduction: 0.15}",住持;首座;行者;居士
8,SECT_8_NAME,SECT_8_DESC,幽魂噬影宗,镇宗典籍《幽冥录》。幽明气为根基。【如影随形】你极擅身法与遁术,遇到危险时总能全身而退,亦能伺机刺杀落单之敌。,行事隐秘果断,重结果轻虚名,擅潜行与出其不意。,EVIL,1,SABER,"{extra_escape_success_rate: 0.4, extra_assassinate_success_rate: 0.15}",门主;护法;影卫;探子
9,SECT_9_NAME,SECT_9_DESC,千帆城,炼器大宗,巧匠云集。著名法宝有灵灭丝、定魂蓝星等。商旅云集,自成体系。【巧夺天工】你深谙炼器与经商之道,温养兵器时常能使其脱胎换骨,且在交易中总能获利。,务实精明,重交易与信誉,崇尚规则与秩序。,NEUTRAL,1,SPEAR,"{extra_item_sell_price_multiplier: 0.05, extra_weapon_upgrade_chance: 0.15, extra_cast_success_rate: 0.05, shop_buy_price_reduction: 0.05}",城主;大供奉;执事;学徒
10,SECT_10_NAME,SECT_10_DESC,妙化宗,精擅音律杀伐与精神操控,功法诡谲阴柔,以无形琴音乱人心智,杀人于无形。【魔音贯耳】你擅长以音律乱人心智,灵力深厚绵长,虽不擅肉搏,但手段诡谲。,文雅缥缈中深藏算计,喜用言语与音律掌控局势,杀伐不沾烟火气。,EVIL,1,ZITHER,"{extra_escape_success_rate: 0.5, extra_misfortune_probability: -0.005}",
11,SECT_11_NAME,SECT_11_DESC,回玄宗,当世第一阵法大派,以阵法阵诀独步天下,讲究阵法推演与巧思妙用。【阵法聚灵】你善用阵法辅助修炼,能够聚集天地灵气,修炼速度快于常人,且常有意外收获。,严谨细致,追求技术极致,战斗中擅长以后手阵法反制敌人,步步为营。,RIGHTEOUS,1,HIDDEN_WEAPON,"{cultivate_duration_reduction: 0.1, extra_fortune_probability: 0.005}",
12,SECT_12_NAME,SECT_12_DESC,不夜城,修习极光玄真法,以万里极光壁的绝对防御闻名于世。【生生不息】你的生命力极其顽强,疗伤效果倍增,寿元亦远超同阶修士。,坚韧顽强,在逆境中图强,行事光明磊落但也深谋远虑,极其护短。,RIGHTEOUS,1,FAN,"{extra_hp_recovery_rate: 0.5, extra_max_lifespan: 20}",城主;阁老;执令;守夜人
13,SECT_13_NAME,SECT_13_DESC,天行健宗,专修浩然之气,行事正大光明,刚健果决,对邪魔外道有极强的克制力。【浩然正气】你养浩然之气,气脉悠长,面对境界低于自己的敌人时,能发挥出极强的压制力。,恪守原则,讲究道义,除魔卫道一马当先,宁折不弯。,RIGHTEOUS,1,SWORD,{realm_suppression_bonus: 0.15},
14,SECT_14_NAME,SECT_14_DESC,噬魔宗,通玄界第一魔宗,行事霸道残忍,擅长搜精噬血与肉体魔功。【搜刮成性】你崇尚力量与掠夺,搜刮凡人虽有伤天和,但能为你带来惊人的财富与资源。,强者为尊,随心所欲,崇尚绝对的力量与杀戮,视众生为血食。,EVIL,1,SABER,"{extra_plunder_multiplier: 2.0, extra_battle_strength_points: 2}",
1,SECT_1_NAME,SECT_1_DESC,明心剑宗,通玄界东方第一宗,以无上剑道称雄于世。云纹阵法为不传心法。【剑道专精】作为剑修,你使用剑类兵器时战力惊人,且在剑道上的感悟速度远超常人。,SECT_1_STYLE,RIGHTEOUS,1,SWORD,"{extra_battle_strength_points: 3, extra_weapon_proficiency_gain: 0.5}",
2,SECT_2_NAME,SECT_2_DESC,百兽宗,以驯养灵兽闻名,豢养各种妖兽灵怪为战力。【御兽大师】你拥有独特的御兽天赋,捕捉妖兽对你来说轻而易举,善于驱使兽群为你而战。,SECT_2_STYLE,EVIL,1,WHIP,"{extra_catch_success_rate: 0.25, extra_hunt_materials: 1}",SECT_2_RANK_PATRIARCH;SECT_2_RANK_ELDER;SECT_2_RANK_INNER;SECT_2_RANK_OUTER
3,SECT_3_NAME,SECT_3_DESC,水镜宗,"正道十宗之一,实则严守中立。拥有仙界异宝""彻天水镜""可预知未来。【趋吉避凶】你拥有超乎常人的直觉,视野开阔,且极易在探索中发现奇遇。",SECT_3_STYLE,NEUTRAL,1,FAN,"{extra_observation_radius: 2, extra_fortune_probability: 0.002, extra_refine_success_rate: 0.05}",SECT_3_RANK_PATRIARCH;SECT_3_RANK_ELDER;SECT_3_RANK_INNER;SECT_3_RANK_OUTER
4,SECT_4_NAME,SECT_4_DESC,冥王宗,行走幽冥之道,术法阴冷狠厉。【通幽】你修行幽冥之法,心志坚定,突破瓶颈时心无杂念,成功率更高。,SECT_4_STYLE,EVIL,1,FAN,"{extra_breakthrough_success_rate: 0.1, extra_retreat_success_rate: 0.1}",SECT_4_RANK_PATRIARCH;SECT_4_RANK_ELDER;SECT_4_RANK_INNER;SECT_4_RANK_OUTER
5,SECT_5_NAME,SECT_5_DESC,朱勾宗,邪宗大派。以炼器、机关、暗杀闻名于世,素来阴毒冷僻。【暗杀专家】你精通潜伏与刺杀,对于强敌,避开正面交锋、伺机暗杀往往是你最佳的制胜之道。,SECT_5_STYLE,EVIL,1,HIDDEN_WEAPON,"{extra_assassinate_success_rate: 0.15, extra_battle_strength_points: 1, extra_cast_success_rate: 0.05}",SECT_5_RANK_PATRIARCH;SECT_5_RANK_ELDER;SECT_5_RANK_INNER;SECT_5_RANK_OUTER
6,SECT_6_NAME,SECT_6_DESC,合欢宗,以情入道,靠双修增进修为,善驭人心,长于权变。【双修秘术】你的体质特殊,通过双修能获得远超常人的修为提升,这是你提升境界的最佳捷径。,SECT_6_STYLE,NEUTRAL,1,ZITHER,"{extra_dual_cultivation_exp: 150, shop_buy_price_reduction: 0.1}",SECT_6_RANK_PATRIARCH;SECT_6_RANK_ELDER;SECT_6_RANK_INNER;SECT_6_RANK_OUTER
7,SECT_7_NAME,SECT_7_DESC,镇魂宗,铁血风格,擅安魂、封邪、渡厄,兼有刚烈镇压之术。【金刚不坏】你修习护体神功,拥有极强的肉身防御与伤害减免能力,如山岳般不可撼动。,SECT_7_STYLE,RIGHTEOUS,1,STAFF,"{extra_max_hp: 100, damage_reduction: 0.15}",SECT_7_RANK_PATRIARCH;SECT_7_RANK_ELDER;SECT_7_RANK_INNER;SECT_7_RANK_OUTER
8,SECT_8_NAME,SECT_8_DESC,幽魂噬影宗,镇宗典籍《幽冥录》。幽明气为根基。【如影随形】你极擅身法与遁术,遇到危险时总能全身而退,亦能伺机刺杀落单之敌。,SECT_8_STYLE,EVIL,1,SABER,"{extra_escape_success_rate: 0.4, extra_assassinate_success_rate: 0.15}",SECT_8_RANK_PATRIARCH;SECT_8_RANK_ELDER;SECT_8_RANK_INNER;SECT_8_RANK_OUTER
9,SECT_9_NAME,SECT_9_DESC,千帆城,炼器大宗,巧匠云集。著名法宝有灵灭丝、定魂蓝星等。商旅云集,自成体系。【巧夺天工】你深谙炼器与经商之道,温养兵器时常能使其脱胎换骨,且在交易中总能获利。,SECT_9_STYLE,NEUTRAL,1,SPEAR,"{extra_item_sell_price_multiplier: 0.05, extra_weapon_upgrade_chance: 0.15, extra_cast_success_rate: 0.05, shop_buy_price_reduction: 0.05}",SECT_9_RANK_PATRIARCH;SECT_9_RANK_ELDER;SECT_9_RANK_INNER;SECT_9_RANK_OUTER
10,SECT_10_NAME,SECT_10_DESC,妙化宗,精擅音律杀伐与精神操控,功法诡谲阴柔,以无形琴音乱人心智,杀人于无形。【魔音贯耳】你擅长以音律乱人心智,灵力深厚绵长,虽不擅肉搏,但手段诡谲。,SECT_10_STYLE,EVIL,1,ZITHER,"{extra_escape_success_rate: 0.5, extra_misfortune_probability: -0.005}",
11,SECT_11_NAME,SECT_11_DESC,回玄宗,当世第一阵法大派,以阵法阵诀独步天下,讲究阵法推演与巧思妙用。【阵法聚灵】你善用阵法辅助修炼,能够聚集天地灵气,修炼速度快于常人,且常有意外收获。,SECT_11_STYLE,RIGHTEOUS,1,HIDDEN_WEAPON,"{cultivate_duration_reduction: 0.1, extra_fortune_probability: 0.005}",
12,SECT_12_NAME,SECT_12_DESC,不夜城,修习极光玄真法,以万里极光壁的绝对防御闻名于世。【生生不息】你的生命力极其顽强,疗伤效果倍增,寿元亦远超同阶修士。,SECT_12_STYLE,RIGHTEOUS,1,FAN,"{extra_hp_recovery_rate: 0.5, extra_max_lifespan: 20}",SECT_12_RANK_PATRIARCH;SECT_12_RANK_ELDER;SECT_12_RANK_INNER;SECT_12_RANK_OUTER
13,SECT_13_NAME,SECT_13_DESC,天行健宗,专修浩然之气,行事正大光明,刚健果决,对邪魔外道有极强的克制力。【浩然正气】你养浩然之气,气脉悠长,面对境界低于自己的敌人时,能发挥出极强的压制力。,SECT_13_STYLE,RIGHTEOUS,1,SWORD,{realm_suppression_bonus: 0.15},
14,SECT_14_NAME,SECT_14_DESC,噬魔宗,通玄界第一魔宗,行事霸道残忍,擅长搜精噬血与肉体魔功。【搜刮成性】你崇尚力量与掠夺,搜刮凡人虽有伤天和,但能为你带来惊人的财富与资源。,SECT_14_STYLE,EVIL,1,SABER,"{extra_plunder_multiplier: 2.0, extra_battle_strength_points: 2}",
1 id name_id desc_id name desc member_act_style alignment weight preferred_weapon effects rank_names
2 名称ID 描述ID 宗门名称与描述 宗门成员行事风格 阵营(正/中立/邪) 权重(默认1) 倾向兵器类型 effects(JSON形式,支持宽松格式,见effects.py说明) 自定义职位(掌门;长老;内门;外门)
3 1 SECT_1_NAME SECT_1_DESC 明心剑宗 通玄界东方第一宗,以无上剑道称雄于世。云纹阵法为不传心法。【剑道专精】作为剑修,你使用剑类兵器时战力惊人,且在剑道上的感悟速度远超常人。 清明克己,行止如一。重剑与心法并重,讲究明心见性。 SECT_1_STYLE RIGHTEOUS 1 SWORD {extra_battle_strength_points: 3, extra_weapon_proficiency_gain: 0.5}
4 2 SECT_2_NAME SECT_2_DESC 百兽宗 以驯养灵兽闻名,豢养各种妖兽灵怪为战力。【御兽大师】你拥有独特的御兽天赋,捕捉妖兽对你来说轻而易举,善于驱使兽群为你而战。 言语直接,重视力量与血性,崇尚狩猎与搏斗。 SECT_2_STYLE EVIL 1 WHIP {extra_catch_success_rate: 0.25, extra_hunt_materials: 1} 谷主;供奉;驭兽师;扈从 SECT_2_RANK_PATRIARCH;SECT_2_RANK_ELDER;SECT_2_RANK_INNER;SECT_2_RANK_OUTER
5 3 SECT_3_NAME SECT_3_DESC 水镜宗 正道十宗之一,实则严守中立。拥有仙界异宝"彻天水镜"可预知未来。【趋吉避凶】你拥有超乎常人的直觉,视野开阔,且极易在探索中发现奇遇。 处事冷静圆融,喜以柔克刚,擅借力与反制。 SECT_3_STYLE NEUTRAL 1 FAN {extra_observation_radius: 2, extra_fortune_probability: 0.002, extra_refine_success_rate: 0.05} 镜主;掌镜人;传人;侍镜 SECT_3_RANK_PATRIARCH;SECT_3_RANK_ELDER;SECT_3_RANK_INNER;SECT_3_RANK_OUTER
6 4 SECT_4_NAME SECT_4_DESC 冥王宗 行走幽冥之道,术法阴冷狠厉。【通幽】你修行幽冥之法,心志坚定,突破瓶颈时心无杂念,成功率更高。 言辞冷厉少情,敬畏因果而不惧杀伐,偏向效率与结果。 SECT_4_STYLE EVIL 1 FAN {extra_breakthrough_success_rate: 0.1, extra_retreat_success_rate: 0.1} 殿主;判官;无常;鬼卒 SECT_4_RANK_PATRIARCH;SECT_4_RANK_ELDER;SECT_4_RANK_INNER;SECT_4_RANK_OUTER
7 5 SECT_5_NAME SECT_5_DESC 朱勾宗 邪宗大派。以炼器、机关、暗杀闻名于世,素来阴毒冷僻。【暗杀专家】你精通潜伏与刺杀,对于强敌,避开正面交锋、伺机暗杀往往是你最佳的制胜之道。 直面欲望与代价,不惧黑暗,以攻伐见长。 SECT_5_STYLE EVIL 1 HIDDEN_WEAPON {extra_assassinate_success_rate: 0.15, extra_battle_strength_points: 1, extra_cast_success_rate: 0.05} 楼主;掌刑使;影刺;探子 SECT_5_RANK_PATRIARCH;SECT_5_RANK_ELDER;SECT_5_RANK_INNER;SECT_5_RANK_OUTER
8 6 SECT_6_NAME SECT_6_DESC 合欢宗 以情入道,靠双修增进修为,善驭人心,长于权变。【双修秘术】你的体质特殊,通过双修能获得远超常人的修为提升,这是你提升境界的最佳捷径。 辞令婉转,善于拿捏人欲与局势,以柔制刚。 SECT_6_STYLE NEUTRAL 1 ZITHER {extra_dual_cultivation_exp: 150, shop_buy_price_reduction: 0.1} 宫主;护法;媚仙;侍童 SECT_6_RANK_PATRIARCH;SECT_6_RANK_ELDER;SECT_6_RANK_INNER;SECT_6_RANK_OUTER
9 7 SECT_7_NAME SECT_7_DESC 镇魂宗 铁血风格,擅安魂、封邪、渡厄,兼有刚烈镇压之术。【金刚不坏】你修习护体神功,拥有极强的肉身防御与伤害减免能力,如山岳般不可撼动。 肃穆沉稳,重安魂镇邪,少言而果决。 SECT_7_STYLE RIGHTEOUS 1 STAFF {extra_max_hp: 100, damage_reduction: 0.15} 住持;首座;行者;居士 SECT_7_RANK_PATRIARCH;SECT_7_RANK_ELDER;SECT_7_RANK_INNER;SECT_7_RANK_OUTER
10 8 SECT_8_NAME SECT_8_DESC 幽魂噬影宗 镇宗典籍《幽冥录》。幽明气为根基。【如影随形】你极擅身法与遁术,遇到危险时总能全身而退,亦能伺机刺杀落单之敌。 行事隐秘果断,重结果轻虚名,擅潜行与出其不意。 SECT_8_STYLE EVIL 1 SABER {extra_escape_success_rate: 0.4, extra_assassinate_success_rate: 0.15} 门主;护法;影卫;探子 SECT_8_RANK_PATRIARCH;SECT_8_RANK_ELDER;SECT_8_RANK_INNER;SECT_8_RANK_OUTER
11 9 SECT_9_NAME SECT_9_DESC 千帆城 炼器大宗,巧匠云集。著名法宝有灵灭丝、定魂蓝星等。商旅云集,自成体系。【巧夺天工】你深谙炼器与经商之道,温养兵器时常能使其脱胎换骨,且在交易中总能获利。 务实精明,重交易与信誉,崇尚规则与秩序。 SECT_9_STYLE NEUTRAL 1 SPEAR {extra_item_sell_price_multiplier: 0.05, extra_weapon_upgrade_chance: 0.15, extra_cast_success_rate: 0.05, shop_buy_price_reduction: 0.05} 城主;大供奉;执事;学徒 SECT_9_RANK_PATRIARCH;SECT_9_RANK_ELDER;SECT_9_RANK_INNER;SECT_9_RANK_OUTER
12 10 SECT_10_NAME SECT_10_DESC 妙化宗 精擅音律杀伐与精神操控,功法诡谲阴柔,以无形琴音乱人心智,杀人于无形。【魔音贯耳】你擅长以音律乱人心智,灵力深厚绵长,虽不擅肉搏,但手段诡谲。 文雅缥缈中深藏算计,喜用言语与音律掌控局势,杀伐不沾烟火气。 SECT_10_STYLE EVIL 1 ZITHER {extra_escape_success_rate: 0.5, extra_misfortune_probability: -0.005}
13 11 SECT_11_NAME SECT_11_DESC 回玄宗 当世第一阵法大派,以阵法阵诀独步天下,讲究阵法推演与巧思妙用。【阵法聚灵】你善用阵法辅助修炼,能够聚集天地灵气,修炼速度快于常人,且常有意外收获。 严谨细致,追求技术极致,战斗中擅长以后手阵法反制敌人,步步为营。 SECT_11_STYLE RIGHTEOUS 1 HIDDEN_WEAPON {cultivate_duration_reduction: 0.1, extra_fortune_probability: 0.005}
14 12 SECT_12_NAME SECT_12_DESC 不夜城 修习极光玄真法,以万里极光壁的绝对防御闻名于世。【生生不息】你的生命力极其顽强,疗伤效果倍增,寿元亦远超同阶修士。 坚韧顽强,在逆境中图强,行事光明磊落但也深谋远虑,极其护短。 SECT_12_STYLE RIGHTEOUS 1 FAN {extra_hp_recovery_rate: 0.5, extra_max_lifespan: 20} 城主;阁老;执令;守夜人 SECT_12_RANK_PATRIARCH;SECT_12_RANK_ELDER;SECT_12_RANK_INNER;SECT_12_RANK_OUTER
15 13 SECT_13_NAME SECT_13_DESC 天行健宗 专修浩然之气,行事正大光明,刚健果决,对邪魔外道有极强的克制力。【浩然正气】你养浩然之气,气脉悠长,面对境界低于自己的敌人时,能发挥出极强的压制力。 恪守原则,讲究道义,除魔卫道一马当先,宁折不弯。 SECT_13_STYLE RIGHTEOUS 1 SWORD {realm_suppression_bonus: 0.15}
16 14 SECT_14_NAME SECT_14_DESC 噬魔宗 通玄界第一魔宗,行事霸道残忍,擅长搜精噬血与肉体魔功。【搜刮成性】你崇尚力量与掠夺,搜刮凡人虽有伤天和,但能为你带来惊人的财富与资源。 强者为尊,随心所欲,崇尚绝对的力量与杀戮,视众生为血食。 SECT_14_STYLE EVIL 1 SABER {extra_plunder_multiplier: 2.0, extra_battle_strength_points: 2}

Binary file not shown.

View File

@@ -2357,6 +2357,184 @@ msgstr "Unknown reason"
msgid "{name} (Deceased: {reason})"
msgstr "{name} (Deceased: {reason})"
msgid "SECT_1_STYLE"
msgstr ""
"Clear-minded and self-disciplined, actions matching words. Valuing both "
"sword and heart, emphasizing understanding one's true nature."
msgid "SECT_2_STYLE"
msgstr ""
"Direct in speech, valuing strength and bloodlines, worshipping hunting and "
"combat."
msgid "SECT_2_RANK_PATRIARCH"
msgstr "Valley Master"
msgid "SECT_2_RANK_ELDER"
msgstr "Grand Elder"
msgid "SECT_2_RANK_INNER"
msgstr "Beast Tamer"
msgid "SECT_2_RANK_OUTER"
msgstr "Retainer"
msgid "SECT_3_STYLE"
msgstr ""
"Calm and tactful, preferring softness to overcome hardness, skilled in "
"borrowing force and counter-control."
msgid "SECT_3_RANK_PATRIARCH"
msgstr "Mirror Master"
msgid "SECT_3_RANK_ELDER"
msgstr "Mirror Holder"
msgid "SECT_3_RANK_INNER"
msgstr "Successor"
msgid "SECT_3_RANK_OUTER"
msgstr "Mirror Attendant"
msgid "SECT_4_STYLE"
msgstr ""
"Cold and emotionless in speech, revering karma but fearless in slaughter, "
"favoring efficiency and results."
msgid "SECT_4_RANK_PATRIARCH"
msgstr "Hall Master"
msgid "SECT_4_RANK_ELDER"
msgstr "Judge"
msgid "SECT_4_RANK_INNER"
msgstr "Impermanence"
msgid "SECT_4_RANK_OUTER"
msgstr "Ghost Soldier"
msgid "SECT_5_STYLE"
msgstr ""
"Facing desires and costs directly, fearless of darkness, excelling in "
"offensive warfare."
msgid "SECT_5_RANK_PATRIARCH"
msgstr "Tower Lord"
msgid "SECT_5_RANK_ELDER"
msgstr "Punishment Officer"
msgid "SECT_5_RANK_INNER"
msgstr "Shadow Assassin"
msgid "SECT_5_RANK_OUTER"
msgstr "Scout"
msgid "SECT_6_STYLE"
msgstr ""
"Tactful in speech, skilled in manipulating desires and situations, "
"overcoming hardness with softness."
msgid "SECT_6_RANK_PATRIARCH"
msgstr "Palace Master"
msgid "SECT_6_RANK_ELDER"
msgstr "Protector"
msgid "SECT_6_RANK_INNER"
msgstr "Charming Immortal"
msgid "SECT_6_RANK_OUTER"
msgstr "Attendant Boy"
msgid "SECT_7_STYLE"
msgstr ""
"Solemn and steady, focusing on soothing souls and suppressing evil, few "
"words but decisive."
msgid "SECT_7_RANK_PATRIARCH"
msgstr "Abbot"
msgid "SECT_7_RANK_ELDER"
msgstr "Chief Monk"
msgid "SECT_7_RANK_INNER"
msgstr "Walker"
msgid "SECT_7_RANK_OUTER"
msgstr "Layman"
msgid "SECT_8_STYLE"
msgstr ""
"Secretive and decisive, valuing results over reputation, skilled in stealth "
"and surprise attacks."
msgid "SECT_8_RANK_PATRIARCH"
msgstr "Sect Master"
msgid "SECT_8_RANK_ELDER"
msgstr "Protector"
msgid "SECT_8_RANK_INNER"
msgstr "Shadow Guard"
msgid "SECT_8_RANK_OUTER"
msgstr "Scout"
msgid "SECT_9_STYLE"
msgstr ""
"Pragmatic and shrewd, valuing trade and reputation, upholding rules and "
"order."
msgid "SECT_9_RANK_PATRIARCH"
msgstr "City Lord"
msgid "SECT_9_RANK_ELDER"
msgstr "Grand Elder"
msgid "SECT_9_RANK_INNER"
msgstr "Deacon"
msgid "SECT_9_RANK_OUTER"
msgstr "Apprentice"
msgid "SECT_10_STYLE"
msgstr ""
"Calculating beneath elegance, preferring to control situations with words "
"and melody, killing without smoke and fire."
msgid "SECT_11_STYLE"
msgstr ""
"Rigorous and meticulous, pursuing technical perfection, skilled in counter-"
"attacking with formations, advancing step by step."
msgid "SECT_12_STYLE"
msgstr ""
"Resilient and tenacious, striving in adversity, open and aboveboard but far-"
"sighted, extremely protective of their own."
msgid "SECT_12_RANK_PATRIARCH"
msgstr "City Lord"
msgid "SECT_12_RANK_ELDER"
msgstr "Pavilion Elder"
msgid "SECT_12_RANK_INNER"
msgstr "Commander"
msgid "SECT_12_RANK_OUTER"
msgstr "Night Watchman"
msgid "SECT_13_STYLE"
msgstr ""
"Adhering to principles, stressing justice, leading in exorcising demons, "
"rather break than bend."
msgid "SECT_14_STYLE"
msgstr ""
"Might makes right, doing as one pleases, worshipping absolute power and "
"slaughter, viewing all beings as food."
# Separators
msgid "relation_separator"
msgstr "; "

View File

@@ -0,0 +1,199 @@
#
msgid ""
msgstr ""
"Project-Id-Version: cultivation-world-simulator 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-01-20 00:00+0000\n"
"PO-Revision-Date: 2024-01-20 00:00+0000\n"
"Last-Translator: \n"
"Language-Team: English\n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
# Sect Rank
msgid "patriarch"
msgstr "Patriarch"
msgid "elder"
msgstr "Elder"
msgid "inner_disciple"
msgstr "Inner Disciple"
msgid "outer_disciple"
msgstr "Outer Disciple"
# ============================================================================
# Sect System - Sects
# ============================================================================
msgid "{sect_name} (Alignment: {alignment}, Headquarters: {hq_name})"
msgstr "{sect_name} (Alignment: {alignment}, Headquarters: {hq_name})"
msgid ""
"{sect_name} (Alignment: {alignment}, Style: {style}, Headquarters: "
"{hq_name}){effect}"
msgstr ""
"{sect_name} (Alignment: {alignment}, Style: {style}, Headquarters: "
"{hq_name}){effect}"
# ============================================================================
# Relation & Root & Appearance & Sect (Refined)
# ============================================================================
msgid "Unknown reason"
msgstr "Unknown reason"
msgid "{name} (Deceased: {reason})"
msgstr "{name} (Deceased: {reason})"
msgid "SECT_1_STYLE"
msgstr "Clear-minded and self-disciplined, actions matching words. Valuing both sword and heart, emphasizing understanding one's true nature."
msgid "SECT_2_STYLE"
msgstr "Direct in speech, valuing strength and bloodlines, worshipping hunting and combat."
msgid "SECT_2_RANK_PATRIARCH"
msgstr "Valley Master"
msgid "SECT_2_RANK_ELDER"
msgstr "Grand Elder"
msgid "SECT_2_RANK_INNER"
msgstr "Beast Tamer"
msgid "SECT_2_RANK_OUTER"
msgstr "Retainer"
msgid "SECT_3_STYLE"
msgstr "Calm and tactful, preferring softness to overcome hardness, skilled in borrowing force and counter-control."
msgid "SECT_3_RANK_PATRIARCH"
msgstr "Mirror Master"
msgid "SECT_3_RANK_ELDER"
msgstr "Mirror Holder"
msgid "SECT_3_RANK_INNER"
msgstr "Successor"
msgid "SECT_3_RANK_OUTER"
msgstr "Mirror Attendant"
msgid "SECT_4_STYLE"
msgstr "Cold and emotionless in speech, revering karma but fearless in slaughter, favoring efficiency and results."
msgid "SECT_4_RANK_PATRIARCH"
msgstr "Hall Master"
msgid "SECT_4_RANK_ELDER"
msgstr "Judge"
msgid "SECT_4_RANK_INNER"
msgstr "Impermanence"
msgid "SECT_4_RANK_OUTER"
msgstr "Ghost Soldier"
msgid "SECT_5_STYLE"
msgstr "Facing desires and costs directly, fearless of darkness, excelling in offensive warfare."
msgid "SECT_5_RANK_PATRIARCH"
msgstr "Tower Lord"
msgid "SECT_5_RANK_ELDER"
msgstr "Punishment Officer"
msgid "SECT_5_RANK_INNER"
msgstr "Shadow Assassin"
msgid "SECT_5_RANK_OUTER"
msgstr "Scout"
msgid "SECT_6_STYLE"
msgstr "Tactful in speech, skilled in manipulating desires and situations, overcoming hardness with softness."
msgid "SECT_6_RANK_PATRIARCH"
msgstr "Palace Master"
msgid "SECT_6_RANK_ELDER"
msgstr "Protector"
msgid "SECT_6_RANK_INNER"
msgstr "Charming Immortal"
msgid "SECT_6_RANK_OUTER"
msgstr "Attendant Boy"
msgid "SECT_7_STYLE"
msgstr "Solemn and steady, focusing on soothing souls and suppressing evil, few words but decisive."
msgid "SECT_7_RANK_PATRIARCH"
msgstr "Abbot"
msgid "SECT_7_RANK_ELDER"
msgstr "Chief Monk"
msgid "SECT_7_RANK_INNER"
msgstr "Walker"
msgid "SECT_7_RANK_OUTER"
msgstr "Layman"
msgid "SECT_8_STYLE"
msgstr "Secretive and decisive, valuing results over reputation, skilled in stealth and surprise attacks."
msgid "SECT_8_RANK_PATRIARCH"
msgstr "Sect Master"
msgid "SECT_8_RANK_ELDER"
msgstr "Protector"
msgid "SECT_8_RANK_INNER"
msgstr "Shadow Guard"
msgid "SECT_8_RANK_OUTER"
msgstr "Scout"
msgid "SECT_9_STYLE"
msgstr "Pragmatic and shrewd, valuing trade and reputation, upholding rules and order."
msgid "SECT_9_RANK_PATRIARCH"
msgstr "City Lord"
msgid "SECT_9_RANK_ELDER"
msgstr "Grand Elder"
msgid "SECT_9_RANK_INNER"
msgstr "Deacon"
msgid "SECT_9_RANK_OUTER"
msgstr "Apprentice"
msgid "SECT_10_STYLE"
msgstr "Calculating beneath elegance, preferring to control situations with words and melody, killing without smoke and fire."
msgid "SECT_11_STYLE"
msgstr "Rigorous and meticulous, pursuing technical perfection, skilled in counter-attacking with formations, advancing step by step."
msgid "SECT_12_STYLE"
msgstr "Resilient and tenacious, striving in adversity, open and aboveboard but far-sighted, extremely protective of their own."
msgid "SECT_12_RANK_PATRIARCH"
msgstr "City Lord"
msgid "SECT_12_RANK_ELDER"
msgstr "Pavilion Elder"
msgid "SECT_12_RANK_INNER"
msgstr "Commander"
msgid "SECT_12_RANK_OUTER"
msgstr "Night Watchman"
msgid "SECT_13_STYLE"
msgstr "Adhering to principles, stressing justice, leading in exorcising demons, rather break than bend."
msgid "SECT_14_STYLE"
msgstr "Might makes right, doing as one pleases, worshipping absolute power and slaughter, viewing all beings as food."

Binary file not shown.

View File

@@ -2292,6 +2292,156 @@ msgstr "当阵营为{align}时"
msgid "When using {weapon_type}"
msgstr "当使用{weapon_type}时"
msgid "SECT_1_STYLE"
msgstr "娓呮槑鍏嬪繁锛岃姝㈠涓€銆傞噸鍓戜笌蹇冩硶骞堕噸锛岃绌舵槑蹇冭鎬с€"
msgid "SECT_2_STYLE"
msgstr "瑷€璇洿鎺ワ紝閲嶈鍔涢噺涓庤鎬э紝宕囧皻鐙╃寧涓庢悘鏂椼€"
msgid "SECT_2_RANK_PATRIARCH"
msgstr "璋蜂富"
msgid "SECT_2_RANK_ELDER"
msgstr "渚涘"
msgid "SECT_2_RANK_INNER"
msgstr "椹吔甯"
msgid "SECT_2_RANK_OUTER"
msgstr "鎵堜粠"
msgid "SECT_3_STYLE"
msgstr "澶勪簨鍐烽潤鍦嗚瀺锛屽枩浠ユ煍鍏嬪垰锛屾搮鍊熷姏涓庡弽鍒躲€"
msgid "SECT_3_RANK_PATRIARCH"
msgstr "闀滀富"
msgid "SECT_3_RANK_ELDER"
msgstr "鎺岄暅浜"
msgid "SECT_3_RANK_INNER"
msgstr "浼犱汉"
msgid "SECT_3_RANK_OUTER"
msgstr "渚嶉暅"
msgid "SECT_4_STYLE"
msgstr "瑷€杈炲喎鍘夊皯鎯咃紝鏁晱鍥犳灉鑰屼笉鎯ф潃浼愶紝鍋忓悜鏁堢巼涓庣粨鏋溿€"
msgid "SECT_4_RANK_PATRIARCH"
msgstr "娈夸富"
msgid "SECT_4_RANK_ELDER"
msgstr "鍒ゅ畼"
msgid "SECT_4_RANK_INNER"
msgstr "鏃犲父"
msgid "SECT_4_RANK_OUTER"
msgstr "楝煎崚"
msgid "SECT_5_STYLE"
msgstr "鐩撮潰娆叉湜涓庝唬浠凤紝涓嶆儳榛戞殫锛屼互鏀讳紣瑙侀暱銆"
msgid "SECT_5_RANK_PATRIARCH"
msgstr "妤间富"
msgid "SECT_5_RANK_ELDER"
msgstr "鎺屽垜浣"
msgid "SECT_5_RANK_INNER"
msgstr "褰卞埡"
msgid "SECT_5_RANK_OUTER"
msgstr "鎺㈠瓙"
msgid "SECT_6_STYLE"
msgstr "杈炰护濠夎浆锛屽杽浜庢嬁鎹忎汉娆蹭笌灞€鍔匡紝浠ユ煍鍒跺垰銆"
msgid "SECT_6_RANK_PATRIARCH"
msgstr "瀹富"
msgid "SECT_6_RANK_ELDER"
msgstr "鎶ゆ硶"
msgid "SECT_6_RANK_INNER"
msgstr "濯氫粰"
msgid "SECT_6_RANK_OUTER"
msgstr "渚嶇"
msgid "SECT_7_STYLE"
msgstr "鑲冪﹩娌夌ǔ锛岄噸瀹夐瓊闀囬偑锛屽皯瑷€鑰屾灉鍐炽€"
msgid "SECT_7_RANK_PATRIARCH"
msgstr "浣忔寔"
msgid "SECT_7_RANK_ELDER"
msgstr "棣栧骇"
msgid "SECT_7_RANK_INNER"
msgstr "琛岃€"
msgid "SECT_7_RANK_OUTER"
msgstr "灞呭+"
msgid "SECT_8_STYLE"
msgstr "琛屼簨闅愮鏋滄柇锛岄噸缁撴灉杞昏櫄鍚嶏紝鎿呮綔琛屼笌鍑哄叾涓嶆剰銆"
msgid "SECT_8_RANK_PATRIARCH"
msgstr "闂ㄤ富"
msgid "SECT_8_RANK_ELDER"
msgstr "鎶ゆ硶"
msgid "SECT_8_RANK_INNER"
msgstr "褰卞崼"
msgid "SECT_8_RANK_OUTER"
msgstr "鎺㈠瓙"
msgid "SECT_9_STYLE"
msgstr "鍔″疄绮炬槑锛岄噸浜ゆ槗涓庝俊瑾夛紝宕囧皻瑙勫垯涓庣З搴忋€"
msgid "SECT_9_RANK_PATRIARCH"
msgstr "鍩庝富"
msgid "SECT_9_RANK_ELDER"
msgstr "澶т緵濂"
msgid "SECT_9_RANK_INNER"
msgstr "鎵т簨"
msgid "SECT_9_RANK_OUTER"
msgstr "瀛﹀緬"
msgid "SECT_10_STYLE"
msgstr "鏂囬泤缂ョ紙涓繁钘忕畻璁★紝鍠滅敤瑷€璇笌闊冲緥鎺屾帶灞€鍔匡紝鏉€浼愪笉娌剧儫鐏皵銆"
msgid "SECT_11_STYLE"
msgstr "涓ヨ皑缁嗚嚧锛岃拷姹傛妧鏈瀬鑷达紝鎴樻枟涓搮闀夸互鍚庢墜闃垫硶鍙嶅埗鏁屼汉锛屾姝ヤ负钀ャ€"
msgid "SECT_12_STYLE"
msgstr "鍧氶煣椤藉己锛屽湪閫嗗涓浘寮猴紝琛屼簨鍏夋槑纾婅惤浣嗕篃娣辫皨杩滆檻锛屾瀬鍏舵姢鐭€"
msgid "SECT_12_RANK_PATRIARCH"
msgstr "鍩庝富"
msgid "SECT_12_RANK_ELDER"
msgstr "闃佽€"
msgid "SECT_12_RANK_INNER"
msgstr "鎵т护"
msgid "SECT_12_RANK_OUTER"
msgstr "瀹堝浜"
msgid "SECT_13_STYLE"
msgstr "鎭畧鍘熷垯锛岃绌堕亾涔夛紝闄ら瓟鍗亾涓€椹綋鍏堬紝瀹佹姌涓嶅集銆"
msgid "SECT_14_STYLE"
msgstr "寮鸿€呬负灏婏紝闅忓績鎵€娆诧紝宕囧皻缁濆鐨勫姏閲忎笌鏉€鎴紝瑙嗕紬鐢熶负琛€椋熴€"
# ============================================================================
# Simulator & Event Translations
# ============================================================================

View File

@@ -278,3 +278,154 @@ msgstr "当阵营为{align}时"
msgid "When using {weapon_type}"
msgstr "当使用{weapon_type}时"
msgid "SECT_1_STYLE"
msgstr "娓呮槑鍏嬪繁锛岃姝㈠涓€銆傞噸鍓戜笌蹇冩硶骞堕噸锛岃绌舵槑蹇冭鎬с€?
msgid "SECT_2_STYLE"
msgstr "瑷€璇洿鎺ワ紝閲嶈鍔涢噺涓庤鎬э紝宕囧皻鐙╃寧涓庢悘鏂椼€?
msgid "SECT_2_RANK_PATRIARCH"
msgstr "璋蜂富"
msgid "SECT_2_RANK_ELDER"
msgstr "渚涘"
msgid "SECT_2_RANK_INNER"
msgstr "椹吔甯?
msgid "SECT_2_RANK_OUTER"
msgstr "鎵堜粠"
msgid "SECT_3_STYLE"
msgstr "澶勪簨鍐烽潤鍦嗚瀺锛屽枩浠ユ煍鍏嬪垰锛屾搮鍊熷姏涓庡弽鍒躲€?
msgid "SECT_3_RANK_PATRIARCH"
msgstr "闀滀富"
msgid "SECT_3_RANK_ELDER"
msgstr "鎺岄暅浜?
msgid "SECT_3_RANK_INNER"
msgstr "浼犱汉"
msgid "SECT_3_RANK_OUTER"
msgstr "渚嶉暅"
msgid "SECT_4_STYLE"
msgstr "瑷€杈炲喎鍘夊皯鎯咃紝鏁晱鍥犳灉鑰屼笉鎯ф潃浼愶紝鍋忓悜鏁堢巼涓庣粨鏋溿€?
msgid "SECT_4_RANK_PATRIARCH"
msgstr "娈夸富"
msgid "SECT_4_RANK_ELDER"
msgstr "鍒ゅ畼"
msgid "SECT_4_RANK_INNER"
msgstr "鏃犲父"
msgid "SECT_4_RANK_OUTER"
msgstr "楝煎崚"
msgid "SECT_5_STYLE"
msgstr "鐩撮潰娆叉湜涓庝唬浠凤紝涓嶆儳榛戞殫锛屼互鏀讳紣瑙侀暱銆?
msgid "SECT_5_RANK_PATRIARCH"
msgstr "妤间富"
msgid "SECT_5_RANK_ELDER"
msgstr "鎺屽垜浣?
msgid "SECT_5_RANK_INNER"
msgstr "褰卞埡"
msgid "SECT_5_RANK_OUTER"
msgstr "鎺㈠瓙"
msgid "SECT_6_STYLE"
msgstr "杈炰护濠夎浆锛屽杽浜庢嬁鎹忎汉娆蹭笌灞€鍔匡紝浠ユ煍鍒跺垰銆?
msgid "SECT_6_RANK_PATRIARCH"
msgstr "瀹富"
msgid "SECT_6_RANK_ELDER"
msgstr "鎶ゆ硶"
msgid "SECT_6_RANK_INNER"
msgstr "濯氫粰"
msgid "SECT_6_RANK_OUTER"
msgstr "渚嶇"
msgid "SECT_7_STYLE"
msgstr "鑲冪﹩娌夌ǔ锛岄噸瀹夐瓊闀囬偑锛屽皯瑷€鑰屾灉鍐炽€?
msgid "SECT_7_RANK_PATRIARCH"
msgstr "浣忔寔"
msgid "SECT_7_RANK_ELDER"
msgstr "棣栧骇"
msgid "SECT_7_RANK_INNER"
msgstr "琛岃€?
msgid "SECT_7_RANK_OUTER"
msgstr "灞呭+"
msgid "SECT_8_STYLE"
msgstr "琛屼簨闅愮鏋滄柇锛岄噸缁撴灉杞昏櫄鍚嶏紝鎿呮綔琛屼笌鍑哄叾涓嶆剰銆?
msgid "SECT_8_RANK_PATRIARCH"
msgstr "闂ㄤ富"
msgid "SECT_8_RANK_ELDER"
msgstr "鎶ゆ硶"
msgid "SECT_8_RANK_INNER"
msgstr "褰卞崼"
msgid "SECT_8_RANK_OUTER"
msgstr "鎺㈠瓙"
msgid "SECT_9_STYLE"
msgstr "鍔″疄绮炬槑锛岄噸浜ゆ槗涓庝俊瑾夛紝宕囧皻瑙勫垯涓庣З搴忋€?
msgid "SECT_9_RANK_PATRIARCH"
msgstr "鍩庝富"
msgid "SECT_9_RANK_ELDER"
msgstr "澶т緵濂?
msgid "SECT_9_RANK_INNER"
msgstr "鎵т簨"
msgid "SECT_9_RANK_OUTER"
msgstr "瀛﹀緬"
msgid "SECT_10_STYLE"
msgstr "鏂囬泤缂ョ紙涓繁钘忕畻璁★紝鍠滅敤瑷€璇笌闊冲緥鎺屾帶灞€鍔匡紝鏉€浼愪笉娌剧儫鐏皵銆?
msgid "SECT_11_STYLE"
msgstr "涓ヨ皑缁嗚嚧锛岃拷姹傛妧鏈瀬鑷达紝鎴樻枟涓搮闀夸互鍚庢墜闃垫硶鍙嶅埗鏁屼汉锛屾姝ヤ负钀ャ€?
msgid "SECT_12_STYLE"
msgstr "鍧氶煣椤藉己锛屽湪閫嗗涓浘寮猴紝琛屼簨鍏夋槑纾婅惤浣嗕篃娣辫皨杩滆檻锛屾瀬鍏舵姢鐭€?
msgid "SECT_12_RANK_PATRIARCH"
msgstr "鍩庝富"
msgid "SECT_12_RANK_ELDER"
msgstr "闃佽€?
msgid "SECT_12_RANK_INNER"
msgstr "鎵т护"
msgid "SECT_12_RANK_OUTER"
msgstr "瀹堝浜?
msgid "SECT_13_STYLE"
msgstr "鎭畧鍘熷垯锛岃绌堕亾涔夛紝闄ら瓟鍗亾涓€椹綋鍏堬紝瀹佹姌涓嶅集銆?
msgid "SECT_14_STYLE"
msgstr "寮鸿€呬负灏婏紝闅忓績鎵€娆诧紝宕囧皻缁濆鐨勫姏閲忎笌鏉€鎴紝瑙嗕紬鐢熶负琛€椋熴€?

Some files were not shown because too many files have changed in this diff Show More