问题描述
有人可以告诉我,我如何为plantUML中漂亮的甘特图功能的渲染日历部分定义另一个日历的语言环境(例如德语)
我有类似的东西:
@startgantt
-- Vorbereitung --
Project starts 2020-12-01
[Themenfindung] starts 2020-12-01 and ends 2021-01-01
[milestone] happens at 2020-12-15
-- ... --
@endgantt
是否有可能,如果有,如何将其更改为德语。
文档中没有任何相关内容 (https://plantuml.com/de/gantt-diagram)。
解决方法
根据他们的源代码, 天和月的硬编码值是 Enums 他们使用 name() 方法来获取他们的英文名字。 我建议您克隆他们的 repo 并更改两个类中的硬编码值:
- 在文件
src/net/sourceforge/plantuml/project/time/DayOfWeek.java
中 像这样替换方法shortName
:
public String shortName() {
Locale locale = Locale.getDefault();
String s = StringUtils.capitalize(java.time.DayOfWeek.valueOf(this.toString()).getDisplayName(TextStyle.SHORT_STANDALONE,locale));
return s.substring(0,2);
}
-
在文件
src/net/sourceforge/plantuml/project/time/Month.java
中 像这样替换两个方法public String shortName() { return StringUtils.capitalize(java.time.Month.valueOf(this.toString()).getDisplayName(TextStyle.SHORT_STANDALONE,Locale.getDefault()));
}
和
public String longName() {
return StringUtils.capitalize(java.time.Month.valueOf(this.toString()).getDisplayName(TextStyle.FULL_STANDALONE,Locale.getDefault()));
}
我只编译这两个类并在 jar 文件中替换它们。这对我有用。
迈克。
,在上一个测试版 http://beta.plantuml.net/plantuml.jar 中,您现在可以为日历指定一种语言。 例如:
@startgantt
Language DE
Project starts the 20th of september 2017
...
@endgantt
这将集成到下一个正式版本中。