• R/O
  • SSH
  • HTTPS

aoiro: Commit


Commit MetaInfo

Revisão25 (tree)
Hora2019-04-17 21:15:12
Autorhirukawa_ryo

Mensagem de Log

* aoiro 0.3.3
新元号「令和」に対応しました。
ライセンスをBSD2条項ライセンスからMITライセンスに変更しました。

Mudança Sumário

Diff

Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
--- aoiro/trunk/LICENSE.txt (nonexistent)
+++ aoiro/trunk/LICENSE.txt (revision 25)
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
--- aoiro/trunk/src/main/java/net/osdn/aoiro/Util.java (revision 24)
+++ aoiro/trunk/src/main/java/net/osdn/aoiro/Util.java (revision 25)
@@ -60,8 +60,26 @@
6060 return version;
6161 }
6262
63+ /** アルファベット表記の元号を漢字に置換して返します。
64+ * 環境によってはSimpleDateFormatのGGGGで和暦にしたときに元号が漢字ではなくアルファベットになってしまう問題への対処です。
65+ * アルファベット表記の元号とは "Meiji"、"Taisho"、"Showa"、"Heisei"、"Reiwa" のことです。
66+ * "M"、"T"、"S"、"H"、"R" という短縮表記が漢字表記の元号に置換されるわけではありません。
67+ *
68+ * @param s アルファベットの元号を含む文字列
69+ * @return アルファベットの元号を漢字に置換した文字列
70+ */
71+ public static String toKanjiEra(String s) {
72+ if(s == null) {
73+ return null;
74+ }
75+ return s
76+ .replace("Meiji", "明治")
77+ .replace("Taisho", "大正")
78+ .replace("Showa", "昭和")
79+ .replace("Heisei", "平成")
80+ .replace("Reiwa", "令和");
81+ }
6382
64-
6583 public static Locale getLocale() {
6684 return locale;
6785 }
--- aoiro/trunk/src/main/java/net/osdn/aoiro/cui/Main.java (revision 24)
+++ aoiro/trunk/src/main/java/net/osdn/aoiro/cui/Main.java (revision 25)
@@ -29,10 +29,16 @@
2929 public class Main {
3030
3131 public static void main(String[] args) {
32-
32+
33+ /* HOSTを先頭にしてもJava 12.0.1 では明治、大正、昭和、平成、Reiwa と
34+ * なぜかReiwaだけ令和とならずにアルファベット表記になってしまいます。
35+ * 対策として、自前でアルファベット表記から漢字表記への置換をおこなうことにしました。
36+ *
3337 if(System.getProperty("java.locale.providers") == null) {
3438 System.setProperty("java.locale.providers", "HOST,SPI,CLDR,COMPAT");
3539 }
40+ */
41+
3642 System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");
3743
3844 try {
--- aoiro/trunk/src/main/java/net/osdn/aoiro/report/BalanceSheet.java (revision 24)
+++ aoiro/trunk/src/main/java/net/osdn/aoiro/report/BalanceSheet.java (revision 25)
@@ -238,10 +238,12 @@
238238 Calendar calendar = Calendar.getInstance();
239239 calendar.setTime(this.openingDate);
240240 String openingDate = df.format(this.openingDate).replace(" 1 年", "元年");
241+ openingDate = Util.toKanjiEra(openingDate);
241242 String openingMonth = Integer.toString(calendar.get(Calendar.MONTH) + 1);
242243 String openingDay = Integer.toString(calendar.get(Calendar.DAY_OF_MONTH));
243244 calendar.setTime(this.closingDate);
244245 String closingDate = df.format(this.closingDate).replace(" 1 年", "元年");
246+ closingDate = Util.toKanjiEra(closingDate);
245247 String closingMonth = Integer.toString(calendar.get(Calendar.MONTH) + 1);
246248 String closingDay = Integer.toString(calendar.get(Calendar.DAY_OF_MONTH));
247249
--- aoiro/trunk/src/main/java/net/osdn/aoiro/report/ProfitAndLoss.java (revision 24)
+++ aoiro/trunk/src/main/java/net/osdn/aoiro/report/ProfitAndLoss.java (revision 25)
@@ -251,7 +251,9 @@
251251
252252 DateFormat df = new SimpleDateFormat("GGGG y 年 M 月 d 日", Util.getLocale());
253253 String openingDate = df.format(this.openingDate).replace(" 1 年", "元年");
254+ openingDate = Util.toKanjiEra(openingDate);
254255 String closingDate = df.format(this.closingDate).replace(" 1 年", "元年");
256+ closingDate = Util.toKanjiEra(closingDate);
255257
256258 printData = new ArrayList<String>();
257259 printData.add("\\media A4");
--- aoiro/trunk/src/main/java/net/osdn/aoiro/report/StatementOfChangesInEquity.java (revision 24)
+++ aoiro/trunk/src/main/java/net/osdn/aoiro/report/StatementOfChangesInEquity.java (revision 25)
@@ -374,7 +374,9 @@
374374 Calendar calendar = Calendar.getInstance();
375375 calendar.setTime(this.openingDate);
376376 String openingDate = df.format(this.openingDate).replace(" 1 年", "元年");
377+ openingDate = Util.toKanjiEra(openingDate);
377378 String closingDate = df.format(this.closingDate).replace(" 1 年", "元年");
379+ closingDate = Util.toKanjiEra(closingDate);
378380
379381 printData = new ArrayList<String>();
380382 printData.add("\\media A4");
Show on old repository browser