From 6994d8412c2d3e1ae6d6ebfc1093244ae194ac3e Mon Sep 17 00:00:00 2001
From: Bengrs
Date: Mon, 28 Dec 2015 13:47:06 +0100
Subject: [PATCH 1/7] MicropolisJ: Fixed build.xml for the mac dist and added
Mac build instructions in the INSTALL file
---
micropolis-java/INSTALL | 11 +++++++++++
micropolis-java/build.xml | 1 +
2 files changed, 12 insertions(+)
diff --git a/micropolis-java/INSTALL b/micropolis-java/INSTALL
index f6f2ae57..82e3eae7 100644
--- a/micropolis-java/INSTALL
+++ b/micropolis-java/INSTALL
@@ -14,6 +14,17 @@ Building the Package
2. Type `ant' to compile the package.
+Building the Mac Bundle App (optional)
+====================
+
+ 1. `cd' to the directory containing the package's source code.
+
+ 2. Create a `mac' directory.
+
+ 3. Download the appbundler-1.0.jar package available at https://java.net/projects/appbundler into the `mac' directory.
+
+ 4. Type `ant dist-mac' to build the Mac Bundle.
+
Installing MicropolisJ
======================
diff --git a/micropolis-java/build.xml b/micropolis-java/build.xml
index 6d64d40a..2220a509 100644
--- a/micropolis-java/build.xml
+++ b/micropolis-java/build.xml
@@ -129,6 +129,7 @@
+
Date: Tue, 20 Oct 2015 00:07:20 +0900
Subject: [PATCH 2/7] fix #52: zone name misstake when query
---
micropolis-java/graphics/tiles.rc | 44 +++++++++----------
.../strings/StatusMessages.properties | 7 +--
2 files changed, 26 insertions(+), 25 deletions(-)
diff --git a/micropolis-java/graphics/tiles.rc b/micropolis-java/graphics/tiles.rc
index cc25f780..bceb351c 100644
--- a/micropolis-java/graphics/tiles.rc
+++ b/micropolis-java/graphics/tiles.rc
@@ -51,10 +51,10 @@
38 terrain@0,608
39 terrain@0,624
# BEGIN WOODS (4 frames) #
-40 terrain@0,640 (bulldozable)(description=#2)
-41 terrain@0,656 (bulldozable)(description=#2)
-42 terrain@0,672 (bulldozable)(description=#2)
-43 terrain@0,688 (bulldozable)(description=#2)
+40 terrain@0,640 (bulldozable)(description=#23)
+41 terrain@0,656 (bulldozable)(description=#23)
+42 terrain@0,672 (bulldozable)(description=#23)
+43 terrain@0,688 (bulldozable)(description=#23)
# BEGIN RUBBLE (4 frames) #
44 terrain@0,704 (bulldozable)(noburn)(description=#3)
45 terrain@0,720 (bulldozable)(noburn)(description=#3)
@@ -433,7 +433,7 @@
406 res_zones@16,816 (conducts)
407 res_zones@32,816 (conducts)
408 res_zones@0,832 (conducts)
-409 res_zones@16,832 (zone)(conducts)(building=3x3)(residential-zone)(behavior=HOSPITAL_CHURCH)(description=#10)
+409 res_zones@16,832 (zone)(conducts)(building=3x3)(residential-zone)(behavior=HOSPITAL_CHURCH)(description=#27)
410 res_zones@32,832 (conducts)
411 res_zones@0,848 (conducts)
412 res_zones@16,848 (conducts)
@@ -442,7 +442,7 @@
415 res_zones@16,864 (conducts)
416 res_zones@32,864 (conducts)
417 res_zones@0,880 (conducts)
-418 res_zones@16,880 (zone)(conducts)(building=3x3)(residential-zone)(behavior=HOSPITAL_CHURCH)(description=#10)
+418 res_zones@16,880 (zone)(conducts)(building=3x3)(residential-zone)(behavior=HOSPITAL_CHURCH)(description=#28)
419 res_zones@32,880 (conducts)
420 res_zones@0,896 (conducts)
421 res_zones@16,896 (conducts)
@@ -960,22 +960,22 @@
914 ind_zones@32,400|ind08_smoke_frames@128,16 (conducts)(building-part=688,1,0) (becomes=915)(onshutdown=689)
915 ind_zones@32,400|ind08_smoke_frames@176,16 (conducts)(building-part=688,1,0) (becomes=912)(onshutdown=689)
# BEGIN COAL PLANT SMOKE #
-916 coal@32,0 |coal_smoke_frames@32,0 (conducts)(building-part=750,1,-1)(becomes=917)(onshutdown=747)
-917 coal@32,0 |coal_smoke_frames@96,0 (conducts)(building-part=750,1,-1)(becomes=918)(onshutdown=747)
-918 coal@32,0 |coal_smoke_frames@160,0 (conducts)(building-part=750,1,-1)(becomes=919)(onshutdown=747)
-919 coal@32,0 |coal_smoke_frames@224,0 (conducts)(building-part=750,1,-1)(becomes=916)(onshutdown=747)
-920 coal@48,0 |coal_smoke_frames@48,0 (conducts)(building-part=750,2,-1)(becomes=921)(onshutdown=748)
-921 coal@48,0 |coal_smoke_frames@112,0 (conducts)(building-part=750,2,-1)(becomes=922)(onshutdown=748)
-922 coal@48,0 |coal_smoke_frames@176,0 (conducts)(building-part=750,2,-1)(becomes=923)(onshutdown=748)
-923 coal@48,0 |coal_smoke_frames@240,0 (conducts)(building-part=750,2,-1)(becomes=920)(onshutdown=748)
-924 coal@32,16|coal_smoke_frames@32,16 (conducts)(building-part=750,1,0) (becomes=925)(onshutdown=751)
-925 coal@32,16|coal_smoke_frames@96,16 (conducts)(building-part=750,1,0) (becomes=926)(onshutdown=751)
-926 coal@32,16|coal_smoke_frames@160,16 (conducts)(building-part=750,1,0) (becomes=927)(onshutdown=751)
-927 coal@32,16|coal_smoke_frames@224,16 (conducts)(building-part=750,1,0) (becomes=924)(onshutdown=751)
-928 coal@48,16|coal_smoke_frames@48,16 (conducts)(building-part=750,2,0) (becomes=929)(onshutdown=752)
-929 coal@48,16|coal_smoke_frames@112,16 (conducts)(building-part=750,2,0) (becomes=930)(onshutdown=752)
-930 coal@48,16|coal_smoke_frames@176,16 (conducts)(building-part=750,2,0) (becomes=931)(onshutdown=752)
-931 coal@48,16|coal_smoke_frames@240,16 (conducts)(building-part=750,2,0) (becomes=928)(onshutdown=752)
+916 coal@32,0 |coal_smoke_frames@32,0 (conducts)(description=#25)(building-part=750,1,-1)(becomes=917)(onshutdown=747)
+917 coal@32,0 |coal_smoke_frames@96,0 (conducts)(description=#25)(building-part=750,1,-1)(becomes=918)(onshutdown=747)
+918 coal@32,0 |coal_smoke_frames@160,0 (conducts)(description=#25)(building-part=750,1,-1)(becomes=919)(onshutdown=747)
+919 coal@32,0 |coal_smoke_frames@224,0 (conducts)(description=#25)(building-part=750,1,-1)(becomes=916)(onshutdown=747)
+920 coal@48,0 |coal_smoke_frames@48,0 (conducts)(description=#25)(building-part=750,2,-1)(becomes=921)(onshutdown=748)
+921 coal@48,0 |coal_smoke_frames@112,0 (conducts)(description=#25)(building-part=750,2,-1)(becomes=922)(onshutdown=748)
+922 coal@48,0 |coal_smoke_frames@176,0 (conducts)(description=#25)(building-part=750,2,-1)(becomes=923)(onshutdown=748)
+923 coal@48,0 |coal_smoke_frames@240,0 (conducts)(description=#25)(building-part=750,2,-1)(becomes=920)(onshutdown=748)
+924 coal@32,16|coal_smoke_frames@32,16 (conducts)(description=#25)(building-part=750,1,0) (becomes=925)(onshutdown=751)
+925 coal@32,16|coal_smoke_frames@96,16 (conducts)(description=#25)(building-part=750,1,0) (becomes=926)(onshutdown=751)
+926 coal@32,16|coal_smoke_frames@160,16 (conducts)(description=#25)(building-part=750,1,0) (becomes=927)(onshutdown=751)
+927 coal@32,16|coal_smoke_frames@224,16 (conducts)(description=#25)(building-part=750,1,0) (becomes=924)(onshutdown=751)
+928 coal@48,16|coal_smoke_frames@48,16 (conducts)(description=#25)(building-part=750,2,0) (becomes=929)(onshutdown=752)
+929 coal@48,16|coal_smoke_frames@112,16 (conducts)(description=#25)(building-part=750,2,0) (becomes=930)(onshutdown=752)
+930 coal@48,16|coal_smoke_frames@176,16 (conducts)(description=#25)(building-part=750,2,0) (becomes=931)(onshutdown=752)
+931 coal@48,16|coal_smoke_frames@240,16 (conducts)(description=#25)(building-part=750,2,0) (becomes=928)(onshutdown=752)
# BEGIN STADIUM PLAYFIELD #
# Note: the original source code made these unburnable, which doesn't make sense
932 misc_animation@0,1680 (conducts)(description=#24)(becomes=933)
diff --git a/micropolis-java/strings/StatusMessages.properties b/micropolis-java/strings/StatusMessages.properties
index 163dc1a8..c050fe7b 100644
--- a/micropolis-java/strings/StatusMessages.properties
+++ b/micropolis-java/strings/StatusMessages.properties
@@ -29,11 +29,12 @@ zone.19 = Nuclear Power
zone.20 = Draw Bridge
zone.21 = Radar Dish
zone.22 = Fountain
-zone.23 =
+zone.23 = Park
zone.24 = Steelers 38 Bears 3
-zone.25 =
+zone.25 = Coal Smoke
zone.26 = Ur 238
-zone.27 =
+zone.27 = Hospital
+zone.28 = Church
! population density
status.1 = Low
From bf090d6dba78fdba54c2f6166f03bb1e7fc75266 Mon Sep 17 00:00:00 2001
From: hATrayflood
Date: Sun, 15 Nov 2015 13:55:48 +0900
Subject: [PATCH 3/7] fix #57: flood animation not works
---
micropolis-java/graphics/tiles.rc | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/micropolis-java/graphics/tiles.rc b/micropolis-java/graphics/tiles.rc
index bceb351c..a0df1ad0 100644
--- a/micropolis-java/graphics/tiles.rc
+++ b/micropolis-java/graphics/tiles.rc
@@ -61,10 +61,10 @@
46 terrain@0,736 (bulldozable)(noburn)(description=#3)
47 terrain@0,752 (bulldozable)(noburn)(description=#3)
# BEGIN FLOODING (4 frames) #
-48 terrain@0,768 (noburn)(description=#4)(behavior=FLOOD)
-49 terrain@0,784 (noburn)(description=#4)(behavior=FLOOD)
-50 terrain@0,800 (noburn)(description=#4)(behavior=FLOOD)
-51 terrain@0,816 (noburn)(description=#4)(behavior=FLOOD)
+48 terrain@0,768 (noburn)(description=#4)(behavior=FLOOD)(becomes=49)
+49 terrain@0,784 (noburn)(description=#4)(behavior=FLOOD)(becomes=50)
+50 terrain@0,800 (noburn)(description=#4)(behavior=FLOOD)(becomes=51)
+51 terrain@0,816 (noburn)(description=#4)(behavior=FLOOD)(becomes=48)
# BEGIN RADIATION #
52 terrain@0,832 (noburn)(description=#5)(behavior=RADIOACTIVE)(pollution=255)
53 terrain@0,848 (noburn)(description=#5)(behavior=RADIOACTIVE)(pollution=255)
From ffb09c98ae20d9275471f7e972dc6891b963a288 Mon Sep 17 00:00:00 2001
From: hATrayflood
Date: Thu, 5 Nov 2015 02:04:37 +0900
Subject: [PATCH 4/7] fix #55: date and population are blank when load a city
---
micropolis-java/src/micropolisj/engine/Micropolis.java | 9 ++++++++-
micropolis-java/src/micropolisj/gui/MainWindow.java | 2 ++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/micropolis-java/src/micropolisj/engine/Micropolis.java b/micropolis-java/src/micropolisj/engine/Micropolis.java
index 1a1454c4..95a6b9ad 100644
--- a/micropolis-java/src/micropolisj/engine/Micropolis.java
+++ b/micropolis-java/src/micropolisj/engine/Micropolis.java
@@ -1983,6 +1983,8 @@ void loadMisc(DataInputStream dis)
resCap = false;
comCap = false;
indCap = false;
+
+ lastCityPop = calcPopulation();
}
void writeMisc(DataOutputStream out)
@@ -2491,7 +2493,7 @@ void makeExplosionAt(int x, int y)
void checkGrowth()
{
if (cityTime % 4 == 0) {
- int newPop = (resPop + comPop * 8 + indPop * 8) * 20;
+ int newPop = calcPopulation();
if (lastCityPop != 0) {
MicropolisMessage z = null;
if (lastCityPop < 500000 && newPop >= 500000) {
@@ -2513,6 +2515,11 @@ void checkGrowth()
}
}
+ int calcPopulation()
+ {
+ return (resPop + comPop * 8 + indPop * 8) * 20;
+ }
+
void doMessages()
{
//MORE (scenario stuff)
diff --git a/micropolis-java/src/micropolisj/gui/MainWindow.java b/micropolis-java/src/micropolisj/gui/MainWindow.java
index 47fc7146..e64f1235 100644
--- a/micropolis-java/src/micropolisj/gui/MainWindow.java
+++ b/micropolis-java/src/micropolisj/gui/MainWindow.java
@@ -281,6 +281,7 @@ public void windowClosed(WindowEvent ev)
engine.addListener(this);
engine.addEarthquakeListener(this);
reloadFunds();
+ updateDateLabel();
reloadOptions();
startTimer();
makeClean();
@@ -312,6 +313,7 @@ public void setEngine(Micropolis newEngine)
demandInd.setEngine(engine);
graphsPane.setEngine(engine);
reloadFunds();
+ updateDateLabel();
reloadOptions();
notificationPane.setVisible(false);
From 9a87e2d79bd5224723a2ccb404e20980579ed90d Mon Sep 17 00:00:00 2001
From: hATrayflood
Date: Mon, 19 Oct 2015 23:01:16 +0900
Subject: [PATCH 5/7] add ja_JP strings.
---
.../strings/CityMessages_ja_JP.properties | 110 ++++++
.../strings/CityStrings_ja_JP.properties | 18 +
.../strings/GuiStrings_ja_JP.properties | 316 ++++++++++++++++++
.../strings/StatusMessages_ja_JP.properties | 51 +++
4 files changed, 495 insertions(+)
create mode 100644 micropolis-java/strings/CityMessages_ja_JP.properties
create mode 100644 micropolis-java/strings/CityStrings_ja_JP.properties
create mode 100644 micropolis-java/strings/GuiStrings_ja_JP.properties
create mode 100644 micropolis-java/strings/StatusMessages_ja_JP.properties
diff --git a/micropolis-java/strings/CityMessages_ja_JP.properties b/micropolis-java/strings/CityMessages_ja_JP.properties
new file mode 100644
index 00000000..97c6d083
--- /dev/null
+++ b/micropolis-java/strings/CityMessages_ja_JP.properties
@@ -0,0 +1,110 @@
+#ja_JP
+#Sun Feb 01 17:49:10 JST 2015
+POP_500K_REACHED.title=MEGALOPOLIS
+SHIPWRECK_REPORT.color=\#ff4f4f
+TORNADO_REPORT=\u7ADC\u5DFB\u767A\u751F\!\!
+FIRE_NEED_FUNDING=\u6D88\u9632\u7F72\u306E\u4E88\u7B97\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059
+HIGH_TRAFFIC.title=\u4EA4\u901A\u8B66\u5831
+EARTHQUAKE_REPORT.detail=\u5927\u5730\u9707\u304C\u767A\u751F\u3057\u305F\u3002\u706B\u707D\u304C\u5E83\u304C\u308B\u524D\u306B\u901F\u3084\u304B\u306B\u6D88\u706B\u3057\u3001\u5BF8\u65AD\u3055\u308C\u305F\u9001\u96FB\u7DDA\u3092\u3064\u306A\u304E\u76F4\u3057\u3066\u8857\u3092\u518D\u5EFA\u305B\u3088\u3002
+POP_500K_REACHED.color=\#7fff7f
+NEED_POWER=\u767A\u96FB\u6240\u3092\u5EFA\u8A2D\u3057\u3066\u304F\u3060\u3055\u3044
+POP_2K_REACHED.title=TOWN
+HEAVY_TRAFFIC_REPORT.title=\u4EA4\u901A\u6E0B\u6EDE\u767A\u751F
+HIGH_TRAFFIC.color=\#ff4f4f
+MELTDOWN_REPORT.detail=\u539F\u5B50\u529B\u767A\u96FB\u6240\u3067\u30E1\u30EB\u30C8\u30C0\u30A6\u30F3\u304C\u767A\u751F\u3057\u305F\u3002\u653E\u5C04\u80FD\u304C\u306A\u304F\u306A\u308B\u307E\u3067\u3001\u305D\u306E\u5730\u57DF\u306B\u306F\u8FD1\u5BC4\u3089\u306A\u3044\u3088\u3046\u5FE0\u544A\u3059\u308B\u3002
\u4F55\u4E16\u4EE3\u306B\u3082\u308F\u305F\u3063\u3066\u3053\u306E\u554F\u984C\u306B\u76F4\u9762\u3059\u308B\u3053\u3068\u306B\u306A\u308B\u3060\u308D\u3046\u3002\u3060\u304B\u3089\u3001\u606F\u3092\u6B62\u3081\u305F\u3068\u3053\u308D\u3067\u7121\u99C4\u3067\u3042\u308B\u3002
+FLOOD_REPORT.title=\u6D2A\u6C34
+POP_2K_REACHED.color=\#7fff7f
+HIGH_UNEMPLOYMENT=\u5931\u696D\u7387\u304C\u9AD8\u3059\u304E\u307E\u3059
+POP_10K_REACHED.title=CITY
+FLOOD_REPORT.detail=\u6C34\u8FBA\u304B\u3089\u6D2A\u6C34\u304C\u767A\u751F\u3057\u305F\u3002
+TORNADO_REPORT.title=\u7ADC\u5DFB
+POP_10K_REACHED.detail=\u3042\u306A\u305F\u306E\u753A\u306F\u4EBA\u53E310,000\u4EBA\u306E\u300C\u30B7\u30C6\u30A3\u30FC\u300D\u306B\u307E\u3067\u6210\u9577\u3057\u307E\u3057\u305F\u3002\u305D\u306E\u8ABF\u5B50\u3067\u304C\u3093\u3070\u308D\u3046\uFF01
+HEAVY_TRAFFIC_REPORT.color=\#ff4f4f
+NO_NUCLEAR_PLANTS=\u30E1\u30EB\u30C8\u30C0\u30A6\u30F3\u3092\u767A\u751F\u3055\u305B\u308B\u306B\u306F\u3001\u539F\u5B50\u529B\u767A\u96FB\u6240\u3092\u5EFA\u8A2D\u3057\u3066\u304F\u3060\u3055\u3044\u3002
+MELTDOWN_REPORT=\u30E1\u30EB\u30C8\u30C0\u30A6\u30F3\u767A\u751F\!\!\!
+FLOOD_REPORT.color=\#ff4f4f
+HEAVY_TRAFFIC_REPORT=\u4EA4\u901A\u6E0B\u6EDE\u304C\u767A\u751F\u3057\u3066\u3044\u307E\u3059
+EXPLOSION_REPORT=\u7206\u767A\u304C\u8D77\u304D\u305F\!
+NEED_SEAPORT=\u5DE5\u696D\u306E\u767A\u5C55\u306B\u306F\u6E2F\u304C\u5FC5\u8981\u3067\u3059
+MONSTER_REPORT=\u602A\u7363\u51FA\u73FE\!\!
+HIGH_POLLUTION.detail=\u3042\u306A\u305F\u306E\u8857\u306E\u6C5A\u67D3\u306F Micropolis \u516C\u5BB3\u5BFE\u7B56\u59D4\u54E1\u4F1A\u306E\u5236\u5B9A\u3057\u305F\u6700\u5927\u8A31\u5BB9\u91CF\u3092\u8D8A\u3048\u305F\u3002\u3042\u306A\u305F\u306F\u6DF1\u523B\u306A\u751F\u614B\u7CFB\u7834\u58CA\u306E\u5371\u967A\u3092\u5192\u3057\u3066\u3044\u308B\u3002
\u76F4\u3061\u306B\u6D44\u5316\u3092\u884C\u3046\u304B\u3001\u5E02\u5F79\u6240\u306B\u30AC\u30B9\u30DE\u30B9\u30AF\u306E\u914D\u7D66\u6240\u3092\u958B\u3044\u305F\u307B\u3046\u304C\u3044\u3044\u3060\u308D\u3046\u3002
+POP_10K_REACHED.color=\#7fff7f
+TORNADO_REPORT.color=\#ff4f4f
+FIRE_REPORT.detail=\u706B\u707D\u304C\u767A\u751F\u3057\u305F\u3002
+SHIPWRECK_REPORT.detail=\u8239\u304C\u96E3\u7834\u3057\u305F\u3002
+COPTER_CRASH_REPORT.detail=\u30D8\u30EA\u30B3\u30D7\u30BF\u30FC\u304C\u589C\u843D\u3057\u305F\u3002
+NEED_COM=\u3082\u3063\u3068\u5546\u696D\u5730\u533A\u304C\u5FC5\u8981\u3067\u3059
+NEED_IND=\u3082\u3063\u3068\u5DE5\u696D\u5730\u533A\u304C\u5FC5\u8981\u3067\u3059
+POP_500K_REACHED.detail=\u304A\u3081\u3067\u3068\u3046\u3002\u90FD\u5E02\u767A\u5C55\u306E\u6700\u9AD8\u306E\u5206\u985E\u3067\u3042\u308B\u300C\u30E1\u30AC\u30ED\u30DD\u30EA\u30B9\u300D\u306B\u5230\u9054\u3057\u307E\u3057\u305F\u3002
+INSUFFICIENT_FUNDS=\u4E88\u7B97\u304C\u8DB3\u308A\u307E\u305B\u3093
+POP_50K_REACHED=\u4EBA\u53E3\u304C 50,000\u4EBA\u306B\u306A\u308A\u307E\u3057\u305F
+HIGH_POLLUTION.title=\u516C\u5BB3\u8B66\u5831
+FIREBOMBING_REPORT=\u7206\u6483\u88AB\u5F3E\!
+HIGH_CRIME.title=\u72AF\u7F6A\u8B66\u6212\u8B66\u5831
+COPTER_CRASH_REPORT=\u30D8\u30EA\u30B3\u30D7\u30BF\u30FC\u304C\u589C\u843D\u3057\u305F\!
+POP_100K_REACHED.detail=\u3042\u306A\u305F\u306E\u90FD\u5E02\u306F\u300C\u30E1\u30C8\u30ED\u30DD\u30EA\u30B9\u300D\u306E\u30EC\u30D9\u30EB\u306B\u9054\u3057\u307E\u3057\u305F\u3002\u73FE\u5728\u306E\u4EBA\u53E3\u306F100,000\u4EBA\u3002\u3042\u306A\u305F\u306E\u8A08\u753B\u80FD\u529B\u306A\u3089\u3001\u77E5\u4E8B\u306B\u7ACB\u5019\u88DC\u3057\u3066\u3082\u3001\u8D85LSI\u306E\u8A2D\u8A08\u8005\u3068\u3057\u3066\u3082\u6D3B\u8E8D\u3067\u304D\u308B\u3060\u308D\u3046\u3002
+NEED_RES=\u3082\u3063\u3068\u4F4F\u5B85\u5730\u533A\u304C\u5FC5\u8981\u3067\u3059
+POP_100K_REACHED.title=METROPOLIS
+HIGH_POLLUTION.color=\#ff4f4f
+HIGH_CRIME.color=\#ff4f4f
+PLANECRASH_REPORT.detail=\u98DB\u884C\u6A5F\u4E8B\u6545\u304C\u767A\u751F\u3057\u305F\u3002
+HIGH_CRIME.detail=\u3042\u306A\u305F\u306E\u8857\u306E\u72AF\u7F6A\u306F\u91CE\u653E\u3057\u72B6\u614B\u3060\u3002\u66B4\u5F92\u304C\u7565\u596A\u3084\u7834\u58CA\u3092\u50CD\u3044\u3066\u3044\u308B\u3002\u3042\u306A\u305F\u304C\u3053\u306E\u554F\u984C\u3092\u89E3\u6C7A\u3067\u304D\u306A\u3051\u308C\u3070\u3001\u3059\u3050\u306B\u3067\u3082\u5927\u7D71\u9818\u304C\u8ECD\u968A\u3092\u6D3E\u9063\u3059\u308B\u3060\u308D\u3046\u3002
+POP_100K_REACHED.color=\#7fff7f
+HIGH_POLLUTION=\u6C5A\u67D3\u304C\u6DF1\u523B\u306A\u72B6\u6CC1\u3067\u3059
+BULLDOZE_FIRST=\u307E\u305A\u6574\u5730\u3057\u3066\u304F\u3060\u3055\u3044
+POP_500K_REACHED=\u4EBA\u53E3\u304C 500,000\u4EBA\u306B\u306A\u308A\u307E\u3057\u305F
+HIGH_TRAFFIC.detail=\u3053\u306E\u8857\u306E\u4EA4\u901A\u91CF\u306F\u6025\u5897\u3057\u3001\u901A\u52E4\u8005\u9054\u306F\u3044\u3089\u3060\u3063\u3066\u3044\u308B\u3002\u9053\u8DEF\u3067\u306F\u62F3\u9283\u4E71\u5C04\u4E8B\u4EF6\u3082\u8D77\u304D\u3066\u3044\u308B\u3002
\u3082\u3063\u3068\u9053\u8DEF\u3084\u7DDA\u8DEF\u3092\u5EFA\u8A2D\u3059\u308B\u304B\u3001\u9632\u5F3E\u30EA\u30E0\u30B8\u30F3\u3067\u3082\u7528\u610F\u3057\u306A\u3055\u3044\u3002
+POP_50K_REACHED.title=CAPITAL
+NEED_FIRESTATION=\u4F4F\u6C11\u304C\u6D88\u9632\u7F72\u3092\u8981\u6C42\u3057\u3066\u3044\u307E\u3059
+BROWNOUTS_REPORT=\u96FB\u529B\u4E0D\u8DB3\u3067\u3059\u3000\u767A\u96FB\u6240\u3092\u5EFA\u8A2D\u3057\u3066\u304F\u3060\u3055\u3044
+EARTHQUAKE_REPORT=\u5927\u5730\u9707\u767A\u751F\!\!\!
+BLACKOUTS=\u505C\u96FB\u304C\u767A\u751F\u3057\u3066\u3044\u307E\u3059\u3000\u96FB\u529B\u7DB2\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044
+NEED_POLICE=\u4F4F\u6C11\u304C\u8B66\u5BDF\u7F72\u3092\u8981\u6C42\u3057\u3066\u3044\u307E\u3059
+POP_50K_REACHED.color=\#7fff7f
+FIRE_REPORT=\u706B\u707D\u767A\u751F\!
+NEED_ROADS=\u3082\u3063\u3068\u9053\u8DEF\u304C\u5FC5\u8981\u3067\u3059
+TORNADO_REPORT.detail=\u7ADC\u5DFB\u304C\u767A\u751F\u3057\u305F\u3002\u6B62\u3081\u308B\u624B\u6BB5\u306F\u4F55\u3082\u306A\u3044\u3002\u904E\u304E\u53BB\u308B\u306E\u3092\u5F85\u3063\u3066\u8857\u3092\u518D\u5EFA\u3059\u308B\u3057\u304B\u306A\u3044\u3060\u308D\u3046\u3002
+TRAIN_CRASH_REPORT.title=\u5217\u8ECA\u4E8B\u6545
+POP_100K_REACHED=\u4EBA\u53E3\u304C 100,000\u4EBA\u306B\u306A\u308A\u307E\u3057\u305F
+HIGH_TRAFFIC=\u4EA4\u901A\u6E0B\u6EDE\u304C\u983B\u767A\u3057\u3066\u3044\u307E\u3059
+TRAIN_CRASH_REPORT.color=\#ff4f4f
+NEED_RAILS=\u9244\u9053\u7DB2\u304C\u4E0D\u9069\u5207\u3067\u3059
+RIOTING_REPORT.title=\u66B4\u52D5
+PLANECRASH_REPORT.title=\u98DB\u884C\u6A5F\u4E8B\u6545
+RIOTING_REPORT.color=\#ff4f4f
+FIRE_REPORT.title=\u706B\u707D
+TRAIN_CRASH_REPORT.detail=\u5217\u8ECA\u4E8B\u6545\u304C\u767A\u751F\u3057\u305F\u3002
+EARTHQUAKE_REPORT.title=\u5730\u9707
+PLANECRASH_REPORT.color=\#ff4f4f
+MONSTER_REPORT.detail=\u5DE8\u5927\u306A\u722C\u866B\u985E\u3068\u601D\u308F\u308C\u308B\u751F\u7269\u304C\u6C34\u4E2D\u304B\u3089\u73FE\u308C\u305F\u3002\u6C5A\u67D3\u306E\u3072\u3069\u3044\u5730\u57DF\u306B\u5F15\u304D\u5BC4\u305B\u3089\u308C\u3066\u3044\u308B\u3088\u3046\u3060\u3002\u602A\u7363\u306E\u901A\u3063\u305F\u6240\u306F\u7834\u58CA\u3057\u3064\u304F\u3055\u308C\u3066\u3044\u308B\u3002
\u602A\u7363\u304C\u53BB\u308B\u306E\u3092\u5F85\u3063\u3066\u3001\u304C\u308C\u304D\u304B\u3089\u518D\u5EFA\u3059\u308B\u3057\u304B\u306A\u3044\u3060\u308D\u3046\u3002
+POP_2K_REACHED.detail=\u304A\u3081\u3067\u3068\u3046\u3001\u3042\u306A\u305F\u306E\u6751\u306F\u300C\u30BF\u30A6\u30F3\u300D\u306E\u30AF\u30E9\u30B9\u306B\u6210\u9577\u3057\u307E\u3057\u305F\u3002\u73FE\u5728 2,000\u4EBA\u306E\u4F4F\u6C11\u304C\u3044\u307E\u3059\u3002
+OUT_OF_FUNDS_REPORT=\u3042\u306A\u305F\u306E\u753A\u306F\u5D29\u58CA\u3057\u3066\u3044\u3063\u3066\u307E\u3059\u3002
+MONSTER_REPORT.title=\u602A\u7363\u306E\u8972\u6483
+POP_10K_REACHED=\u4EBA\u53E3\u304C 10,000\u4EBA\u306B\u306A\u308A\u307E\u3057\u305F
+FIRE_REPORT.color=\#ff4f4f
+PLANECRASH_REPORT=\u98DB\u884C\u6A5F\u4E8B\u6545\u767A\u751F\!
+HEAVY_TRAFFIC_REPORT.detail=\u30D8\u30EA\u30B3\u30D7\u30BF\u30FC\u304B\u3089\u4EA4\u901A\u6E0B\u6EDE\u3092\u5831\u544A\u3057\u307E\u3059\u3002
+RIOTING_REPORT=\u66B4\u52D5\u767A\u751F\!\!
+ROADS_NEED_FUNDING=\u4E88\u7B97\u4E0D\u8DB3\u3067\u9053\u8DEF\u4FDD\u5B88\u304C\u5341\u5206\u306B\u3067\u304D\u307E\u305B\u3093
+EARTHQUAKE_REPORT.color=\#ff4f4f
+HIGH_CRIME=\u72AF\u7F6A\u304C\u591A\u767A\u3057\u3066\u3044\u307E\u3059
+FIREBOMBING_REPORT.title=\u7206\u6483
+NEED_AIRPORT=\u5546\u696D\u306E\u767A\u5C55\u306B\u306F\u7A7A\u6E2F\u304C\u5FC5\u8981\u3067\u3059
+POP_50K_REACHED.detail=\u3042\u306A\u305F\u306E\u8857\u306F\u300C\u30AD\u30E3\u30D4\u30BF\u30EB\u300D\u306B\u306A\u308A\u307E\u3057\u305F\u3002\u73FE\u5728\u306E\u4EBA\u53E3\u306F50,000\u4EBA\u3002\u3042\u306A\u305F\u306E\u653F\u6CBB\u5BB6\u3068\u3057\u3066\u306E\u5C06\u6765\u306F\u660E\u308B\u3044\u3002
+MONSTER_REPORT.color=\#ff4f4f
+RIOTING_REPORT.detail=\u5E02\u6C11\u304C\u66B4\u5F92\u3068\u5316\u3057\u3001\u8ECA\u3084\u5BB6\u306B\u653E\u706B\u3057\u3066\u3044\u308B\u3002\u5E02\u5F79\u6240\u3084\u4F01\u696D\u306B\u7206\u6483\u3082\u52A0\u3048\u3066\u3044\u308B\u3088\u3046\u3060\u3002
\u30D5\u30A1\u30B7\u30B9\u30C8\u306E\u8C5A\u304C\u8CA7\u6C11\u306B\u670D\u5F93\u3092\u5F37\u3044\u308B\u304B\u304E\u308A\u3001\u3059\u3079\u3066\u306E\u5831\u9053\u304C\u898F\u5236\u3055\u308C\u308B\u3060\u308D\u3046\u3002
+FIREBOMBING_REPORT.detail=\u7206\u6483\u3092\u88AB\u5F3E\u3057\u305F\u3002
+FIREBOMBING_REPORT.color=\#ff4f4f
+POLICE_NEED_FUNDING=\u8B66\u5BDF\u7F72\u306E\u4E88\u7B97\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059
+NEED_PARKS=\u3082\u3063\u3068\u516C\u5712\u304C\u5FC5\u8981\u3067\u3059
+HIGH_TAXES=\u7A0E\u91D1\u304C\u9AD8\u3059\u304E\u3066\u3001\u4F4F\u6C11\u304C\u60B2\u9CF4\u3092\u3042\u3052\u3066\u3044\u307E\u3059
+MELTDOWN_REPORT.title=\u30E1\u30EB\u30C8\u30C0\u30A6\u30F3
+COPTER_CRASH_REPORT.title=\u30D8\u30EA\u30B3\u30D7\u30BF\u30FC\u589C\u843D
+SHIPWRECK_REPORT.title=\u8239\u306E\u96E3\u7834
+SHIPWRECK_REPORT=\u8239\u304C\u96E3\u7834\u3057\u305F\!
+POP_2K_REACHED=\u4EBA\u53E3\u304C 2,000\u4EBA\u306B\u306A\u308A\u307E\u3057\u305F
+TRAIN_CRASH_REPORT=\u5217\u8ECA\u4E8B\u6545\u767A\u751F\!
+NEED_STADIUM=\u4F4F\u6C11\u304C\u30B9\u30BF\u30C2\u30A2\u30E0\u3092\u8981\u6C42\u3057\u3066\u3044\u307E\u3059
+FLOOD_REPORT=\u6D2A\u6C34\u767A\u751F\!\!
+MELTDOWN_REPORT.color=\#ff4f4f
+COPTER_CRASH_REPORT.color=\#ff4f4f
diff --git a/micropolis-java/strings/CityStrings_ja_JP.properties b/micropolis-java/strings/CityStrings_ja_JP.properties
new file mode 100644
index 00000000..b63d9a2f
--- /dev/null
+++ b/micropolis-java/strings/CityStrings_ja_JP.properties
@@ -0,0 +1,18 @@
+#ja_JP
+#Sun Feb 01 17:49:10 JST 2015
+problem.HOUSING=\u4F4F\u5B85\u96E3
+class.5=\u30E1\u30AC\u30ED\u30DD\u30EA\u30B9
+class.4=\u30E1\u30C8\u30ED\u30DD\u30EA\u30B9
+class.3=\u30AD\u30E3\u30D4\u30BF\u30EB
+problem.FIRE=\u706B\u707D
+class.2=\u30B7\u30C6\u30A3\u30FC
+class.1=\u30BF\u30A6\u30F3
+class.0=\u30D3\u30EC\u30C3\u30B8
+problem.CRIME=\u72AF\u7F6A
+level.2=\u4E0A\u7D1A
+level.1=\u4E2D\u7D1A
+level.0=\u521D\u7D1A
+problem.TAXES=\u7A0E\u91D1
+problem.UNEMPLOYMENT=\u5931\u696D
+problem.POLLUTION=\u516C\u5BB3
+problem.TRAFFIC=\u4EA4\u901A\u6E0B\u6EDE
diff --git a/micropolis-java/strings/GuiStrings_ja_JP.properties b/micropolis-java/strings/GuiStrings_ja_JP.properties
new file mode 100644
index 00000000..b4f51fab
--- /dev/null
+++ b/micropolis-java/strings/GuiStrings_ja_JP.properties
@@ -0,0 +1,316 @@
+#ja_JP
+#Sun Feb 01 17:49:10 JST 2015
+city-score-change=\u524D\u5E74\u6BD4\:
+tool.COMMERCIAL.name=\u5546\u696D\u5730\u533A
+tool.SEAPORT.border=\#0000ff
+menu.zones.COMMERCIAL.key=C
+menu.help.about.key=A
+tool.POLICE.selected_icon=/icpolhi.png
+main.error_close=\u9589\u3058\u308B
+menu.game=\u30B7\u30B9\u30C6\u30E0
+menu.windows.graph.key=G
+menu.zones.TRANSPORT.key=T
+menu.difficulty=\u30B2\u30FC\u30E0\u30EC\u30D9\u30EB
+menu.game.save.shortcut=ctrl S
+tool.ROADS.tip=\u9053\u8DEF\u3092\u6577\u8A2D\u3057\u307E\u3059
+tool.BULLDOZER.selected_icon=/icdozrhi.png
+menu.help.launch-translation-tool.key=T
+budgetdlg.cash_begin=\u671F\u9996\u6B8B\u9AD8
+tool.WIRE.name=\u96FB\u7DDA
+tool.BULLDOZER.name=\u6574\u5730
+graph_label.INDPOP=\u5DE5\u696D
+tool.FIRE.border=\#ff0000
+graph_button.RESPOP=grres.png
+tool.AIRPORT.name=\u7A7A\u6E2F
+menu.game.new.key=N
+tool.QUERY.tip=\u5730\u533A\u3092\u8ABF\u67FB\u3057\u307E\u3059
+menu.options.auto_go=\u73FE\u5730\u3078\u76F4\u884C
+menu.disasters=\u707D\u5BB3
+tool.SEAPORT.selected_icon=/icseaphi.png
+menu.windows=\u30A6\u30A3\u30F3\u30C9\u30A6
+legend_image.POLICE_OVERLAY=/legendmm.png
+tool.COMMERCIAL.border=\#0000ff
+budgetdlg.fire_fund=\u6D88\u9632\u7F72
+budgetdlg.operating_expenses=\u904B\u55B6\u8CBB\u7528
+menu.overlays.POLLUTE_OVERLAY.key=P
+menu.overlays.GROWTHRATE_OVERLAY=\u4EBA\u53E3\u5897\u52A0\u7387
+menu.disasters.key=D
+menu.overlays.GROWTHRATE_OVERLAY.key=R
+menu.options.auto_bulldoze=\u81EA\u52D5\u7684\u306B\u6574\u5730\u3059\u308B
+menu.speed.FAST.key=F
+tool.RESIDENTIAL.bgcolor=rgba(0,255,0,0.375)
+menu.disasters.FIRE=\u706B\u707D
+tool.NUCLEAR.bgcolor=rgba(93,93,93,0.375)
+menu.overlays.TRAFFIC_OVERLAY=\u9053\u8DEF\u72B6\u6CC1
+welcome.caption=Welcome to MicropolisJ
+tool.*.bgcolor=rgba(0,0,0,0)
+menu.overlays.POLICE_OVERLAY=\u8B66\u5BDF\u7F72\u7BA1\u8F44
+tool.QUERY.icon=/icqry.png
+menu.zones.key=Z
+menu.speed.SUPER_FAST=\u9AD8\u901F
+tool.BULLDOZER.bgcolor=rgba(0,0,0,0)
+budgetdlg.taxes_collected=\u7A0E\u91D1\u5FB4\u53CE
+tool.RAIL.selected_icon=/icrailhi.png
+tool.POLICE.name=\u8B66\u5BDF\u7F72
+menu.options=\u30AA\u30D7\u30B7\u30E7\u30F3
+tool.RAIL.tip=\u7DDA\u8DEF\u3092\u6577\u8A2D\u3057\u307E\u3059
+menu.overlays.POWER_OVERLAY.key=G
+tool.BULLDOZER.border=\#bf7900
+graph_label.POLLUTION=\u6C5A\u67D3
+welcome.next_map=\u6B21\u306E\u30DE\u30C3\u30D7
+graph_color.INDPOP=\#ffff00
+main.caption_named_city={0} - MicropolisJ
+menu.zones.RESIDENTIAL.key=R
+main.save_query=\u3053\u306E\u8857\u3092\u30BB\u30FC\u30D6\u3057\u307E\u3059\u304B\uFF1F
+tool.NUCLEAR.border=\#ffff00
+menu.help=\u30D8\u30EB\u30D7
+tool.NUCLEAR.name=\u539F\u5B50\u529B\u767A\u96FB\u6240
+menu.windows.budget.key=B
+menu.windows.key=W
+tool.RESIDENTIAL.icon=/icres.png
+tool.RAIL.bgcolor=rgba(127,127,0,0.375)
+tool.POWERPLANT.border=\#ffff00
+menu.disasters.FLOOD=\u6D2A\u6C34
+menu.game.save_as=\u540D\u524D\u3092\u5909\u3048\u3066\u30BB\u30FC\u30D6
+menu.game.exit=\u7D42\u4E86
+PRODUCT=MicropolisJ
+welcome.play_this_map=\u3053\u306E\u30DE\u30C3\u30D7\u3092\u4F7F\u3046
+main.about_caption=About MicropolisJ
+tool.INDUSTRIAL.tip=\u5DE5\u696D\u5730\u533A\u3092\u533A\u753B\u3057\u307E\u3059
+menu.game.new.shortcut=ctrl N
+menu.speed.PAUSED.key=P
+legend_image.CRIME_OVERLAY=/legendmm.png
+budgetdlg.allocation_hdr=\u914D\u5206\u984D
+main.about_text=Copyright 2013 Jason Long
Portions Copyright 1989-2007 Electronic Arts Inc.
This is free software; you can redistribute it and/or modify it
under the terms of the GNU GPLv3; see the README file for details.
There is no warranty, to the extent permitted by law.
For source code, go to http\://code.google.com/p/micropolis/.
+legend_image.POPDEN_OVERLAY=/legendmm.png
+graph_label.COMPOP=\u5546\u696D
+graph_color.POLLUTION=\#997f4c
+tool.INDUSTRIAL.selected_icon=/icindhi.png
+tool.FIRE.bgcolor=rgba(0,255,0,0.375)
+main.population_label=\u4EBA\u53E3\:
+budgetdlg.requested_hdr=\u8981\u6C42\u984D
+welcome.cancel=\u30AD\u30E3\u30F3\u30BB\u30EB
+stats-last-year=
+tool.POWERPLANT.name=\u706B\u529B\u767A\u96FB\u6240
+tool.SEAPORT.icon=/icseap.png
+tool.POWERPLANT.selected_icon=/iccoalhi.png
+notification.crime_lbl=\u6CBB\u5B89\:
+menu.overlays.FIRE_OVERLAY=\u6D88\u9632\u7F72\u7BA1\u8F44
+menu.overlays.POPDEN_OVERLAY=\u4EBA\u53E3\u5BC6\u5EA6
+welcome.previous_map=\u524D\u306E\u30DE\u30C3\u30D7
+tool.INDUSTRIAL.bgcolor=rgba(255,255,0,0.375)
+menu.speed.SLOW.key=S
+budgetdlg.auto_budget=\u4E88\u7B97\u306E\u81EA\u52D5\u914D\u5206
+tool.NUCLEAR.tip=\u539F\u5B50\u529B\u767A\u96FB\u6240\u3092\u5EFA\u8A2D\u3057\u307E\u3059
+graph_button.INDPOP=grind.png
+tool.RESIDENTIAL.tip=\u4F4F\u5B85\u5730\u533A\u3092\u533A\u753B\u3057\u307E\u3059
+cty_file=CTY file
+menu.overlays.LANDVALUE_OVERLAY=\u5730\u4FA1
+tool.PARK.name=\u516C\u5712
+tool.RAIL.border=\#5d5d5d
+notification.growth_lbl=\u6210\u9577\u5EA6\:
+tool.POWERPLANT.tip=\u706B\u529B\u767A\u96FB\u6240\u3092\u5EFA\u8A2D\u3057\u307E\u3059
+tool.STADIUM.selected_icon=/icstadhi.png
+tool.INDUSTRIAL.name=\u5DE5\u696D\u5730\u533A
+tool.RESIDENTIAL.border=\#00ff00
+budgetdlg.tax_revenue=\u7A0E\u53CE
+menu.speed.NORMAL.key=N
+menu.speed.FAST=\u901F\u3044
+menu.windows.evaluation.key=E
+menu.help.key=H
+graph_color.COMPOP=\#0000e6
+stats-category=\u898F\u6A21\:
+main.funds_label=\u4E88\u7B97\:
+tool.RAIL.icon=/icrail.png
+tool.STADIUM.bgcolor=rgba(93,93,93,0.375)
+graph_button.INDPOP.selected=grindhi.png
+menu.options.auto_bulldoze.key=Z
+welcome.quit=\u7D42\u4E86
+tool.AIRPORT.bgcolor=rgba(93,93,93,0.375)
+tool.*.border=\#bf7900
+tool.WIRE.border=\#ffff00
+tool.POWERPLANT.bgcolor=rgba(93,93,93,0.375)
+menu.windows.evaluation=\u8A55\u4FA1
+menu.options.auto_budget=\u4E88\u7B97\u306E\u81EA\u52D5\u914D\u5206
+notification.dismiss=\u9589\u3058\u308B
+menu.windows.graph=\u30B0\u30E9\u30D5
+tool.AIRPORT.tip=\u7A7A\u6E2F\u3092\u5EFA\u8A2D\u3057\u307E\u3059
+menu.speed.PAUSED=\u505C\u6B62
+budgetdlg.tax_rate_hdr=\u7A0E\u7387
+menu.overlays.CRIME_OVERLAY.key=C
+graph_button.POLLUTION=grpoll.png
+stats-assessed-value=\u8A55\u4FA1\u984D
+tool.ROADS.selected_icon=/icroadhi.png
+tool.SEAPORT.tip=\u6E2F\u3092\u5EFA\u8A2D\u3057\u307E\u3059
+graph_button.MONEY=grmony.png
+tool.ROADS.icon=/icroad.png
+notification.density_lbl=\u4EBA\u53E3\u5BC6\u5EA6\:
+tool.POLICE.bgcolor=rgba(0,255,0,0.375)
+menu.zones.RESIDENTIAL=\u4F4F\u5B85\u5730\u533A
+menu.zones.INDUSTRIAL.key=I
+tool.COMMERCIAL.bgcolor=rgba(0,0,255,0.375)
+tool.WIRE.selected_icon=/icwirehi.png
+budgetdlg.period_ending=\u6C7A\u7B97\u65E5
+tool.STADIUM.tip=\u30B9\u30BF\u30C2\u30A2\u30E0\u3092\u5EFA\u8A2D\u3057\u307E\u3059
+graph_button.RESPOP.selected=grreshi.png
+budgetdlg.cash_end=\u671F\u672B\u6B8B\u9AD8
+tool.PARK.bgcolor=rgba(0,255,0,0.375)
+public-opinion-2=\u6700\u3082\u4E0D\u6E80\u306A\u3053\u3068\u306F\u4F55\u3067\u3059\u304B\uFF1F
+menu.zones.TRANSPORT=\u4EA4\u901A\u7DB2
+public-opinion-1=\u5E02\u9577\u306E\u653F\u7B56\u3092\u652F\u6301\u3057\u307E\u3059\u304B\uFF1F
+menu.overlays.CRIME_OVERLAY=\u72AF\u7F6A\u767A\u751F\u7387
+tool.POLICE.tip=\u8B66\u5BDF\u7F72\u3092\u5EFA\u8A2D\u3057\u307E\u3059
+tool.WIRE.bgcolor=rgba(0,0,0,0.375)
+menu.zones.INDUSTRIAL=\u5DE5\u696D\u5730\u533A
+main.error_unexpected=\u4E88\u671F\u305B\u306C\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F
+menu.disasters.EARTHQUAKE.key=Q
+menu.options.auto_go.key=G
+menu.disasters.FIRE.key=F
+tool.PARK.tip=\u516C\u5712\u3092\u5EFA\u8A2D\u3057\u307E\u3059
+tool.QUERY.name=\u8ABF\u67FB
+tool.ROADS.bgcolor=rgba(255,255,255,0.375)
+budgetdlg.continue=\u4EE5\u4E0A\u306E\u3088\u3046\u306B\u6C7A\u5B9A\u3059\u308B
+menu.windows.budget=\u4E88\u7B97
+menu.overlays.POLLUTE_OVERLAY=\u6C5A\u67D3\u72B6\u6CC1
+graph_color.MONEY=\#007f00
+budgetdlg.road_fund=\u4EA4\u901A\u5C40
+graph_button.COMPOP=grcom.png
+tool.STADIUM.icon=/icstad.png
+funds=${0,number,integer}
+city-score-current=\u7DCF\u5408\u8A55\u4FA1 (0 - 1000)\:
+error.shutdown_query=\u672C\u5F53\u306B\u30D7\u30ED\u30B0\u30E9\u30E0\u3092\u7D42\u4E86\u3057\u3066\u3082\u3044\u3044\u3067\u3059\u304B\uFF1F\u8857\u306F\u4FDD\u5B58\u3055\u308C\u307E\u305B\u3093\u3002
+menu.zones.COMMERCIAL=\u5546\u696D\u5730\u533A
+graph_label.MONEY=\u53CE\u652F
+menu.options.zoom_in.shortcut=PLUS
+menu.zones.ALL.key=A
+tool.POLICE.border=\#0000ff
+menu.options.disasters=\u707D\u5BB3\u3042\u308A
+menu.overlays.key=Y
+main.tools_caption=\u30C4\u30FC\u30EB
+graph_button.CRIME=grcrim.png
+menu.options.disasters.key=D
+menu.game.save_as.key=A
+tool.FIRE.tip=\u6D88\u9632\u7F72\u3092\u5EFA\u8A2D\u3057\u307E\u3059
+menu.overlays.POLICE_OVERLAY.key=O
+tool.FIRE.icon=/icfire.png
+tool.RESIDENTIAL.name=\u4F4F\u5B85\u5730\u533A
+tool.COMMERCIAL.icon=/iccom.png
+menu.options.zoom_out.shortcut=MINUS
+menu.disasters.FLOOD.key=L
+menu.game.load.shortcut=ctrl O
+budgetdlg.pause_game=\u30B2\u30FC\u30E0\u3092\u505C\u6B62
+tool.AIRPORT.selected_icon=/icairphi.png
+stats-game-level=\u30B2\u30FC\u30E0\u30EC\u30D9\u30EB\:
+welcome.load_city=\u30ED\u30FC\u30C9
+menu.speed=\u30B9\u30D4\u30FC\u30C9\u306E\u8A2D\u5B9A
+menu.options.auto_budget.key=A
+city-score-head=
+budgetdlg.title=\u4E88\u7B97
+tool.WIRE.icon=/icwire.png
+menu.overlays.TRAFFIC_OVERLAY.key=T
+tool.BULLDOZER.icon=/icdozr.png
+tool.PARK.selected_icon=/icparkhi.png
+menu.disasters.TORNADO=\u7ADC\u5DFB
+tool.FIRE.selected_icon=/icfirehi.png
+menu.game.key=G
+budgetdlg.reset=\u6A19\u6E96\u306B\u623B\u3059
+budgetdlg.annual_receipts_hdr=\u524D\u5E74\u5EA6\u7A0E\u53CE
+tool.AIRPORT.icon=/icairp.png
+tool.AIRPORT.border=\#bf7900
+graph_color.CRIME=\#7f0000
+budgetdlg.funding_level_hdr=\u914D\u5206\u7387
+public-opinion-yes=\u652F\u6301
+tool.SEAPORT.name=\u6E2F
+ten_years=\u904E\u53BB10\u5E74
+citytime={0,date,YYYY\u5E74MM\u6708}
+menu.difficulty.2=\u4E0A\u7D1A
+menu.difficulty.1=\u4E2D\u7D1A
+menu.difficulty.0=\u521D\u7D1A
+main.error_show_stacktrace=\u8A73\u7D30
+legend_image.TRAFFIC_OVERLAY=/legendmm.png
+notification.pollution_lbl=\u6C5A\u67D3\u5EA6\:
+tool.QUERY.selected_icon=/icqryhi.png
+graph_label.CRIME=\u72AF\u7F6A
+menu.zones=\u5730\u533A
+graph_button.COMPOP.selected=grcomhi.png
+graph_button.MONEY.selected=grmonyhi.png
+main.date_label=\u65E5\u4ED8\:
+menu.overlays.LANDVALUE_OVERLAY.key=L
+menu.speed.key=S
+notification.query_hdr=\u8ABF\u67FB
+tool.SEAPORT.bgcolor=rgba(93,93,93,0.375)
+menu.disasters.MONSTER.key=M
+tool.PARK.border=\#bf7900
+stats-population=\u7DCF\u4EBA\u53E3
+main.error_shutdown=\u30D7\u30ED\u30B0\u30E9\u30E0\u3092\u7D42\u4E86
+graph_button.POLLUTION.selected=grpollhi.png
+menu.help.about=About
+tool.POLICE.icon=/icpol.png
+menu.options.zoom_in=\u62E1\u5927
+legend_image.LANDVALUE_OVERLAY=/legendmm.png
+notification.go_btn=GO\!
+menu.speed.SUPER_FAST.key=R
+menu.game.save=\u30BB\u30FC\u30D6
+legend_image.FIRE_OVERLAY=/legendmm.png
+tool.STADIUM.border=\#00ff00
+graph_label.RESPOP=\u4EBA\u53E3
+main.version_string=Version {0} (Java %java.version%, %java.vendor%)
+tool.COMMERCIAL.selected_icon=/iccomhi.png
+menu.options.sound=\u30B5\u30A6\u30F3\u30C9\u3042\u308A
+tool.RAIL.name=\u7DDA\u8DEF
+menu.disasters.MELTDOWN=\u30E1\u30EB\u30C8\u30C0\u30A6\u30F3
+menu.difficulty.2.key=H
+tool.COMMERCIAL.tip=\u5546\u696D\u5730\u533A\u3092\u533A\u753B\u3057\u307E\u3059
+legend_image.GROWTHRATE_OVERLAY=/legendpm.png
+menu.options.key=O
+menu.disasters.MONSTER=\u602A\u7363
+notification.zone_lbl=\u5730\u533A\:
+main.caption_unnamed_city=MicropolisJ
+legend_image.POLLUTE_OVERLAY=/legendmm.png
+tool.NUCLEAR.icon=/icnuc.png
+tool.NUCLEAR.selected_icon=/icnuchi.png
+menu.speed.SLOW=\u9045\u3044
+menu.zones.ALL=\u5E02\u8857\u5168\u666F
+tool.ROADS.name=\u9053\u8DEF
+tool.WIRE.tip=\u96FB\u7DDA\u3092\u6577\u8A2D\u3057\u307E\u3059
+menu.game.load.key=L
+menu.disasters.EARTHQUAKE=\u5730\u9707
+menu.disasters.TORNADO.key=T
+tool.ROADS.border=\#5d5d5d
+menu.difficulty.1.key=M
+main.error_caption=\u30A8\u30E9\u30FC
+menu.overlays.POWER_OVERLAY=\u96FB\u529B\u7DB2
+menu.difficulty.key=F
+menu.overlays.FIRE_OVERLAY.key=F
+menu.game.save.key=S
+tool.POWERPLANT.icon=/iccoal.png
+graph_button.CRIME.selected=grcrimhi.png
+notification.value_lbl=\u5730\u4FA1\:
+tool.BULLDOZER.tip=\u6574\u5730\u3057\u307E\u3059
+dismiss-evaluation=\u9589\u3058\u308B
+budgetdlg.police_fund=\u8B66\u5BDF\u7F72
+graph_color.RESPOP=\#00e600
+menu.game.new=\u65B0\u3057\u3044\u8857\u3092\u3064\u304F\u308B
+menu.options.sound.key=S
+statistics-head=\u8A55\u4FA1
+menu.disasters.MELTDOWN.key=E
+menu.overlays.POPDEN_OVERLAY.key=D
+menu.game.exit.key=X
+menu.speed.NORMAL=\u6A19\u6E96
+public-opinion-no=\u4E0D\u652F\u6301
+menu.difficulty.0.key=E
+dismiss_graph=\u9589\u3058\u308B
+tool.STADIUM.name=\u30B9\u30BF\u30C2\u30A2\u30E0
+menu.help.launch-translation-tool=\u7FFB\u8A33\u30C4\u30FC\u30EB\u3092\u8D77\u52D5
+onetwenty_years=\u904E\u53BB120\u5E74
+tool.PARK.icon=/icpark.png
+tool.INDUSTRIAL.border=\#ffff00
+public-opinion=\u4E16\u8AD6\u8ABF\u67FB\u306E\u7D50\u679C
+menu.game.load=\u30ED\u30FC\u30C9
+tool.INDUSTRIAL.icon=/icind.png
+menu.options.zoom_out=\u7E2E\u5C0F
+tool.FIRE.name=\u6D88\u9632\u7F72
+menu.overlays=\u5206\u5E03\u56F3
+stats-net-migration=\u524D\u5E74\u6BD4\:
+tool.RESIDENTIAL.selected_icon=/icreshi.png
+budgetdlg.capital_expenses=\u8CC7\u672C\u652F\u51FA
diff --git a/micropolis-java/strings/StatusMessages_ja_JP.properties b/micropolis-java/strings/StatusMessages_ja_JP.properties
new file mode 100644
index 00000000..ee4f201c
--- /dev/null
+++ b/micropolis-java/strings/StatusMessages_ja_JP.properties
@@ -0,0 +1,51 @@
+#ja_JP
+#Sun Feb 01 17:49:10 JST 2015
+zone.19=\u539F\u5B50\u529B\u767A\u96FB\u6240
+zone.18=\u30B9\u30BF\u30C2\u30A2\u30E0
+zone.17=\u8B66\u5BDF\u7F72
+zone.16=\u6D88\u9632\u7F72
+zone.15=\u706B\u529B\u767A\u96FB\u6240
+zone.14=\u7A7A\u6E2F
+zone.13=\u6E2F
+zone.12=\u5DE5\u696D\u5730\u533A
+zone.11=\u5546\u696D\u5730\u533A
+zone.10=\u4F4F\u5B85\u5730\u533A
+status.20=\u6025\u5897
+zone.9=\u7DDA\u8DEF
+zone.8=\u96FB\u7DDA
+zone.7=\u9053\u8DEF
+zone.6=\u706B\u707D
+status.19=\u5897\u52A0
+zone.5=\u653E\u5C04\u80FD
+status.18=\u4E0D\u5909
+zone.4=\u6D2A\u6C34
+status.17=\u6E1B\u5C11
+zone.3=\u304C\u308C\u304D
+status.16=\u6700\u60AA
+zone.2=\u68EE\u6797
+zone.1=\u6C34\u57DF
+status.15=\u9AD8
+zone.0=\u7A7A\u5730
+status.14=\u666E\u901A
+status.13=\u306A\u3057
+status.12=\u5371\u967A
+status.11=\u4E0D\u5B89
+status.10=\u666E\u901A
+zone.28=\u6559\u4F1A
+status.9=\u5B89\u5168
+zone.27=
+status.8=\u9AD8\u9A30\uFF01
+status.7=\u666E\u901A
+zone.26=\u30A6\u30E9\u30F3238
+status.6=\u5B89\u3044
+zone.25=
+status.5=\u6700\u4F4E
+zone.24=49ers-7 Bears-10
+zone.23=\u516C\u5712
+status.4=\u904E\u5BC6
+zone.22=\u5674\u6C34
+status.3=\u9AD8
+zone.21=\u30EC\u30FC\u30C0\u30FC
+status.2=\u4E2D
+zone.20=\u6A4B
+status.1=\u307E\u3070\u3089
From 180fe47b6d0f99c59f18698ab7e30165169fefc1 Mon Sep 17 00:00:00 2001
From: hATrayflood
Date: Thu, 5 Nov 2015 01:36:57 +0900
Subject: [PATCH 6/7] fix #54: should be shown notification some messages
---
micropolis-java/src/micropolisj/engine/Micropolis.java | 8 ++++----
.../src/micropolisj/engine/MicropolisMessage.java | 2 ++
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/micropolis-java/src/micropolisj/engine/Micropolis.java b/micropolis-java/src/micropolisj/engine/Micropolis.java
index 95a6b9ad..8e9b0e8b 100644
--- a/micropolis-java/src/micropolisj/engine/Micropolis.java
+++ b/micropolis-java/src/micropolisj/engine/Micropolis.java
@@ -2508,7 +2508,7 @@ void checkGrowth()
z = MicropolisMessage.POP_2K_REACHED;
}
if (z != null) {
- sendMessage(z);
+ sendMessageAt(z, centerMassX, centerMassY);
}
}
lastCityPop = newPop;
@@ -2589,12 +2589,12 @@ void doMessages()
break;
case 35:
if (pollutionAverage > 60) { // FIXME, consider changing threshold to 80
- sendMessage(MicropolisMessage.HIGH_POLLUTION);
+ sendMessageAt(MicropolisMessage.HIGH_POLLUTION, pollutionMaxLocationX, pollutionMaxLocationY);
}
break;
case 42:
if (crimeAverage > 100) {
- sendMessage(MicropolisMessage.HIGH_CRIME);
+ sendMessageAt(MicropolisMessage.HIGH_CRIME, crimeMaxLocationX, crimeMaxLocationY);
}
break;
case 45:
@@ -2629,7 +2629,7 @@ void doMessages()
break;
case 63:
if (trafficAverage > 60) {
- sendMessage(MicropolisMessage.HIGH_TRAFFIC);
+ sendMessageAt(MicropolisMessage.HIGH_TRAFFIC, trafficMaxLocationX, trafficMaxLocationY);
}
break;
default:
diff --git a/micropolis-java/src/micropolisj/engine/MicropolisMessage.java b/micropolis-java/src/micropolisj/engine/MicropolisMessage.java
index 4e7e4277..612211ed 100644
--- a/micropolis-java/src/micropolisj/engine/MicropolisMessage.java
+++ b/micropolis-java/src/micropolisj/engine/MicropolisMessage.java
@@ -75,6 +75,7 @@ public enum MicropolisMessage
POP_500K_REACHED.useNotificationPane = true;
HIGH_CRIME.useNotificationPane = true;
HIGH_POLLUTION.useNotificationPane = true;
+ HIGH_TRAFFIC.useNotificationPane = true;
// location-specific
FLOOD_REPORT.useNotificationPane = true;
@@ -87,5 +88,6 @@ public enum MicropolisMessage
SHIPWRECK_REPORT.useNotificationPane = true;
COPTER_CRASH_REPORT.useNotificationPane = true;
PLANECRASH_REPORT.useNotificationPane = true;
+ FIREBOMBING_REPORT.useNotificationPane = true;
}
}
From 5a76f925306ca8e7424520c69360cc169633d12c Mon Sep 17 00:00:00 2001
From: Bengrs
Date: Mon, 28 Dec 2015 20:25:00 +0100
Subject: [PATCH 7/7] MicropolisJ: Updated French translation
---
micropolis-java/strings/GuiStrings_fr.utf8 | 8 +++++---
micropolis-java/strings/StatusMessages_fr.utf8 | 7 ++++---
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/micropolis-java/strings/GuiStrings_fr.utf8 b/micropolis-java/strings/GuiStrings_fr.utf8
index 52b9eaee..655c2c46 100644
--- a/micropolis-java/strings/GuiStrings_fr.utf8
+++ b/micropolis-java/strings/GuiStrings_fr.utf8
@@ -34,9 +34,11 @@ main.about_text = \
Traduction Française: Benoît Gross
\
Portions Copyright 1989-2007 Electronic Arts Inc.
\
Ceci est un logiciel libre; vous pouvez le redistribuer/modifier
\
- sous les termes de la licence GNU GPLv3; voir le fichier README pour plus de détails.
\
+ sous les termes de la licence GNU GPLv3.
\
+ Consultez voir le fichier README pour de plus amples détails.
\
Il n'y a aucune garantie, dans la mesure permise par la loi.
\
- Pour le code source, visitez http://code.google.com/p/micropolis/.
\
+ Le code source de MicropolisJ est disponible à l'adresse suivante:
\
+ https://github.com/SimHacker/micropolis
\
cty_file = Fichier CTY
funds = ${0,number,integer}
@@ -263,7 +265,7 @@ statistics-head = Statistiques
city-score-head = Score global de la ville (0 - 1000)
stats-population = Population:
stats-net-migration = Migration nette:
-stats-last-year = (année dernière)
+stats-last-year = (année précédente)
stats-assessed-value = Évaluation:
stats-category = Catégorie:
stats-game-level = Difficulté:
diff --git a/micropolis-java/strings/StatusMessages_fr.utf8 b/micropolis-java/strings/StatusMessages_fr.utf8
index 1053eaf3..ac8010f6 100644
--- a/micropolis-java/strings/StatusMessages_fr.utf8
+++ b/micropolis-java/strings/StatusMessages_fr.utf8
@@ -31,11 +31,12 @@ zone.19 = Centrale nucléaire
zone.20 = Pont
zone.21 = Radar
zone.22 = Fontaine
-zone.23 = Industrie
+zone.23 = Parc
zone.24 = Olympique Métro 38 Barzeques 3
-zone.25 = Pont
+zone.25 = Fumée
zone.26 = Uranium 238
-zone.27 =
+zone.27 = Hôpital
+zone.28 = Église
! population density
status.1 = Basse