ClientLanguage.java
net.minecraft.client.resources.language.ClientLanguage
信息
- 全限定名:net.minecraft.client.resources.language.ClientLanguage
- 类型:public class
- 包:net.minecraft.client.resources.language
- 源码路径:src/main/java/net/minecraft/client/resources/language/ClientLanguage.java
- 起始行号:L22
- 继承:Language
- 职责:
TODO
字段/常量
-
LOGGER- 类型:
Logger - 修饰符:
private static final - 源码定位:
L23 - 说明:
TODO
- 类型:
-
storage- 类型:
Map<String,String> - 修饰符:
private final - 源码定位:
L24 - 说明:
TODO
- 类型:
-
defaultRightToLeft- 类型:
boolean - 修饰符:
private final - 源码定位:
L25 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
private ClientLanguage(Map<String,String> storage, boolean defaultRightToLeft) @ L27
- 构造器名:ClientLanguage
- 源码定位:L27
- 修饰符:private
参数:
- storage: Map<String,String>
- defaultRightToLeft: boolean
说明:
TODO
方法
下面的方法块按源码顺序生成。
public static ClientLanguage loadFrom(ResourceManager resourceManager, List<String> languageStack, boolean defaultRightToLeft) @ L32
- 方法名:loadFrom
- 源码定位:L32
- 返回类型:ClientLanguage
- 修饰符:public static
参数:
- resourceManager: ResourceManager
- languageStack: List
- defaultRightToLeft: boolean
说明:
TODO
private static void appendFrom(String languageCode, List<Resource> resources, Map<String,String> translations) @ L52
- 方法名:appendFrom
- 源码定位:L52
- 返回类型:void
- 修饰符:private static
参数:
- languageCode: String
- resources: List
- translations: Map<String,String>
说明:
TODO
public String getOrDefault(String key, String defaultValue) @ L62
- 方法名:getOrDefault
- 源码定位:L62
- 返回类型:String
- 修饰符:public
参数:
- key: String
- defaultValue: String
说明:
TODO
public boolean has(String key) @ L67
- 方法名:has
- 源码定位:L67
- 返回类型:boolean
- 修饰符:public
参数:
- key: String
说明:
TODO
public boolean isDefaultRightToLeft() @ L72
- 方法名:isDefaultRightToLeft
- 源码定位:L72
- 返回类型:boolean
- 修饰符:public
参数:
- 无
说明:
TODO
public FormattedCharSequence getVisualOrder(FormattedText logicalOrderText) @ L77
- 方法名:getVisualOrder
- 源码定位:L77
- 返回类型:FormattedCharSequence
- 修饰符:public
参数:
- logicalOrderText: FormattedText
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public class ClientLanguage extends Language {
private static final Logger LOGGER = LogUtils.getLogger();
private final Map<String, String> storage;
private final boolean defaultRightToLeft;
private ClientLanguage(Map<String, String> storage, boolean defaultRightToLeft) {
this.storage = storage;
this.defaultRightToLeft = defaultRightToLeft;
}
public static ClientLanguage loadFrom(ResourceManager resourceManager, List<String> languageStack, boolean defaultRightToLeft) {
Map<String, String> translations = new HashMap<>();
for (String languageCode : languageStack) {
String path = String.format(Locale.ROOT, "lang/%s.json", languageCode);
for (String namespace : resourceManager.getNamespaces()) {
try {
Identifier location = Identifier.fromNamespaceAndPath(namespace, path);
appendFrom(languageCode, resourceManager.getResourceStack(location), translations);
} catch (Exception var10) {
LOGGER.warn("Skipped language file: {}:{} ({})", namespace, path, var10.toString());
}
}
}
DeprecatedTranslationsInfo.loadFromDefaultResource().applyToMap(translations);
return new ClientLanguage(Map.copyOf(translations), defaultRightToLeft);
}
private static void appendFrom(String languageCode, List<Resource> resources, Map<String, String> translations) {
for (Resource resource : resources) {
try (InputStream inputStream = resource.open()) {
Language.loadFromJson(inputStream, translations::put);
} catch (IOException var10) {
LOGGER.warn("Failed to load translations for {} from pack {}", languageCode, resource.sourcePackId(), var10);
}
}
}
@Override
public String getOrDefault(String key, String defaultValue) {
return this.storage.getOrDefault(key, defaultValue);
}
@Override
public boolean has(String key) {
return this.storage.containsKey(key);
}
@Override
public boolean isDefaultRightToLeft() {
return this.defaultRightToLeft;
}
@Override
public FormattedCharSequence getVisualOrder(FormattedText logicalOrderText) {
return FormattedBidiReorder.reorder(logicalOrderText, this.defaultRightToLeft);
}
}引用的其他类
-
- 引用位置:
方法调用 - 关联成员:
FormattedBidiReorder.reorder()
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
DeprecatedTranslationsInfo.loadFromDefaultResource()
- 引用位置:
-
- 引用位置:
方法调用/继承 - 关联成员:
Language.loadFromJson()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
方法调用 - 关联成员:
Identifier.fromNamespaceAndPath()
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
返回值
- 引用位置: