1
0
Fork 0

internationalization

master
Ambrose Chua 2015-10-16 01:43:41 +08:00
parent ca9ebbcf98
commit 963c354e59
16 changed files with 199 additions and 142 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.idea/workspaces.xml

View File

@ -3,10 +3,10 @@
<output-path>$PROJECT_DIR$/out/artifacts/build</output-path>
<root id="archive" name="build.jar">
<element id="module-output" name="Undefined" />
<element id="library" level="project" name="org.json:json:20150729" />
<element id="directory" name="META-INF">
<element id="file-copy" path="$PROJECT_DIR$/META-INF/MANIFEST.MF" />
</element>
<element id="library" level="project" name="org.json:json:20150729" />
</root>
</artifact>
</component>

View File

@ -7,12 +7,79 @@
</component>
<component name="ChangeListManager">
<list default="true" id="cdb932d9-7e58-4d94-93a9-e7b232ef17da" name="Default" comment="IT WORRRKSSSSS.">
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/io/makerforce/undefined/view/CoverListController.java" afterPath="$PROJECT_DIR$/src/io/makerforce/undefined/view/CoverListController.java" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/model/Album.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/model/Artist.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/view/CoverItemController.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/view/CoverListController.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/view/InterfaceController$1.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/view/InterfaceController$2.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/io/makerforce/undefined/view/InterfaceController.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/view/InterfaceController.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/model/Item.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/model/ItemList.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/model/JSONLibrary.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/model/Library.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/util/LibraryManager$LibraryManagerState.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/util/LibraryManager.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/io/makerforce/undefined/Main.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/Main.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/util/PlayManager$1.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/util/PlayManager$PlayManagerState.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/util/PlayManager.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/io/makerforce/undefined/model/Playlist.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/util/TestClasses.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/io/makerforce/undefined/model/Track.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/model/Track.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/view/TrackListController.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/io/makerforce/undefined/model/Util.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/util/Util.class" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b.zip" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/build.jar" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/icons/cloud-check.32.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/icons/cloud-download.32.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/json-20150729.jar" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/icons/next2.32.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/icons/next2.32.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/icons/pause2.48.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/icons/pause2.48.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/icons/play3.48.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/icons/play3.48.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/icons/previous2.32.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/icons/previous2.32.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/images/srw.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/icons/volume-medium.24.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/icons/volume-medium.24.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/icons/volume-mute2.24.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/icons/volume-mute2.24.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/icons/warning.32.png" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.gitignore" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/META-INF/MANIFEST.MF" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/bundles/bundle.properties" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/bundles/bundle.properties" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/bundles/bundle_ja.properties" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/bundles/bundle_ja.properties" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/bundles/bundle_ja_utf8.properties" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/bundles/bundle_ja_utf8.properties" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/bundles/bundle_zh.properties" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/bundles/bundle_zh.properties" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/bundles/bundle_zh_utf8.properties" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/bundles/bundle_zh_utf8.properties" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/view/coveritem.fxml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/view/coverlist.fxml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/io/makerforce/undefined/view/interface.fxml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/view/interface.fxml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/makebundles.sh" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/artifacts/build/b/io/makerforce/undefined/view/splash.fxml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/view/splash.fxml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/out/production/Undefined/io/makerforce/undefined/view/tracklist.fxml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/io/makerforce/undefined/view/InterfaceController.java" afterPath="$PROJECT_DIR$/src/io/makerforce/undefined/view/InterfaceController.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/io/makerforce/undefined/util/PlayManager.java" afterPath="$PROJECT_DIR$/src/io/makerforce/undefined/util/PlayManager.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/README.md" afterPath="$PROJECT_DIR$/README.md" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/META-INF/MANIFEST.MF" afterPath="$PROJECT_DIR$/META-INF/MANIFEST.MF" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/io/makerforce/undefined/Main.java" afterPath="$PROJECT_DIR$/src/io/makerforce/undefined/Main.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/io/makerforce/undefined/view/TrackListController.java" afterPath="$PROJECT_DIR$/src/io/makerforce/undefined/view/TrackListController.java" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/artifacts/build.xml" afterPath="$PROJECT_DIR$/.idea/artifacts/build.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/io/makerforce/undefined/view/interface.fxml" afterPath="$PROJECT_DIR$/src/io/makerforce/undefined/view/interface.fxml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/io/makerforce/undefined/view/splash.fxml" afterPath="$PROJECT_DIR$/src/io/makerforce/undefined/view/splash.fxml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/io/makerforce/undefined/view/tracklist.fxml" afterPath="$PROJECT_DIR$/src/io/makerforce/undefined/view/tracklist.fxml" />
</list>
<ignored path="JavaFxApplication.iws" />
<ignored path=".idea/workspace.xml" />
@ -76,8 +143,8 @@
<file leaf-file-name="InterfaceController.java" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/src/io/makerforce/undefined/view/InterfaceController.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.6712673">
<caret line="193" column="59" selection-start-line="193" selection-start-column="59" selection-end-line="193" selection-end-column="59" />
<state vertical-scroll-proportion="0.42424244">
<caret line="138" column="9" selection-start-line="138" selection-start-column="9" selection-end-line="138" selection-end-column="9" />
<folding />
</state>
</provider>
@ -177,10 +244,8 @@
</component>
<component name="PhpWorkspaceProjectConfiguration" backward_compatibility_performed="true" />
<component name="ProjectFrameBounds">
<option name="x" value="-619" />
<option name="y" value="-1440" />
<option name="width" value="2560" />
<option name="height" value="1440" />
<option name="width" value="1366" />
<option name="height" value="768" />
</component>
<component name="ProjectInspectionProfilesVisibleTreeState">
<entry key="Project Default">
@ -226,6 +291,8 @@
<sortByType />
</navigator>
<panes>
<pane id="Scratches" />
<pane id="PackagesPane" />
<pane id="ProjectPane">
<subPane>
<PATH>
@ -356,15 +423,13 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value=".idea" />
<option name="myItemId" value="src" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
</subPane>
</pane>
<pane id="Scratches" />
<pane id="Scope" />
<pane id="PackagesPane" />
</panes>
</component>
<component name="PropertiesComponent">
@ -384,7 +449,7 @@
<property name="restartRequiresConfirmation" value="true" />
<property name="settings.editor.selected.configurable" value="preferences.keymap" />
<property name="settings.editor.splitter.proportion" value="0.2" />
<property name="project.structure.last.edited" value="Libraries" />
<property name="project.structure.last.edited" value="Artifacts" />
<property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.2" />
<property name="full.screen.before.presentation.mode" value="false" />
@ -736,6 +801,7 @@
<workItem from="1444700132845" duration="8032000" />
<workItem from="1444804563726" duration="30382000" />
<workItem from="1444905270596" duration="14563000" />
<workItem from="1444930733329" duration="207000" />
</task>
<task id="LOCAL-00001" summary="Initial Commit">
<created>1444218455154</created>
@ -843,7 +909,7 @@
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="105545000" />
<option name="totallyTimeSpent" value="105752000" />
</component>
<component name="TodoView">
<todo-panel id="selected-file">
@ -855,34 +921,34 @@
</todo-panel>
</component>
<component name="ToolWindowManager">
<frame x="-619" y="-1440" width="2560" height="1440" extended-state="0" />
<frame x="0" y="0" width="1366" height="768" extended-state="0" />
<editor active="false" />
<layout>
<window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32872504" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.23104957" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" />
<window_info id="Palette&#9;" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32931423" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
<window_info id="Application Servers" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
<window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.26530612" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25285715" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25285715" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Designer" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.15409055" sideWeight="0.6703755" order="0" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.15407854" sideWeight="0.6703755" order="0" side_tool="false" content_ui="combo" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24924472" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32930514" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.39868805" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Profiler" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="14" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.39868805" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="11" side_tool="false" content_ui="tabs" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.23104957" sideWeight="0.5" order="13" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2976639" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.26530612" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="JetGradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Problems" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="12" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32931423" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
@ -977,14 +1043,14 @@
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/LICENSE">
<provider editor-type-id="com.intellij.database.editor.CsvTableFileEditorProvider">
<state />
</provider>
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
</state>
</provider>
<provider editor-type-id="com.intellij.database.editor.CsvTableFileEditorProvider">
<state />
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/META-INF/MANIFEST.MF">
<provider selected="true" editor-type-id="text-editor">
@ -997,11 +1063,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.20089285">
<caret line="9" column="39" selection-start-line="9" selection-start-column="37" selection-end-line="9" selection-end-column="40" />
<folding>
<element signature="imports" expanded="true" />
<element signature="e#198#199#0" expanded="true" />
<element signature="e#232#233#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@ -1023,7 +1084,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="49" column="0" selection-start-line="49" selection-start-column="0" selection-end-line="49" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -1031,11 +1091,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="196" column="0" selection-start-line="196" selection-start-column="0" selection-end-line="196" selection-end-column="0" />
<folding>
<element signature="e#1380#1381#0" expanded="false" />
<element signature="e#1408#1409#0" expanded="false" />
<element signature="e#5983#5984#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
@ -1064,7 +1119,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.58126724">
<caret line="1772" column="0" selection-start-line="1772" selection-start-column="0" selection-end-line="1772" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -1072,7 +1126,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.74655646">
<caret line="385" column="0" selection-start-line="385" selection-start-column="0" selection-end-line="385" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -1112,7 +1165,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.91184574">
<caret line="520" column="0" selection-start-line="520" selection-start-column="0" selection-end-line="520" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -1120,7 +1172,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-0.57024795">
<caret line="4" column="13" selection-start-line="4" selection-start-column="13" selection-end-line="4" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
@ -1135,9 +1186,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.33333334">
<caret line="2441" column="0" selection-start-line="2441" selection-start-column="0" selection-end-line="2441" selection-end-column="0" />
<folding>
<element signature="e#99781#99782#0" expanded="false" />
</folding>
</state>
</provider>
</entry>
@ -1145,13 +1193,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.33333334">
<caret line="176" column="0" selection-start-line="176" selection-start-column="0" selection-end-line="176" selection-end-column="0" />
<folding>
<element signature="e#4006#4007#0" expanded="true" />
<element signature="e#4058#4059#0" expanded="true" />
<element signature="e#5120#5121#0" expanded="true" />
<element signature="e#6394#6395#0" expanded="true" />
<element signature="e#6448#6449#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@ -1173,7 +1214,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.33333334">
<caret line="1255" column="0" selection-start-line="1255" selection-start-column="0" selection-end-line="1255" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -1188,7 +1228,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.45730028">
<caret line="90" column="0" selection-start-line="90" selection-start-column="0" selection-end-line="90" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -1196,7 +1235,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.41322315">
<caret line="62" column="0" selection-start-line="62" selection-start-column="0" selection-end-line="62" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -1204,7 +1242,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.33333334">
<caret line="60" column="0" selection-start-line="60" selection-start-column="0" selection-end-line="60" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -1219,7 +1256,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.661157">
<caret line="45" column="0" selection-start-line="45" selection-start-column="0" selection-end-line="45" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -1238,32 +1274,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.9255102">
<caret line="102" column="0" selection-start-line="102" selection-start-column="0" selection-end-line="102" selection-end-column="0" />
<folding>
<element signature="e#1045#1046#0" expanded="true" />
<element signature="e#1090#1091#0" expanded="true" />
<element signature="e#2240#2241#0" expanded="true" />
<element signature="e#2270#2271#0" expanded="true" />
<element signature="e#2315#2316#0" expanded="true" />
<element signature="e#2343#2344#0" expanded="true" />
<element signature="e#2391#2392#0" expanded="true" />
<element signature="e#2420#2421#0" expanded="true" />
<element signature="e#2469#2470#0" expanded="true" />
<element signature="e#2496#2497#0" expanded="true" />
<element signature="e#2542#2543#0" expanded="true" />
<element signature="e#2571#2572#0" expanded="true" />
<element signature="e#2616#2617#0" expanded="true" />
<element signature="e#2644#2645#0" expanded="true" />
<element signature="e#2688#2689#0" expanded="true" />
<element signature="e#2715#2716#0" expanded="true" />
<element signature="e#2767#2768#0" expanded="true" />
<element signature="e#2801#2802#0" expanded="true" />
<element signature="e#2853#2854#0" expanded="true" />
<element signature="e#2887#2888#0" expanded="true" />
<element signature="e#2935#2936#0" expanded="true" />
<element signature="e#2963#2964#0" expanded="true" />
<element signature="e#2995#2996#0" expanded="true" />
<element signature="e#3078#3079#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@ -1271,10 +1281,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.3943525">
<caret line="42" column="22" selection-start-line="42" selection-start-column="22" selection-end-line="42" selection-end-column="22" />
<folding>
<element signature="e#1185#1186#0" expanded="true" />
<element signature="e#1216#1217#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
@ -1293,7 +1299,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.78061223">
<caret line="57" column="4" selection-start-line="57" selection-start-column="4" selection-end-line="57" selection-end-column="4" />
<folding />
</state>
</provider>
</entry>
@ -1312,7 +1317,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.36734694">
<caret line="35" column="0" selection-start-line="35" selection-start-column="0" selection-end-line="35" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
@ -1320,7 +1324,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.24489796">
<caret line="23" column="48" selection-start-line="23" selection-start-column="48" selection-end-line="23" selection-end-column="48" />
<folding />
</state>
</provider>
</entry>
@ -1340,7 +1343,6 @@
<state vertical-scroll-proportion="0.6122449">
<caret line="57" column="72" selection-start-line="57" selection-start-column="72" selection-end-line="57" selection-end-column="72" />
<folding>
<element signature="e#690#691#0" expanded="false" />
<element signature="e#718#719#0" expanded="false" />
</folding>
</state>
@ -1350,7 +1352,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.872449">
<caret line="62" column="43" selection-start-line="62" selection-start-column="43" selection-end-line="62" selection-end-column="43" />
<folding />
</state>
</provider>
</entry>
@ -1364,7 +1365,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-5.172414">
<caret line="10" column="49" selection-start-line="10" selection-start-column="49" selection-end-line="10" selection-end-column="49" />
<folding />
</state>
</provider>
</entry>
@ -1372,7 +1372,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.06122449">
<caret line="8" column="13" selection-start-line="8" selection-start-column="13" selection-end-line="8" selection-end-column="13" />
<folding />
</state>
</provider>
</entry>
@ -1380,9 +1379,6 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.19897959">
<caret line="13" column="37" selection-start-line="13" selection-start-column="37" selection-end-line="13" selection-end-column="37" />
<folding>
<element signature="imports" expanded="true" />
</folding>
</state>
</provider>
</entry>
@ -1408,10 +1404,7 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.6938776">
<caret line="65" column="0" selection-start-line="65" selection-start-column="0" selection-end-line="65" selection-end-column="0" />
<folding>
<element signature="e#2632#2633#0" expanded="true" />
<element signature="e#2670#2671#0" expanded="true" />
</folding>
<folding />
</state>
</provider>
</entry>
@ -1419,18 +1412,14 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.6122961">
<caret line="146" column="0" selection-start-line="146" selection-start-column="0" selection-end-line="146" selection-end-column="0" />
<folding>
<element signature="e#5548#5549#0" expanded="true" />
<element signature="e#5585#5586#0" expanded="true" />
<marker date="1444919987000" expanded="true" signature="-1:-1" placeholder="..." />
</folding>
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/io/makerforce/undefined/view/InterfaceController.java">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.6712673">
<caret line="193" column="59" selection-start-line="193" selection-start-column="59" selection-end-line="193" selection-end-column="59" />
<state vertical-scroll-proportion="0.42424244">
<caret line="138" column="9" selection-start-line="138" selection-start-column="9" selection-end-line="138" selection-end-column="9" />
<folding />
</state>
</provider>
@ -1494,6 +1483,7 @@
<option name="proportions">
<list>
<option value="0.2" />
<option value="0.6" />
</list>
</option>
</splitter-proportions>

