Compare commits
3 commits
4b748e62f7
...
5cd6d98ff9
Author | SHA1 | Date | |
---|---|---|---|
|
5cd6d98ff9 | ||
|
2ead991524 | ||
|
134167336e |
4 changed files with 35 additions and 7 deletions
|
@ -18,6 +18,10 @@ GNU GLPv3 or higher. Please see LICENSE.
|
||||||
|
|
||||||
Create new GitHub issue with bug report or proposition
|
Create new GitHub issue with bug report or proposition
|
||||||
|
|
||||||
|
#### Thanks
|
||||||
|
|
||||||
|
* [DDinghoya](https://github.com/DDinghoya), who translated this application to Korean!
|
||||||
|
|
||||||
#### Translations
|
#### Translations
|
||||||
|
|
||||||
Everyone knows that [your_language_here] is the best! And just to make sure, go create PR (pull request) or create an issue with translated `.../src/main/resources/locale.properties`
|
Everyone knows that [your_language_here] is the best! And just to make sure, go create PR (pull request) or create an issue with translated `.../src/main/resources/locale.properties`
|
||||||
|
|
|
@ -23,7 +23,7 @@ import java.nio.ByteOrder;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
|
|
||||||
public class DirectoryEntry {
|
public class DirectoryEntry {
|
||||||
private final int extentLocation; // lsb start
|
private final int extentLocation; // lsb start
|
||||||
private final int dataSize;
|
private final int dataSize;
|
||||||
private final String identifier;
|
private final String identifier;
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ public class ISO9660 {
|
||||||
this.resourceBundle = ResourceBundle.getBundle("locale");
|
this.resourceBundle = ResourceBundle.getBundle("locale");
|
||||||
skipFirst16Sectors();
|
skipFirst16Sectors();
|
||||||
getRootDirectoryDescriptor();
|
getRootDirectoryDescriptor();
|
||||||
getSystemCnfContent(rootEntry);
|
getSystemCnfContent();
|
||||||
}
|
}
|
||||||
private void skipFirst16Sectors() throws Exception{
|
private void skipFirst16Sectors() throws Exception{
|
||||||
randomAccessFile.seek(2048*16);
|
randomAccessFile.seek(2048*16);
|
||||||
|
@ -59,14 +59,14 @@ public class ISO9660 {
|
||||||
this.rootEntry = new DirectoryEntry(Arrays.copyOfRange(firstPayloadDescriptor, 0x9c, 0xbe));
|
this.rootEntry = new DirectoryEntry(Arrays.copyOfRange(firstPayloadDescriptor, 0x9c, 0xbe));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getSystemCnfContent(DirectoryEntry entry) throws Exception{
|
private void getSystemCnfContent() throws Exception{
|
||||||
randomAccessFile.seek(entry.getExtentLocation() * 2048L);
|
randomAccessFile.seek(rootEntry.getExtentLocation() * 2048L);
|
||||||
byte[] bytes = new byte[entry.getDataSize()];
|
byte[] bytes = new byte[rootEntry.getDataSize()];
|
||||||
if (entry.getDataSize() != randomAccessFile.read(bytes))
|
if (rootEntry.getDataSize() != randomAccessFile.read(bytes))
|
||||||
throw new Exception(resourceBundle.getString("ISO_CantReadRootDescriptor"));
|
throw new Exception(resourceBundle.getString("ISO_CantReadRootDescriptor"));
|
||||||
|
|
||||||
int entryOffset = 0;
|
int entryOffset = 0;
|
||||||
while (entryOffset < entry.getDataSize()){
|
while (entryOffset < rootEntry.getDataSize()){
|
||||||
int entryLength = Byte.toUnsignedInt(bytes[entryOffset]);
|
int entryLength = Byte.toUnsignedInt(bytes[entryOffset]);
|
||||||
|
|
||||||
if (entryLength == 0)
|
if (entryLength == 0)
|
||||||
|
|
24
src/main/resources/locale_ko_KO.properties
Normal file
24
src/main/resources/locale_ko_KO.properties
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
AbortText=\uC815\uBCF4
|
||||||
|
ISO_CantReadISOInitialDescriptorText=CD/DVD \uAE30\uBCF8 \uBCFC\uB968 \uBB38\uAD6C\uB97C \uC77D\uC744 \uC218 \uC5C6\uC74C
|
||||||
|
ConvertBtn=\uBCC0\uD658/\uC124\uCE58
|
||||||
|
DiskImageLbl=\uB514\uC2A4\uD06C \uC774\uBBF8\uC9C0:
|
||||||
|
FailedText=\uC2E4\uD328\uD558\uC600\uC2B5\uB2C8\uB2E4!
|
||||||
|
InProgressText=\uC9C4\uD589 \uC911...
|
||||||
|
InterruptedAndFilesDeletedText=\uC791\uC5C5\uC774 \uC911\uB2E8\uB418\uACE0 \uD30C\uC77C \uCCAD\uD06C\uAC00 \uC0AD\uC81C\uB428
|
||||||
|
InterruptedAndFilesNotDeletedText=\uC791\uC5C5\uC774 \uC911\uB2E8\uB418\uACE0 \uD30C\uC77C \uCCAD\uD06C\uAC00 \uC0AD\uC81C\uB418\uC9C0 \uC54A\uC74C
|
||||||
|
InterruptedText=\uC911\uB2E8
|
||||||
|
isoFilesText=ISO \uD30C\uC77C
|
||||||
|
WelcomeText=\uD658\uC601\uD569\uB2C8\uB2E4! PS2\uC6A9 Tihwin: ul-\uC720\uD2F8\uB9AC\uD2F0\uC785\uB2C8\uB2E4! GPLv3+, 2022, \uB4DC\uBBF8\uD2B8\uB9AC \uC774\uC0AC\uC5D4\uCF54
|
||||||
|
SelectBtn=\uC120\uD0DD
|
||||||
|
SelectDiskImageText=\uB514\uC2A4\uD06C \uC774\uBBF8\uC9C0 \uC120\uD0DD
|
||||||
|
SetDestinationDirectoryText=\uB300\uC0C1 \uB514\uB809\uD1A0\uB9AC \uC124\uC815
|
||||||
|
SizesDifferent=\uD30C\uC77C \uD06C\uAE30 \uD655\uC778\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. \uC774 \uD30C\uC77C\uC744 \uC0AC\uC6A9\uD558\uC9C0 \uB9C8\uC138\uC694!
|
||||||
|
SuccessText=\uC131\uACF5\uD588\uC2B5\uB2C8\uB2E4!
|
||||||
|
TitleLbl=\uD0C0\uC774\uD2C0:
|
||||||
|
ulDestinationLbl=\uBAA9\uC801 ul:
|
||||||
|
UnableCheckResultsText=\uACB0\uACFC\uB97C \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uBB54\uAC00 \uC798\uBABB\uB410\uB2E4\uB294 \uC758\uBBF8
|
||||||
|
ISO_NotSupportedCdDvd=\uC9C0\uC6D0\uB418\uC9C0 \uC54A\uB294 CD/DVD \uD615\uC2DD
|
||||||
|
ISO_CantReadRootDescriptor=\uB8E8\uD2B8 \uB514\uB809\uD1A0\uB9AC\uC5D0 \uB300\uD55C CD/DVD \uB514\uB809\uD1A0\uB9AC \uD56D\uBAA9\uC744 \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
|
||||||
|
ISO_NoSystemCnf=\uC774 CD/DVD\uC5D0\uC11C SYSTEM.CNF\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. PS2 \uB514\uC2A4\uD06C\uAC00 \uB9DE\uB098\uC694?
|
||||||
|
ISO_PublisherTitleNotFound=\uC81C\uBAA9\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. SYSTEM.CNF \uD30C\uC77C\uC740 \uB2E4\uC74C\uACFC \uAC19\uC2B5\uB2C8\uB2E4:
|
||||||
|
PleaseWaitText=\uC4F8\uBAA8\uC5C6\uB294 \uD30C\uC77C \uC870\uAC01\uC744 \uC81C\uAC70\uD558\uB294 \uB3D9\uC548 \uC7A0\uC2DC \uAE30\uB2E4\uB824 \uC8FC\uC138\uC694...
|
Loading…
Reference in a new issue