PlantUML 甘特图的日历语言环境德语

问题描述

有人可以告诉我,我如何为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

输出以英文打印月份和日期名称

Output Gantt Diagram

是否有可能,如果有,如何将其更改为德语。

文档中没有任何相关内容 (https://plantuml.com/de/gantt-diagram)。

解决方法

根据他们的源代码, 天和月的硬编码值是 Enums 他们使用 name() 方法来获取他们的英文名字。 我建议您克隆他们的 repo 并更改两个类中的硬编码值:

  1. 在文件 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);
  }
  1. 在文件 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

这将集成到下一个正式版本中。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...