View File

@ -7,6 +7,6 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="org.json:json:20150729" level="project" />
<orderEntry type="library" exported="" name="org.json:json:20150729" level="project" />
</component>
</module>

4
makebundles.sh Executable file
View File

@ -0,0 +1,4 @@
#!/bin/bash
cd ./src/bundles
native2ascii -encoding UTF-8 bundle_zh_utf8.properties bundle_zh.properties
native2ascii -encoding UTF-8 bundle_ja_utf8.properties bundle_ja.properties

View File

@ -0,0 +1,9 @@
appdescription = Stream and host your music privately.
title = Title
artist = Artist
artists = Artists
album = Album
albums = Albums
track = Track
tracks = Tracks
length = Length

View File

@ -0,0 +1,9 @@
appdescription = \u3042\u306a\u305f\u306e\u97f3\u697d
title = \u30bf\u30a4\u30c8\u30eb
artist = \u30a2\u30fc\u30c6\u30a3\u30b9\u30c8
artists = \u30a2\u30fc\u30c6\u30a3\u30b9\u30c8
album = \u30a2\u30eb\u30d0\u30e0
albums = \u30a2\u30eb\u30d0\u30e0
track = \u30c8\u30e9\u30c3\u30af
tracks = \u30c8\u30e9\u30c3\u30af
length = \u9577\u3055

