Skip to content

Commit

Permalink
Update Polish translations (ingokegel#36)
Browse files Browse the repository at this point in the history
* Add Polish translations for missing strings
* Rename `since.0` to `access.flag.since.0` because in Polish this translation depends on the gender of the subject (feminine in this case)
* Add `no.compatible.opcode` translation
* Add `access.flag.historical` translation
  • Loading branch information
kjarosh committed Jul 9, 2021
1 parent 238b35b commit 6ad694a
Show file tree
Hide file tree
Showing 7 changed files with 107 additions and 98 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -60,14 +60,11 @@ class AccessFlagsEditDialog(selectedValue: Int, validFlags: Set<AccessFlag>, par
) {
override fun getFlagText(flag: AccessFlag): String {
@Suppress("HardCodedStringLiteral")
val extraText = " (0x" + "%04x".format(flag.flag) + (flag.sinceJava?.let { ", " + getString("since.0", it) }
?: "") + ")"
return flag.getAccessFlagText() + extraText
}

private fun AccessFlag.getAccessFlagText(): String = when (this) {
AccessFlag.SUPER -> "super (historical)"
else -> verbose
val extraText = " (0x" + "%04x".format(flag.flag) +
(flag.sinceJava?.let { ", " + getString("access.flag.since.0", it) } ?: "") +
(if (flag.historical) ", " + getString("access.flag.historical") else "") +
")"
return flag.verbose + extraText
}

override fun composeFrom(keys: Set<AccessFlag>): Int = AccessFlag.composeFrom(keys)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ class ByteCodeDetailPane(services: BrowserServices, private val codeAttributeDet
private fun replaceOpcode(instruction: Instruction) {
val replacementOpcodes = getStackCompatibleReplacementOpcodes(instruction)
if (replacementOpcodes.isEmpty()) {
GUIHelper.showMessage(this, "There are no compatible opcodes for the selected instruction", null, JOptionPane.WARNING_MESSAGE)
GUIHelper.showMessage(this, getString("no.compatible.opcode"), null, JOptionPane.WARNING_MESSAGE)
} else {
val opcode = instruction.opcode
val newOpcode = JOptionPane.showInputDialog(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ menu.const.name=Const name
key.const.value=Const value:
menu.resolution=Resolution
menu.class=Class
since.0=since {0}
access.flag.since.0=since {0}
action.show.jvm.spec=Show JVM Spec
action.replace.opcode=Replace Opcode
choose.compatible.opcode=Choose a compatible opcode that has the same size and the same stack modification behavior:
Expand Down Expand Up @@ -310,3 +310,5 @@ message.connection.failed.0=Connection failed: {0}
message.could.not.redefine.class.file=Could not redefine class file
error.message.was.0=The error message was: {0}
classes.attach.info=Note: Classes that are loaded in attach mode are reconstituted by the JVM and only contain information that is relevant at runtime
no.compatible.opcode=There are no compatible opcodes for the selected instruction
access.flag.historical=historical
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,7 @@ menu.const.name=Const-Name
key.const.value=Const-Wert:
menu.resolution=Resolution
menu.class=Klasse
since.0=seit {0}
access.flag.since.0=seit {0}
action.show.jvm.spec=Zeige JVM-Spec
action.replace.opcode=Ersetze Opcode
choose.compatible.opcode=Wähle einen kompatiblen Opcode, der die gleiche Größe hat und den Stack auf die gleiche Weise verändert:
Expand Down Expand Up @@ -309,3 +309,5 @@ message.connection.failed.0=Verbindungsfehler: {0}
message.could.not.redefine.class.file=Konnte Klasse nicht redefinieren
error.message.was.0=Die Fehlermeldung war: {0}
classes.attach.info=Achtung: Klassen, die im Attach-Modus geladen werden sind von der JVM wiederhergestellt worden und enthalten nur für die Laufzeit relevanten Informationen
no.compatible.opcode=There are no compatible opcodes for the selected instruction
access.flag.historical=historical
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ action.show.interface.method=Pokaż metodę interfejsu
action.copy.all.signatures=Kopiuj sygnatury do schowka
action.copy.signature=Kopiuj sygnaturę do schowka
code.tab.bytecode=Kod bajtowy
code.tab.exception.table=Tablica Wyjątków
code.tab.exception.table=Tablica wyjątków
code.tab.misc=Różne
column.bootstrap.method=Metoda Bootstrap
column.inner.class=Klasa Wewnętrzna
Expand Down Expand Up @@ -225,86 +225,88 @@ message.invalid.constant.pool.reference=niepoprawna referencja do puli stałych
message.invalid.constant.pool.entry=niepoprawny wpis w puli stałych
menu.dark.mode=Tryb nocny
menu.dark.mode.auto=Rozpoznaj automatycznie
chooser.jar.files.title=Choose JAR files
chooser.jar.files.and.directories.filter.name=JAR files and directories
chooser.directory.title=Choose a directory
chooser.jre.home.title=Choose the JRE home directory
tree.parameter.annotation=Parameter annotation
tree.annotation=Annotation
action.edit=Edit
key.edit.string.label=String value:
message.invalid.input=The input was invalid
button.discard=Discard
button.cancel=Cancel
message.class.file.modified.title=Class file is modified
message.class.file.modified=Discard all changes for the current class file?
message.class.files.modified.title=There are modified class files
message.class.files.modified=Discard all changes to modified class files?
action.save.modified.classes=Save modified class files
action.save.modified.classes.description=Save all modified class files back to their original location
key.edit.integer.label=Integer value:
key.edit.long.label=Long value:
key.edit.float.label=Float value:
key.edit.double.label=Double value:
message.jrt.read.only.title=The Java runtime is read-only
message.jrt.read.only=The Java runtime is stored in a read-only file system.\n\nDo you wish to save the class file to a regular file instead?
chooser.save.modified.classes.title=Save modified read-only classes to directory
message.constant.pool.type.edit.error=A constant pool entry of type {0} cannot be edited
menu.class.name=Class Name
menu.name=Name
menu.type=Type
menu.descriptor=Descriptor
menu.method.name=Method name
menu.reference.kind=Reference kind
menu.this.class=This class
menu.super.class=Super class
menu.major.version=Major version
menu.minor.version=Minor version
menu.access.flags=Access flags
valid.flags=The following flags are valid for this data structure:
menu.element.name=Element name
menu.value.tag=Value tag
menu.type.name=Type name
menu.const.name=Const name
key.const.value=Const value:
chooser.jar.files.title=Wybierz pliki JAR
chooser.jar.files.and.directories.filter.name=Pliki JAR i katalogi
chooser.directory.title=Wybierz katalog
chooser.jre.home.title=Wybierz katalog domowy JRE
tree.parameter.annotation=Adnotacja parametru
tree.annotation=Adnotacja
action.edit=Edytuj
key.edit.string.label=Ciąg znaków:
message.invalid.input=Wprowadzona wartość jest niepoprawna
button.discard=Porzuć zmiany
button.cancel=Anuluj
message.class.file.modified.title=Plik klasy jest zmodyfikowany
message.class.file.modified=Porzucić wszystkie zmiany w aktualnym pliku klasy?
message.class.files.modified.title=Pliki klas zostały zmodyfikowane
message.class.files.modified=Porzucić wszystkie zmiany w plikach klas?
action.save.modified.classes=Zapisz zmodyfikowane klasy
action.save.modified.classes.description=Zapisz wszystkie zmodyfikowane klasy do ich oryginalnych lokalizacji
key.edit.integer.label=Wartość całkowitoliczbowa (integer):
key.edit.long.label=Wartość całkowitoliczbowa (long):
key.edit.float.label=Wartość zmiennoprzecinkowa (float):
key.edit.double.label=Wartość zmiennoprzecinkowa (double):
message.jrt.read.only.title=Środowisko uruchomieniowe Java jest tylko do odczytu
message.jrt.read.only=Środowisko uruchomieniowe Java jest przechowywane w systemie plików tylko do odczytu.\n\nChcesz zapisać plik klasy do zwykłego pliku?
chooser.save.modified.classes.title=Zapisz zmodyfikowane klasy tylko do odczytu do katalogu
message.constant.pool.type.edit.error=Wpis w puli stałych typu {0} nie może być edytowany
menu.class.name=Nazwa Klasy
menu.name=Nazwa
menu.type=Typ
menu.descriptor=Deskryptor
menu.method.name=Nazwa metody
menu.reference.kind=Typ referencji
menu.this.class=Ta klasa
menu.super.class=Klasa bazowa
menu.major.version=Wersja major
menu.minor.version=Wersja minor
menu.access.flags=Flagi dostępu
valid.flags=Dostępne flagi dla tej struktury:
menu.element.name=Nazwa elementu
menu.value.tag=Tag wartości
menu.type.name=Nazwa typu
menu.const.name=Nazwa stałej
key.const.value=Wartość stałej:
menu.resolution=Resolution
menu.class=Class
since.0=since {0}
action.show.jvm.spec=Show JVM Spec
action.replace.opcode=Replace Opcode
choose.compatible.opcode=Choose a compatible opcode that has the same size and the same stack modification behavior:
replace.opcode.title=Replace Opcode
key.byte.value=Byte value:
input.not.valid.byte=The input was not a valid byte value
key.short.value=Short value:
input.not.valid.short=The input was not a valid short value
key.integer.value=Integer value:
input.not.valid.integer=The input was not a valid integer value
action.edit.immediate.byte=Edit Immediate Byte
action.edit.index=Edit Index
action.edit.immediate.short=Edit Immediate Short
action.edit.constant=Edit Constant
action.edit.branch.offset=Edit Branch Offset
action.edit.dimensions=Edit Dimensions
action.edit.count=Edit Count
action.jump.offset.0=Jump Offset {0}
action.edit.jump.offsets=Edit Jump Offsets
action.jump.offset.for.match.0=Jump Offset For Match {0}
action.match.0=Match {0}
action.edit.matches=Edit Matches
action.edit.default.jump.offset=Edit Default Jump Offset
action.add.export=Add Export
action.add.opens=Add Opens
enter.package.name=Enter package name:
message.class.not.loaded=The class {0} has not been loaded.
action.attach.to.jvm=Attach To Running JVM
action.attach.to.jvm.description=Attach to a running JVM
action.detach.from.jvm=Detach From JVM
action.detach.from.jvm.description=Detach from the currently attached JVM
window.select.running.jvm=Select Running JVM
message.attach.failed.0=Attach failed: {0}
message.management.agent.error.0=Could not load management agent: {0}
message.connection.failed.0=Connection failed: {0}
message.could.not.redefine.class.file=Could not redefine class file
error.message.was.0=The error message was: {0}
classes.attach.info=Note: Classes that are loaded in attach mode are reconstituted by the JVM and and only contain information that is relevant at runtime
menu.class=Klasa
access.flag.since.0=dostępna od {0}
action.show.jvm.spec=Otwórz specyfikację JVM
action.replace.opcode=Zamień opcode
choose.compatible.opcode=Wybierz kompatybilny opcode, który ma taki sam rozmiar i modyfikuje stos w ten sam sposób:
replace.opcode.title=Zamień opcode
key.byte.value=Wartość całkowitoliczbowa (byte):
input.not.valid.byte=Wprowadzona wartość nie jest poprawną liczbą typu byte
key.short.value=Wartość całkowitoliczbowa (short):
input.not.valid.short=Wprowadzona wartość nie jest poprawną liczbą typu short
key.integer.value=Wartość całkowitoliczbowa (integer):
input.not.valid.integer=Wprowadzona wartość nie jest poprawną liczbą typu integer
action.edit.immediate.byte=Edytuj stałą bezpośrednią (byte)
action.edit.index=Edytuj indeks
action.edit.immediate.short=Edytuj stałą bezpośrednią (short)
action.edit.constant=Edytuj stałą
action.edit.branch.offset=Edytuj offset gałęzi
action.edit.dimensions=Edytuj liczbę wymiarów
action.edit.count=Edytuj count
action.jump.offset.0=Offset skoku {0}
action.edit.jump.offsets=Edytuj offsety skoków
action.jump.offset.for.match.0=Offset skoku dla dopasowania {0}
action.match.0=Dopasowanie {0}
action.edit.matches=Edytuj dopasowania
action.edit.default.jump.offset=Edytuj domyślny offset skoku
action.add.export=Dodaj exports
action.add.opens=Dodaj opens
enter.package.name=Nazwa paczki:
message.class.not.loaded=Klasa {0} nie została załadowana.
action.attach.to.jvm=Podłącz się do działającej JVM
action.attach.to.jvm.description=Podłącz się do działającej JVM
action.detach.from.jvm=Odłącz się od JVM
action.detach.from.jvm.description=Odłącz się od JVM, do której aktualnie jesteś podłączony
window.select.running.jvm=Wybierz działającą JVM
message.attach.failed.0=Próba podłączenia zakończona niepowodzeniem: {0}
message.management.agent.error.0=Nie można załadować management agenta: {0}
message.connection.failed.0=Połączenie nieudane: {0}
message.could.not.redefine.class.file=Nie udało się zredefiniować pliku klasy
error.message.was.0=Treść błędu: {0}
classes.attach.info=Uwaga: Klasy załadowane po podłączeniu się do JVM są odtworzone przez JVM i zawierają tylko informacje istotne w czasie wykonywania programu
no.compatible.opcode=Brak kompatybilnych opcode'ów dla wybranej instrukcji
access.flag.historical=historyczna
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,7 @@ menu.const.name=Const name
key.const.value=Const value:
menu.resolution=Resolution
menu.class=Class
since.0=since {0}
access.flag.since.0=since {0}
action.show.jvm.spec=Show JVM Spec
action.replace.opcode=Replace Opcode
choose.compatible.opcode=Choose a compatible opcode that has the same size and the same stack modification behavior:
Expand Down Expand Up @@ -307,4 +307,6 @@ message.management.agent.error.0=Could not load management agent: {0}
message.connection.failed.0=Connection failed: {0}
message.could.not.redefine.class.file=Could not redefine class file
error.message.was.0=The error message was: {0}
classes.attach.info=Note: Classes that are loaded in attach mode are reconstituted by the JVM and and only contain information that is relevant at runtime
classes.attach.info=Note: Classes that are loaded in attach mode are reconstituted by the JVM and only contain information that is relevant at runtime
no.compatible.opcode=There are no compatible opcodes for the selected instruction
access.flag.historical=historical
8 changes: 6 additions & 2 deletions modules/data/src/main/kotlin/structures/AccessFlag.kt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,11 @@ import java.util.*
* @property sinceJava the first Java version that supports this access flag
*/
@Suppress("NOT_DOCUMENTED")
enum class AccessFlag(override val flag: Int, override val verbose: String, val sinceJava: String? = null): ClassFileFlag {
enum class AccessFlag(
override val flag: Int,
override val verbose: String,
val sinceJava: String? = null,
val historical: Boolean = false): ClassFileFlag {
PUBLIC(0x0001, "public"),
PRIVATE(0x0002, "private"),
PROTECTED(0x0004, "protected"),
Expand All @@ -27,7 +31,7 @@ enum class AccessFlag(override val flag: Int, override val verbose: String, val
/**
* For ClassFile structures, 0x0020 is ACC_SUPER, which has historical significance only
*/
SUPER(0x0020, ""),
SUPER(0x0020, "super", historical=true),
VOLATILE(0x0040, "volatile"),
TRANSIENT(0x0080, "transient"),
NATIVE(0x0100, "native"),
Expand Down

0 comments on commit 6ad694a

Please sign in to comment.