import { AttributeProvider } from "./provider/attribute.js"; import { BaseTypeProvider } from "./provider/base_type.js"; import { SkillProvider } from "./provider/skill.js"; import { PassiveSkillProvider } from "./provider/passive_skill.js"; import { PropertyProvider } from "./provider/property.js"; import { RequirementProvider } from "./provider/requirement.js"; import { StatProvider } from "./provider/stat.js"; import type { StringProvider } from "./provider/sting.js"; import type { BaseType, Unique } from "../../data/poe/types.js"; /** * BasicTranslator 提供了最基础的中文翻译为英文的功能,为更上层的 JSONTranslator 和 TextTranslator 提供支持。 */ export declare class BasicTranslator { private readonly attributeProvider; private readonly baseTypeProvider; private readonly passiveSkillProvider; private readonly propertyProvider; private readonly requirementProvider; private readonly skillProvider; private readonly statProvider; private readonly stringProvider; private readonly qualityItemTranslator; private readonly synthesisedItemTranslator; private readonly mutatedUniqueNameTranslator; private readonly influenceStat1Translator; private readonly influenceStat2Translator; private readonly buildInSupportTranslator; constructor(attributeProvider: AttributeProvider, baseTypeProvider: BaseTypeProvider, passiveSkillProvider: PassiveSkillProvider, propertyProvider: PropertyProvider, requirementProvider: RequirementProvider, skillProvider: SkillProvider, statProvider: StatProvider, stringProvider: StringProvider); /** * 翻译 attribute。 */ transAttr(name: string, value?: string): { name: string; value?: string; } | undefined; /** * 翻译 attribute name。 */ transAttrName(name: string): string | undefined; /** * 翻译 name 和 baseType,用于json数据翻译。 * * 传奇物品的`name`被精确翻译,稀有物品的`name`被翻译为默认名称`Item`,魔法物品和普通物品的`name`保持不变(空字符串)。 * * 可能存在同名的 baseType,传奇物品使用 name 来进行鉴别,否则返回第一个。 */ transNameAndBaseType(name: string, baseType: string): { name: string; baseType: string; } | undefined; findUnique(baseTypes: BaseType[], name: string): { b: BaseType; u: Unique; } | undefined; /** * 翻译 baseType。 * * 可能存在同名的 baseType,返回第一个。 */ transBaseType(baseType: string): string | undefined; /** * 根据 typeLine 推断 BaseType,用于文本翻译。 * * name 用于匹配传奇,否则返回首个匹配的 BaseType。 */ private findBaseTypeFromTypeLine; /** * 翻译 name 和 typeLine,用于文本翻译。 * * typeLine 是 baseType 加上一些修饰词。修饰词可以分为两类,一类是 `忆境` 和 `精良的`,一类是与物品词缀相关的修饰词。 * * `忆境`出现在所有稀有度物品上,`精良的`出现在非传奇物品上,第二类修饰词仅出现在魔法物品上。 * * 未鉴定物品是例外,它只会存在第一类修饰词,`忆境`和`精良的`出现在所有稀有度的未鉴定物品上。 * * 由于第二类修饰词对于POB而言是没有什么作用的,且维护比较麻烦,这里仅支持第一类修饰词的翻译,第二类修饰词被移除。 */ transNameAndTypeLine(name: string, typeLine: string): { name: string; typeLine: string; } | undefined; /** * 翻译技能和辅助技能,辅助技能带有后缀`(辅)`或`(辅)` */ transSkill(name: string): string | undefined; transSkillProp(name: string): string | undefined; /** * 翻译索引的辅助技能,名称不带后缀`(辅)`或`(辅)` */ transIndexableSupports(name: string): string | undefined; transBuiltInSupport(text: string): string | undefined; /** * 翻译可涂油天赋。 */ transAnointed(name: string): string | undefined; /** * 翻译基石天赋。 */ transKeystone(name: string): string | undefined; /** * 翻译升华天赋。 * * 不支持菲西雅升华、血脉升华。 */ transAscendant(zh: string): string | undefined; /** * 翻译 Property。 */ transProperty(name: string, value: string): { name: string; value?: string; } | undefined; /** * 翻译 property name,用于文本翻译。 * * 这个方法引入了 `动态` property name的概念。 * 比如`武器范围:1.3 米`,这个文本片段使用了中文符号`:`,而一般的 name:value 的分隔符为英文符号`:`。 * 因此相比将其解析为 `name:value`,还不如将其整体解析为一个 name 省事。 * * 其中 `1.3` 是动态值,因此这个文本片段需要动态翻译为英文。 * * 对应的 json 数据不存在类似的概念,比如: * {name: "武器范围:{0} 米", values: [["1.1", 0]], displayMode: 3, type: 14} * name和value是分隔的,只需要静态翻译 name。 */ transPropertyName(name: string): string | undefined; /** * 翻译 requirement。 */ transRequirement(name: string, value: string): { name: string; value?: string; } | undefined; /** * 翻译 requirement name。 */ transRequirementName(zhName: string): string | undefined; /** * 翻译 requirement suffix。 */ transRequirementSuffix(suffix: string): string | undefined; /** * 翻译词缀 */ transMod(zhMod: string): string | undefined; private transModInner; /** * 翻译词缀参数 */ private transStatParams; private doTransMod; /** * 翻译 multiline mod。 * * 该方法用于文本翻译,使用贪婪法推断 lines 中可能存在的以首行为首的 multiline mod。 * * @returns {result,lines}, 翻译结果, multiline mod 的行数 * @returns undefined, 无匹配 */ transMultilineMod(lines: string[]): { result: string; lineCount: number; } | undefined; } //# sourceMappingURL=basic.d.ts.map