View File

@ -0,0 +1,9 @@
appdescription = あなたの音楽
title = タイトル
artist = アーティスト
artists = アーティスト
album = アルバム
albums = アルバム
track = トラック
tracks = トラック
length = 長さ

View File

@ -0,0 +1,9 @@
appdescription = \u4f60\u7684\u97f3\u4e50.
title = \u66f2\u540d
artist = \u6f14\u5531\u8005
artists = \u6f14\u5531\u8005
album = \u4e13\u8f91
albums = \u4e13\u8f91
track = \u6b4c\u66f2
tracks = \u6b4c\u66f2
length = \u957f\u5ea6

View File

@ -0,0 +1,9 @@
appdescription = 你的音乐.
title = 曲名
artist = 演唱者
artists = 演唱者
album = 专辑
albums = 专辑
track = 歌曲
tracks = 歌曲
length = 长度

View File

@ -13,12 +13,17 @@ import javafx.stage.Stage;
import javafx.stage.StageStyle;
import java.io.IOException;
import java.nio.file.Watchable;
import java.util.Locale;
import java.util.ResourceBundle;
public class Main extends Application {
ChangeListener<LibraryManager.LibraryManagerState> ch = null; // Because it doesn't work in there
private Stage mainStage;
public static ResourceBundle bundle = ResourceBundle.getBundle("bundles/bundle", Locale.getDefault());
public static void main(String[] args) {
launch(args);
}
@ -26,7 +31,8 @@ public class Main extends Application {
@Override
public void start(Stage initStage) throws Exception {
Parent splashRoot = FXMLLoader.load(getClass().getResource("view/splash.fxml"));
Parent splashRoot = FXMLLoader.load(getClass().getResource("view/splash.fxml"), bundle);
Scene splashScene = new Scene(splashRoot, 300, 200);
initStage.initStyle(StageStyle.UNDECORATED);
initStage.setScene(splashScene);
@ -41,7 +47,7 @@ public class Main extends Application {
Platform.runLater(() -> {
Parent root = null;
try {
root = FXMLLoader.load(Main.this.getClass().getResource("view/interface.fxml"));
root = FXMLLoader.load(Main.this.getClass().getResource("view/interface.fxml"), bundle);
} catch (IOException e) {
e.printStackTrace();
System.exit(284);

View File

@ -1,5 +1,6 @@
package io.makerforce.undefined.view;
import io.makerforce.undefined.Main;
import io.makerforce.undefined.model.Item;
import io.makerforce.undefined.model.ItemList;
import io.makerforce.undefined.model.Track;
@ -39,7 +40,6 @@ public class InterfaceController {
private Label currentArtist;
@FXML
private ListView<String> showList;
private ObservableList<String> showListItems = FXCollections.observableArrayList("Artists", "Albums", "Songs");
@FXML
private ScrollPane scrollPane;
//@FXML
@ -112,7 +112,7 @@ public class InterfaceController {
// Raw bindings
showList.setItems(showListItems);
showList.setItems(FXCollections.observableArrayList(Main.bundle.getString("artists"), Main.bundle.getString("albums"), Main.bundle.getString("tracks")));
showList.selectionModelProperty().get().clearAndSelect(0);
showList.selectionModelProperty().get().selectedIndexProperty().addListener(observable2 -> {
int sel = showList.selectionModelProperty().get().getSelectedIndex();

View File

@ -1,5 +1,6 @@
package io.makerforce.undefined.view;
import io.makerforce.undefined.Main;
import io.makerforce.undefined.model.ItemList;
import io.makerforce.undefined.model.Track;
import javafx.beans.value.ObservableIntegerValue;
@ -42,7 +43,7 @@ public class TrackListController extends VBox {
private ItemList itemList;
public TrackListController(Image image, String title, String subtitle) {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("tracklist.fxml"));
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("tracklist.fxml"), Main.bundle);
fxmlLoader.setRoot(this);
fxmlLoader.setController(this);
try {

View File

@ -5,6 +5,8 @@
<?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<?import java.lang.String?>
<?import javafx.collections.*?>
<BorderPane xmlns:fx="http://javafx.com/fxml/1" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="400.0"
minWidth="600.0" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/null"
fx:controller="io.makerforce.undefined.view.InterfaceController">
@ -150,7 +152,15 @@
<items>
<VBox fx:id="leftPane" maxWidth="240.0" minWidth="80.0" prefWidth="50.0">
<children>
<ListView fx:id="showList" VBox.vgrow="ALWAYS"/>
<ListView fx:id="showList" VBox.vgrow="ALWAYS"><!--
<items>
<FXCollections fx:factory="observableArrayList">
<String fx:value="%artists" />
<String fx:value="%albums" />
<String fx:value="%tracks" />
</FXCollections>
</items>-->
</ListView>
<VBox fx:id="currentDetails" alignment="BOTTOM_LEFT">
<children>
<ImageView fx:id="currentImage" fitHeight="120.0" fitWidth="120.0" pickOnBounds="true"

View File

@ -1,29 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.text.*?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.ProgressIndicator?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.Font?>
<AnchorPane xmlns:fx="http://javafx.com/fxml/1" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity"
minWidth="-Infinity" prefHeight="200.0" prefWidth="300.0" xmlns="http://javafx.com/javafx/8.0.40">
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="200.0" prefWidth="300.0" xmlns="http://javafx.com/javafx/null" xmlns:fx="http://javafx.com/fxml/1">
<children>
<Label alignment="CENTER" layoutX="4.0" layoutY="20.0" prefHeight="60.0" prefWidth="278.0" text="Undefined"
AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0">
<Label alignment="CENTER" layoutX="4.0" layoutY="20.0" prefHeight="60.0" prefWidth="278.0" text="Undefined" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0">
<font>
<Font name="System Bold" size="48.0"/>
<Font name="System Bold" size="48.0" />
</font>
</Label>
<Label alignment="CENTER" layoutY="83.0" text="Stream and host your music privately. "
AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0">
<Label alignment="CENTER" layoutY="81.0" text="%appdescription" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0">
<font>
<Font size="14.0"/>
<Font size="14.0" />
</font>
</Label>
<ProgressIndicator layoutX="134.0" layoutY="139.0" prefHeight="32.0" prefWidth="32.0"/>
<Label alignment="CENTER" layoutY="106.0" text="https://undefinedapp.com/" AnchorPane.leftAnchor="0.0"
AnchorPane.rightAnchor="0.0">
<ProgressIndicator layoutX="134.0" layoutY="139.0" prefHeight="32.0" prefWidth="32.0" />
<Label alignment="CENTER" layoutY="106.0" text="https://undefinedapp.com/" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0">
<font>
<Font size="10.0"/>
<Font size="10.0" />
</font>
</Label>
</children>

View File

@ -1,47 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.*?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<fx:root xmlns:fx="http://javafx.com/fxml/1" type="VBox" xmlns="http://javafx.com/javafx/null">
<fx:root type="VBox" xmlns="http://javafx.com/javafx/null" xmlns:fx="http://javafx.com/fxml/1">
<children>
<HBox fx:id="coverContainer" alignment="CENTER">
<children>
<ImageView fx:id="imageView" fitHeight="160.0" fitWidth="160.0" pickOnBounds="true"
preserveRatio="true"/>
<ImageView fx:id="imageView" fitHeight="160.0" fitWidth="160.0" pickOnBounds="true" preserveRatio="true" />
<VBox alignment="CENTER" prefWidth="240.0">
<children>
<Label fx:id="titleLabel" text="Title">
<font>
<Font name="System Bold" size="28.0"/>
<Font name="System Bold" size="28.0" />
</font>
</Label>
<Label fx:id="subtitleLabel" text="Subtitle"/>
<Label fx:id="subtitleLabel" text="Subtitle" />
</children>
</VBox>
</children>
<padding>
<Insets bottom="7.0" left="7.0" right="7.0" top="7.0"/>
<Insets bottom="7.0" left="7.0" right="7.0" top="7.0" />
</padding>
</HBox>
<TableView fx:id="tableView" VBox.vgrow="ALWAYS">
<columns>
<TableColumn fx:id="trackNumberTableColumn" editable="false" prefWidth="28.0" resizable="false"
sortable="false" text="#"/>
<TableColumn fx:id="trackTitleTableColumn" editable="false" prefWidth="200.0" sortable="false"
text="Title"/>
<TableColumn fx:id="trackArtistTableColumn" editable="false" prefWidth="90.0" sortable="false"
text="Artist"/>
<TableColumn fx:id="trackAlbumTableColumn" editable="false" prefWidth="90.0" sortable="false"
text="Album"/>
<TableColumn fx:id="trackLengthTableColumn" editable="false" prefWidth="70.0" sortable="false"
text="Length"/>
<TableColumn fx:id="trackNumberTableColumn" editable="false" prefWidth="28.0" resizable="false" sortable="false" text="#" />
<TableColumn fx:id="trackTitleTableColumn" editable="false" prefWidth="200.0" sortable="false" text="%title" />
<TableColumn fx:id="trackArtistTableColumn" editable="false" prefWidth="90.0" sortable="false" text="%artist" />
<TableColumn fx:id="trackAlbumTableColumn" editable="false" prefWidth="90.0" sortable="false" text="%album" />
<TableColumn fx:id="trackLengthTableColumn" editable="false" prefWidth="70.0" sortable="false" text="%length" />
</columns>
<columnResizePolicy>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY"/>
<TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
</columnResizePolicy>
</TableView>
</children>