omni-viewer-core 0.14.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +36 -4
- package/dist/i18n/catalog.en.js +97 -3
- package/dist/i18n/catalog.ja.js +97 -3
- package/dist/i18n/catalog.ko.js +97 -3
- package/dist/i18n/catalog.zh-cn.js +97 -3
- package/dist/parsers/gguf/index.d.ts +33 -25
- package/dist/parsers/gguf/index.js +484 -449
- package/dist/parsers/hdf5/index.d.ts +98 -0
- package/dist/parsers/hdf5/index.js +389 -11
- package/dist/parsers/keras/index.d.ts +119 -0
- package/dist/parsers/keras/index.js +1041 -0
- package/dist/parsers/numpy/index.d.ts +47 -0
- package/dist/parsers/numpy/index.js +643 -0
- package/dist/parsers/tflite/index.d.ts +27 -7
- package/dist/parsers/tflite/index.js +374 -228
- package/dist/registry/index.d.ts +7 -1
- package/dist/registry/index.js +22 -1
- package/dist/registry/probe.js +10 -0
- package/dist/styles/audio.css +9 -2
- package/dist/styles/keras.css +3 -0
- package/dist/styles/numpy.css +2 -0
- package/dist/viewers/audio/index.d.ts +25 -1
- package/dist/viewers/audio/index.js +76 -8
- package/dist/viewers/audio/styles.js +9 -2
- package/dist/viewers/keras/index.d.ts +23 -0
- package/dist/viewers/keras/index.js +368 -0
- package/dist/viewers/keras/styles.d.ts +1 -0
- package/dist/viewers/keras/styles.js +4 -0
- package/dist/viewers/numpy/index.d.ts +24 -0
- package/dist/viewers/numpy/index.js +319 -0
- package/dist/viewers/numpy/styles.d.ts +1 -0
- package/dist/viewers/numpy/styles.js +3 -0
- package/dist/viewers/tflite/index.js +61 -20
- package/package.json +20 -2
package/README.md
CHANGED
|
@@ -15,8 +15,8 @@ models, viewers mount into a DOM element, and everything host-specific
|
|
|
15
15
|
- **Documents** — PDF, Word (DOCX and legacy DOC), HWP, PowerPoint (PPTX and
|
|
16
16
|
legacy PPT), Markdown, LaTeX (structure and math preview, not typesetting)
|
|
17
17
|
- **Data & spreadsheets** — Excel, CSV/TSV, JSON, JSONL/NDJSON, YAML, TOML,
|
|
18
|
-
Parquet, Avro, HDF5, MATLAB MAT, Safetensors, GGUF, ONNX, TFLite/LiteRT,
|
|
19
|
-
Protocol Buffers, ReqIF, SQLite
|
|
18
|
+
Parquet, Avro, HDF5, MATLAB MAT, NumPy (NPY/NPZ), Safetensors, GGUF, ONNX, TFLite/LiteRT,
|
|
19
|
+
Keras (.keras and legacy .h5), Protocol Buffers, ReqIF, SQLite
|
|
20
20
|
- **Media & graphics** — audio (waveform/spectrogram), video, images,
|
|
21
21
|
Photoshop PSD
|
|
22
22
|
- **Engineering & automotive** — CAN DBC, AUTOSAR ARXML, ASAM A2L, Vector
|
|
@@ -86,8 +86,13 @@ available, but it requires the host to load the complete file first.
|
|
|
86
86
|
|
|
87
87
|
### GGUF metadata and tensor index
|
|
88
88
|
|
|
89
|
-
GGUF parsing
|
|
90
|
-
large-array values into an Omni
|
|
89
|
+
GGUF parsing reads the header, metadata block, and tensor index directly from
|
|
90
|
+
ranged reads, and normalizes their bigint and large-array values into an Omni
|
|
91
|
+
Viewer JSON-safe document. Tensor payload bytes are never read, metadata array
|
|
92
|
+
bodies are skipped rather than decoded, and only a bounded number of metadata
|
|
93
|
+
and tensor entries is retained, so a model's vocabulary size does not affect
|
|
94
|
+
peak memory or what the document contains. `normalizeGguf` remains available for
|
|
95
|
+
hosts that already hold a `@huggingface/gguf` parse result. Node hosts can parse
|
|
91
96
|
a local model without loading tensor payloads and mount the result separately:
|
|
92
97
|
|
|
93
98
|
```ts
|
|
@@ -140,6 +145,33 @@ and searchable operator, tensor, input/output, buffer, and model-information
|
|
|
140
145
|
panels. Custom operators, Select TensorFlow fallbacks, and buffers stored
|
|
141
146
|
outside the FlatBuffer are surfaced as warnings.
|
|
142
147
|
|
|
148
|
+
### Keras models
|
|
149
|
+
|
|
150
|
+
Both Keras save formats open through one viewer. A `.keras` file is a ZIP whose
|
|
151
|
+
members Keras stores uncompressed, so `config.json`, `metadata.json`, and the
|
|
152
|
+
`model.weights.h5` store are read in place — JSZip is only consulted for an
|
|
153
|
+
archive that was re-zipped with compression. A legacy `.h5` model is read as
|
|
154
|
+
HDF5, taking `model_config` and `training_config` from the root attributes and
|
|
155
|
+
the parameters from `/model_weights`:
|
|
156
|
+
|
|
157
|
+
```ts
|
|
158
|
+
import { mountKerasViewer } from 'omni-viewer-core/viewers/keras';
|
|
159
|
+
|
|
160
|
+
await mountKerasViewer({ fileName: file.name, data: bytes }, container, ctx);
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Weight payloads are never read: only dataset shapes and datatypes are walked, so
|
|
164
|
+
parameter counts stay cheap on multi-gigabyte models. The viewer lists layers
|
|
165
|
+
(nested sub-models flattened by depth) with per-layer configuration, inbound
|
|
166
|
+
connections, and weights, plus searchable weight, configuration, training,
|
|
167
|
+
archive, and model-information panels.
|
|
168
|
+
|
|
169
|
+
`.keras` routes by extension, and an extensionless archive is resolved by
|
|
170
|
+
`probeContainer`. A `.h5` file routes to the HDF5 viewer, since only its
|
|
171
|
+
contents distinguish a Keras model from any other HDF5 file; hosts that read the
|
|
172
|
+
whole file can refine that with `looksLikeKerasHdf5` from
|
|
173
|
+
`omni-viewer-core/parsers/keras` and mount the Keras viewer instead.
|
|
174
|
+
|
|
143
175
|
### Archive host integration
|
|
144
176
|
|
|
145
177
|
Archive decompression remains adapter-owned: pass an `ArchiveDecoder` to
|
package/dist/i18n/catalog.en.js
CHANGED
|
@@ -68,6 +68,54 @@ export const CATALOG_EN = {
|
|
|
68
68
|
'safetensors.structure': 'Structure', 'safetensors.noData': 'No data available.',
|
|
69
69
|
'safetensors.matchingRows': '{count} matching rows',
|
|
70
70
|
'safetensors.matchingRowsLimited': '{visible} / {total} matching rows shown',
|
|
71
|
+
'numpy.title': 'NumPy arrays', 'numpy.selectArray': 'Select array', 'numpy.data': 'Data',
|
|
72
|
+
'numpy.arrays': 'Arrays', 'numpy.copyJson': 'Copy JSON', 'numpy.noData': 'No arrays available.',
|
|
73
|
+
'numpy.previewUnavailable': 'A value preview is not available for this dtype.', 'numpy.slice': 'Slice',
|
|
74
|
+
'numpy.previewLimited': 'The document preview budget was exhausted before this array.',
|
|
75
|
+
'numpy.emptyArray': 'This array has no elements.',
|
|
76
|
+
'numpy.gridShown': '{rows} / {totalRows} rows · {columns} / {totalColumns} columns shown',
|
|
77
|
+
'numpy.document.npy': 'NumPy array', 'numpy.document.npz': 'NumPy array archive',
|
|
78
|
+
'numpy.summary.arrays': 'Arrays', 'numpy.summary.elements': 'Elements', 'numpy.summary.dtypes': 'Data types',
|
|
79
|
+
'numpy.summary.status': 'Status', 'numpy.invalid': 'Invalid', 'numpy.scalar': 'scalar',
|
|
80
|
+
'numpy.column.name': 'Name', 'numpy.column.dtype': 'Dtype', 'numpy.column.shape': 'Shape',
|
|
81
|
+
'numpy.column.order': 'Order', 'numpy.column.elements': 'Elements', 'numpy.column.dataSize': 'Data size',
|
|
82
|
+
'numpy.detail.dtype': 'dtype', 'numpy.detail.shape': 'shape', 'numpy.detail.order': 'order',
|
|
83
|
+
'numpy.detail.elements': 'elements', 'numpy.detail.bytes': 'bytes', 'numpy.detail.kind': 'kind',
|
|
84
|
+
'numpy.axis': 'axis {axis}', 'numpy.value': 'value',
|
|
85
|
+
'numpy.kind.boolean': 'boolean', 'numpy.kind.signedInteger': 'signed integer', 'numpy.kind.unsignedInteger': 'unsigned integer',
|
|
86
|
+
'numpy.kind.floatingPoint': 'floating point', 'numpy.kind.complex': 'complex', 'numpy.kind.byteString': 'byte string',
|
|
87
|
+
'numpy.kind.unicodeString': 'Unicode string', 'numpy.kind.timedelta': 'timedelta', 'numpy.kind.datetime': 'datetime',
|
|
88
|
+
'numpy.kind.void': 'void', 'numpy.kind.object': 'object', 'numpy.kind.unknown': 'unknown',
|
|
89
|
+
'numpy.warning.notNumpy': 'The file is not a NumPy .npy or .npz file.',
|
|
90
|
+
'numpy.warning.npyMagic': 'The NPY magic signature is missing.', 'numpy.warning.npzMagic': 'The NPZ ZIP signature is missing.',
|
|
91
|
+
'numpy.warning.npzDeclaredSize': 'The NPZ declared uncompressed size exceeds {limit}.',
|
|
92
|
+
'numpy.warning.npzEntryCount': 'The NPZ archive exceeds the {limit} entry safety limit.',
|
|
93
|
+
'numpy.warning.npzArrayCount': 'Only the first {limit} arrays are shown.',
|
|
94
|
+
'numpy.warning.npzArraySize': 'The uncompressed array exceeds the {limit} safety limit.',
|
|
95
|
+
'numpy.warning.npzCrc': 'CRC validation failed; the array was skipped.',
|
|
96
|
+
'numpy.warning.npzEntryRead': 'The array member could not be decompressed and was skipped: {reason}',
|
|
97
|
+
'numpy.warning.npzTotalSize': 'Stopped expanding arrays at the {limit} total safety limit.',
|
|
98
|
+
'numpy.warning.npzNoArrays': 'The NPZ archive does not contain any .npy arrays.',
|
|
99
|
+
'numpy.warning.npzRead': 'The NPZ archive could not be read: {reason}',
|
|
100
|
+
'numpy.warning.npyHeader': 'Invalid or truncated NPY header.',
|
|
101
|
+
'numpy.warning.npyVersion': 'Unsupported NPY format version {version}.',
|
|
102
|
+
'numpy.warning.npyHeaderBounds': 'The declared NPY header extends beyond the file.',
|
|
103
|
+
'numpy.warning.npyHeaderSize': 'The NPY header exceeds the {limit} safety limit.',
|
|
104
|
+
'numpy.warning.npyHeaderDecode': 'The NPY header text could not be decoded.',
|
|
105
|
+
'numpy.warning.npyHeaderFields': 'The NPY header is missing a simple dtype, shape, or storage-order declaration. Structured dtypes are not yet decoded.',
|
|
106
|
+
'numpy.warning.npyHeaderGrammar': 'The NPY header contains duplicate fields or unsupported trailing syntax.',
|
|
107
|
+
'numpy.warning.npyShape': 'The NPY shape contains an invalid dimension.',
|
|
108
|
+
'numpy.warning.npyElementCount': 'The NPY element count is outside the safe integer range.',
|
|
109
|
+
'numpy.warning.npyRank': 'The NPY array rank exceeds the {limit}-axis safety limit.',
|
|
110
|
+
'numpy.warning.payloadShort': 'The array payload is shorter than its dtype and shape require.',
|
|
111
|
+
'numpy.warning.payloadTrailing': 'The array payload contains trailing bytes.',
|
|
112
|
+
'numpy.warning.objectUnsafe': 'Object arrays are not loaded because doing so would require unsafe pickle deserialization.',
|
|
113
|
+
'numpy.warning.dtypeUnsupported': 'Values with dtype {dtype} are not decoded; metadata is still available.',
|
|
114
|
+
'numpy.warning.nativeEndian': 'Native-endian dtype was interpreted as little-endian.',
|
|
115
|
+
'numpy.warning.previewDecode': 'Some preview values could not be decoded.',
|
|
116
|
+
'numpy.warning.previewLimit': 'The document value preview is limited to {limit} elements.',
|
|
117
|
+
'numpy.warning.textPreviewLimit': 'String previews are limited to {perValue} characters per value and {total} characters per document.',
|
|
118
|
+
'numpy.warning.stringItemSize': 'String values wider than {limit} are not decoded.',
|
|
71
119
|
'gguf.title': 'GGUF', 'gguf.search': 'Search metadata and tensors…', 'gguf.copyJson': 'Copy JSON',
|
|
72
120
|
'gguf.structure': 'Structure', 'gguf.noData': 'No data available.',
|
|
73
121
|
'gguf.matchingRows': '{count} matching rows',
|
|
@@ -85,7 +133,6 @@ export const CATALOG_EN = {
|
|
|
85
133
|
'gguf.warning.tensorsLimited': 'Showing the first {shown} of {total} tensors to limit memory use.',
|
|
86
134
|
'gguf.warning.metadataLimited': 'Showing the first {shown} of {total} metadata entries to limit memory use.',
|
|
87
135
|
'gguf.warning.textTruncated': 'Some text was truncated by per-field limits or the normalized GGUF character budget.',
|
|
88
|
-
'gguf.warning.metadataTooLarge': 'This file’s metadata is too large to parse in full, so only key previews are shown and the tensor list is unavailable.',
|
|
89
136
|
'onnx.title': 'ONNX model', 'onnx.search': 'Search graph, nodes, and tensors…', 'onnx.copyJson': 'Copy JSON',
|
|
90
137
|
'onnx.graph': 'Graph', 'onnx.nodes': 'Nodes', 'onnx.tensors': 'Tensors', 'onnx.io': 'Inputs & Outputs',
|
|
91
138
|
'onnx.modelInfo': 'Model Info', 'onnx.rows': '{shown} / {total} rows shown', 'onnx.noMatches': 'No rows match the current search.',
|
|
@@ -138,6 +185,8 @@ export const CATALOG_EN = {
|
|
|
138
185
|
'tflite.warning.customOps': '{count} custom operator(s) require a matching runtime registration: {names}',
|
|
139
186
|
'tflite.warning.flexOps': '{count} operator(s) fall back to Select TensorFlow ops.',
|
|
140
187
|
'tflite.warning.appendedBuffers': '{count} buffer(s) store their payload outside the FlatBuffer.',
|
|
188
|
+
'tflite.warning.externalBuffers': '{count} constant buffer(s) live in a separate file that this viewer does not read.',
|
|
189
|
+
'tflite.warning.missingExternalBuffers': '{count} tensor(s) reference an external buffer the model does not declare.',
|
|
141
190
|
'tflite.column.index': '#', 'tflite.column.name': 'Name', 'tflite.column.operator': 'Operator',
|
|
142
191
|
'tflite.column.kind': 'Kind', 'tflite.column.version': 'Version', 'tflite.column.inputs': 'Inputs',
|
|
143
192
|
'tflite.column.outputs': 'Outputs', 'tflite.column.optionsType': 'Options type', 'tflite.column.options': 'Options',
|
|
@@ -147,7 +196,7 @@ export const CATALOG_EN = {
|
|
|
147
196
|
'tflite.column.signature': 'Signature', 'tflite.column.typeShape': 'Type / Shape',
|
|
148
197
|
'tflite.column.tensorIndex': 'Tensor', 'tflite.column.fileOffset': 'File offset',
|
|
149
198
|
'tflite.column.usedBy': 'Used by', 'tflite.column.buffer': 'Buffer',
|
|
150
|
-
'tflite.storage.empty': 'Runtime', 'tflite.storage.inline': 'Inline', 'tflite.storage.appended': 'Appended',
|
|
199
|
+
'tflite.storage.empty': 'Runtime', 'tflite.storage.inline': 'Inline', 'tflite.storage.appended': 'Appended', 'tflite.storage.external': 'External file',
|
|
151
200
|
'tflite.kind.builtin': 'Builtin', 'tflite.kind.custom': 'Custom', 'tflite.kind.input': 'Input',
|
|
152
201
|
'tflite.kind.output': 'Output', 'tflite.kind.signatureInput': 'Signature input',
|
|
153
202
|
'tflite.kind.signatureOutput': 'Signature output',
|
|
@@ -157,10 +206,55 @@ export const CATALOG_EN = {
|
|
|
157
206
|
'tflite.info.subgraphs': 'Subgraphs', 'tflite.info.signatures': 'Signatures',
|
|
158
207
|
'tflite.info.operatorCode': 'Operator code', 'tflite.info.metadata': 'Metadata',
|
|
159
208
|
'tflite.info.expectedSize': 'Expected size', 'tflite.info.shapeSignature': 'Shape signature',
|
|
160
|
-
'tflite.info.sparsity': 'Sparsity', 'tflite.info.traversalOrder': 'Traversal order',
|
|
209
|
+
'tflite.info.sparsity': 'Sparsity', 'tflite.info.traversalOrder': 'Traversal order', 'tflite.info.blockMap': 'Block map',
|
|
161
210
|
'tflite.inspector.inputs': 'Inputs', 'tflite.inspector.outputs': 'Outputs',
|
|
162
211
|
'tflite.inspector.intermediates': 'Intermediates', 'tflite.inspector.options': 'Options',
|
|
163
212
|
'tflite.inspector.customOptions': 'Custom options', 'tflite.inspector.subgraphs': 'Referenced subgraphs',
|
|
213
|
+
'keras.title': 'Keras model', 'keras.document.v3': 'Keras v3 archive', 'keras.document.hdf5': 'Keras HDF5 model',
|
|
214
|
+
'keras.version': 'Keras {version}', 'keras.search': 'Search layers, weights, and configuration…',
|
|
215
|
+
'keras.copyJson': 'Copy JSON', 'keras.invalid': 'invalid',
|
|
216
|
+
'keras.tab.layers': 'Layers', 'keras.tab.weights': 'Weights', 'keras.tab.config': 'Configuration',
|
|
217
|
+
'keras.tab.training': 'Training', 'keras.tab.files': 'Archive', 'keras.tab.model': 'Model Info',
|
|
218
|
+
'keras.rows': '{count} rows', 'keras.rowsLimited': '{shown} / {total} rows shown',
|
|
219
|
+
'keras.summary.layers': 'Layers', 'keras.summary.parameters': 'Parameters',
|
|
220
|
+
'keras.summary.weightBytes': 'Weight size', 'keras.summary.kerasVersion': 'Keras version',
|
|
221
|
+
'keras.summary.status': 'Status',
|
|
222
|
+
'keras.column.name': 'Name', 'keras.column.type': 'Type', 'keras.column.inputShape': 'Input shape',
|
|
223
|
+
'keras.column.activation': 'Activation', 'keras.column.parameters': 'Parameters',
|
|
224
|
+
'keras.column.weights': 'Weights', 'keras.column.trainable': 'Trainable', 'keras.column.layer': 'Layer',
|
|
225
|
+
'keras.column.shape': 'Shape', 'keras.column.dtype': 'Data type', 'keras.column.bytes': 'Size',
|
|
226
|
+
'keras.column.path': 'Path', 'keras.column.field': 'Field', 'keras.column.value': 'Value',
|
|
227
|
+
'keras.column.size': 'Size', 'keras.column.compressed': 'Compressed', 'keras.column.method': 'Method',
|
|
228
|
+
'keras.detail.identity': 'Identity', 'keras.detail.inbound': 'Inputs from',
|
|
229
|
+
'keras.detail.weights': 'Weights', 'keras.detail.config': 'Configuration',
|
|
230
|
+
'keras.model.format': 'Format', 'keras.model.class': 'Model class', 'keras.model.name': 'Model name',
|
|
231
|
+
'keras.model.kerasVersion': 'Keras version', 'keras.model.backend': 'Backend',
|
|
232
|
+
'keras.model.dateSaved': 'Saved', 'keras.model.fileSize': 'File size',
|
|
233
|
+
'keras.model.parameters': 'Parameters', 'keras.model.inputs': 'Inputs', 'keras.model.outputs': 'Outputs',
|
|
234
|
+
'keras.noData': 'No data to show.', 'keras.noLayers': 'No layers were found in this model.',
|
|
235
|
+
'keras.noWeights': 'This file stores no weights.',
|
|
236
|
+
'keras.noConfig': 'This file does not carry a readable model configuration.',
|
|
237
|
+
'keras.noTraining': 'This model was saved without a training configuration.',
|
|
238
|
+
'keras.warning.notKeras': 'The file is neither a .keras archive nor an HDF5 model.',
|
|
239
|
+
'keras.warning.archiveUnreadable': 'The .keras archive directory could not be read.',
|
|
240
|
+
'keras.warning.archiveEntryLimit': 'Only the first {limit} archive entries were inspected.',
|
|
241
|
+
'keras.warning.memberTooLarge': '{name} exceeds the {limit} safety limit and was skipped.',
|
|
242
|
+
'keras.warning.memberUnreadable': '{name} could not be read from the archive.',
|
|
243
|
+
'keras.warning.memberMethod': '{name} uses unsupported compression method {method}.',
|
|
244
|
+
'keras.warning.inflateUnavailable': '{name} is compressed, and no inflater is available on this platform.',
|
|
245
|
+
'keras.warning.jsonInvalid': '{name} is not valid JSON.',
|
|
246
|
+
'keras.warning.configMissing': 'The archive has no config.json, so the layer list is unavailable.',
|
|
247
|
+
'keras.warning.configMissingHdf5': 'The file has no model_config attribute; it may be a weights-only checkpoint.',
|
|
248
|
+
'keras.warning.configUnreadable': 'The model_config attribute could not be decoded.',
|
|
249
|
+
'keras.warning.configTruncated': 'The configuration preview was truncated to {limit} characters.',
|
|
250
|
+
'keras.warning.weightsMissing': 'No weight store was found, so parameter counts are unavailable.',
|
|
251
|
+
'keras.warning.weightsUnreadable': 'The weight store is not a readable HDF5 file.',
|
|
252
|
+
'keras.warning.weightLimit': 'Only the first {limit} weights were read.',
|
|
253
|
+
'keras.warning.layerLimit': 'Only the first {limit} layers were read.',
|
|
254
|
+
'keras.warning.noLayers': 'The configuration declares no layers.',
|
|
255
|
+
'keras.warning.unmatchedWeights': 'Weights for "{layer}" have no matching layer in the configuration.',
|
|
256
|
+
'keras.warning.unmatchedWeightsMore': '{count} further weight group(s) have no matching layer.',
|
|
257
|
+
'keras.warning.structureTruncated': 'The HDF5 structure exceeded the inspection limits and was read partially.',
|
|
164
258
|
'proto.title': 'Protocol Buffer', 'proto.summary': '{syntax} · {package} · {messages} messages · {services} services',
|
|
165
259
|
'proto.noPackage': 'no package', 'proto.search': 'Search message, field, enum, RPC', 'proto.copyPanel': 'Copy panel',
|
|
166
260
|
'proto.panel.tree': 'Message Tree', 'proto.panel.types': 'Types', 'proto.panel.relationships': 'Relationships',
|
package/dist/i18n/catalog.ja.js
CHANGED
|
@@ -64,6 +64,54 @@ export const CATALOG_JA = {
|
|
|
64
64
|
'safetensors.structure': '構造', 'safetensors.noData': '表示できるデータがありません。',
|
|
65
65
|
'safetensors.matchingRows': '一致する行: {count}件',
|
|
66
66
|
'safetensors.matchingRowsLimited': '一致する{total}行中{visible}行を表示',
|
|
67
|
+
'numpy.title': 'NumPy配列', 'numpy.selectArray': '配列を選択', 'numpy.data': 'データ',
|
|
68
|
+
'numpy.arrays': '配列一覧', 'numpy.copyJson': 'JSONをコピー', 'numpy.noData': '表示できる配列がありません。',
|
|
69
|
+
'numpy.previewUnavailable': 'このデータ型の値プレビューは利用できません。', 'numpy.slice': 'スライス',
|
|
70
|
+
'numpy.previewLimited': 'この配列に達する前にドキュメントのプレビュー予算を使い切りました。',
|
|
71
|
+
'numpy.emptyArray': 'この配列には要素がありません。',
|
|
72
|
+
'numpy.gridShown': '{totalRows}行中{rows}行・{totalColumns}列中{columns}列を表示',
|
|
73
|
+
'numpy.document.npy': 'NumPy配列', 'numpy.document.npz': 'NumPy配列アーカイブ',
|
|
74
|
+
'numpy.summary.arrays': '配列', 'numpy.summary.elements': '要素', 'numpy.summary.dtypes': 'データ型',
|
|
75
|
+
'numpy.summary.status': '状態', 'numpy.invalid': '無効', 'numpy.scalar': 'スカラー',
|
|
76
|
+
'numpy.column.name': '名前', 'numpy.column.dtype': 'データ型', 'numpy.column.shape': '形状',
|
|
77
|
+
'numpy.column.order': '順序', 'numpy.column.elements': '要素', 'numpy.column.dataSize': 'データサイズ',
|
|
78
|
+
'numpy.detail.dtype': 'データ型', 'numpy.detail.shape': '形状', 'numpy.detail.order': '順序',
|
|
79
|
+
'numpy.detail.elements': '要素', 'numpy.detail.bytes': 'バイト', 'numpy.detail.kind': '種類',
|
|
80
|
+
'numpy.axis': '軸 {axis}', 'numpy.value': '値',
|
|
81
|
+
'numpy.kind.boolean': 'ブール値', 'numpy.kind.signedInteger': '符号付き整数', 'numpy.kind.unsignedInteger': '符号なし整数',
|
|
82
|
+
'numpy.kind.floatingPoint': '浮動小数点', 'numpy.kind.complex': '複素数', 'numpy.kind.byteString': 'バイト文字列',
|
|
83
|
+
'numpy.kind.unicodeString': 'Unicode文字列', 'numpy.kind.timedelta': '時間差', 'numpy.kind.datetime': '日時',
|
|
84
|
+
'numpy.kind.void': 'void', 'numpy.kind.object': 'オブジェクト', 'numpy.kind.unknown': '不明',
|
|
85
|
+
'numpy.warning.notNumpy': 'NumPy .npyまたは.npzファイルではありません。',
|
|
86
|
+
'numpy.warning.npyMagic': 'NPYマジックシグネチャがありません。', 'numpy.warning.npzMagic': 'NPZ ZIPシグネチャがありません。',
|
|
87
|
+
'numpy.warning.npzDeclaredSize': 'NPZの宣言済み展開サイズが{limit}を超えています。',
|
|
88
|
+
'numpy.warning.npzEntryCount': 'NPZアーカイブがエントリ数の安全上限{limit}を超えています。',
|
|
89
|
+
'numpy.warning.npzArrayCount': '先頭{limit}個の配列のみ表示します。',
|
|
90
|
+
'numpy.warning.npzArraySize': '展開された配列が安全上限{limit}を超えています。',
|
|
91
|
+
'numpy.warning.npzCrc': 'CRC検証に失敗したため、配列をスキップしました。',
|
|
92
|
+
'numpy.warning.npzEntryRead': '配列メンバーを展開できないためスキップしました: {reason}',
|
|
93
|
+
'numpy.warning.npzTotalSize': '合計安全上限{limit}で配列の展開を停止しました。',
|
|
94
|
+
'numpy.warning.npzNoArrays': 'NPZアーカイブに.npy配列がありません。',
|
|
95
|
+
'numpy.warning.npzRead': 'NPZアーカイブを読み込めませんでした: {reason}',
|
|
96
|
+
'numpy.warning.npyHeader': 'NPYヘッダーが無効または途中で切れています。',
|
|
97
|
+
'numpy.warning.npyVersion': 'NPY形式バージョン{version}は未対応です。',
|
|
98
|
+
'numpy.warning.npyHeaderBounds': '宣言されたNPYヘッダーがファイルの範囲を超えています。',
|
|
99
|
+
'numpy.warning.npyHeaderSize': 'NPYヘッダーが安全上限{limit}を超えています。',
|
|
100
|
+
'numpy.warning.npyHeaderDecode': 'NPYヘッダーテキストをデコードできませんでした。',
|
|
101
|
+
'numpy.warning.npyHeaderFields': 'NPYヘッダーに単純なdtype、shape、または保存順序の宣言がありません。構造化dtypeはまだデコードされません。',
|
|
102
|
+
'numpy.warning.npyHeaderGrammar': 'NPYヘッダーに重複フィールドまたは未対応の後続構文があります。',
|
|
103
|
+
'numpy.warning.npyShape': 'NPY形状に無効な次元があります。',
|
|
104
|
+
'numpy.warning.npyElementCount': 'NPY要素数が安全な整数範囲外です。',
|
|
105
|
+
'numpy.warning.npyRank': 'NPY配列の次元数が安全上限{limit}軸を超えています。',
|
|
106
|
+
'numpy.warning.payloadShort': '配列payloadがdtypeとshapeに必要な長さより短くなっています。',
|
|
107
|
+
'numpy.warning.payloadTrailing': '配列payloadに余分なバイトがあります。',
|
|
108
|
+
'numpy.warning.objectUnsafe': '安全でないpickleの逆シリアル化が必要なため、オブジェクト配列は読み込みません。',
|
|
109
|
+
'numpy.warning.dtypeUnsupported': 'dtype {dtype}の値はデコードされませんが、メタデータは表示できます。',
|
|
110
|
+
'numpy.warning.nativeEndian': 'ネイティブエンディアンdtypeをリトルエンディアンとして解釈しました。',
|
|
111
|
+
'numpy.warning.previewDecode': '一部のプレビュー値をデコードできませんでした。',
|
|
112
|
+
'numpy.warning.previewLimit': 'ドキュメントの値プレビューは{limit}要素に制限されています。',
|
|
113
|
+
'numpy.warning.textPreviewLimit': '文字列プレビューは1値あたり{perValue}文字、1ドキュメントあたり{total}文字に制限されています。',
|
|
114
|
+
'numpy.warning.stringItemSize': '幅が{limit}を超える文字列値はデコードされません。',
|
|
67
115
|
'gguf.title': 'GGUF', 'gguf.search': 'メタデータとテンソルを検索…', 'gguf.copyJson': 'JSONをコピー',
|
|
68
116
|
'gguf.structure': '構造', 'gguf.noData': '表示できるデータがありません。',
|
|
69
117
|
'gguf.matchingRows': '一致する行: {count}件',
|
|
@@ -81,7 +129,6 @@ export const CATALOG_JA = {
|
|
|
81
129
|
'gguf.warning.tensorsLimited': 'メモリ使用量を抑えるため、{total}個のテンソルのうち先頭{shown}個を表示します。',
|
|
82
130
|
'gguf.warning.metadataLimited': 'メモリ使用量を抑えるため、{total}個のメタデータのうち先頭{shown}個を表示します。',
|
|
83
131
|
'gguf.warning.textTruncated': 'フィールド制限またはGGUF文字数予算により、一部のテキストが省略されました。',
|
|
84
|
-
'gguf.warning.metadataTooLarge': 'このファイルのメタデータは大きすぎて完全には解析できません。キーのプレビューのみを表示し、テンソル一覧は利用できません。',
|
|
85
132
|
'onnx.title': 'ONNXモデル', 'onnx.search': 'グラフ、ノード、テンソルを検索…', 'onnx.copyJson': 'JSONをコピー',
|
|
86
133
|
'onnx.graph': 'グラフ', 'onnx.nodes': 'ノード', 'onnx.tensors': 'テンソル', 'onnx.io': '入出力',
|
|
87
134
|
'onnx.modelInfo': 'モデル情報', 'onnx.rows': '{total}行中{shown}行を表示', 'onnx.noMatches': '検索に一致する行がありません。',
|
|
@@ -134,6 +181,8 @@ export const CATALOG_JA = {
|
|
|
134
181
|
'tflite.warning.customOps': 'カスタム演算子{count}件にはランタイムへの登録が必要です: {names}',
|
|
135
182
|
'tflite.warning.flexOps': '{count}件の演算子がSelect TensorFlow演算にフォールバックします。',
|
|
136
183
|
'tflite.warning.appendedBuffers': '{count}件のバッファがFlatBufferの外部にデータを保持しています。',
|
|
184
|
+
'tflite.warning.externalBuffers': '{count}件の定数バッファはこのビューアが読まない別ファイルにあります。',
|
|
185
|
+
'tflite.warning.missingExternalBuffers': '{count}件のテンソルがモデルに宣言されていない外部バッファを参照しています。',
|
|
137
186
|
'tflite.column.index': '#', 'tflite.column.name': '名前', 'tflite.column.operator': '演算子',
|
|
138
187
|
'tflite.column.kind': '種類', 'tflite.column.version': 'バージョン', 'tflite.column.inputs': '入力',
|
|
139
188
|
'tflite.column.outputs': '出力', 'tflite.column.optionsType': 'オプション型', 'tflite.column.options': 'オプション',
|
|
@@ -143,7 +192,7 @@ export const CATALOG_JA = {
|
|
|
143
192
|
'tflite.column.signature': 'シグネチャ', 'tflite.column.typeShape': '型 / 形状',
|
|
144
193
|
'tflite.column.tensorIndex': 'テンソル', 'tflite.column.fileOffset': 'ファイルオフセット',
|
|
145
194
|
'tflite.column.usedBy': '使用元', 'tflite.column.buffer': 'バッファ',
|
|
146
|
-
'tflite.storage.empty': 'ランタイム', 'tflite.storage.inline': 'インライン', 'tflite.storage.appended': '外部追加',
|
|
195
|
+
'tflite.storage.empty': 'ランタイム', 'tflite.storage.inline': 'インライン', 'tflite.storage.appended': '外部追加', 'tflite.storage.external': '外部ファイル',
|
|
147
196
|
'tflite.kind.builtin': '組み込み', 'tflite.kind.custom': 'カスタム', 'tflite.kind.input': '入力',
|
|
148
197
|
'tflite.kind.output': '出力', 'tflite.kind.signatureInput': 'シグネチャ入力',
|
|
149
198
|
'tflite.kind.signatureOutput': 'シグネチャ出力',
|
|
@@ -153,10 +202,55 @@ export const CATALOG_JA = {
|
|
|
153
202
|
'tflite.info.subgraphs': 'サブグラフ', 'tflite.info.signatures': 'シグネチャ',
|
|
154
203
|
'tflite.info.operatorCode': '演算子コード', 'tflite.info.metadata': 'メタデータ',
|
|
155
204
|
'tflite.info.expectedSize': '想定サイズ', 'tflite.info.shapeSignature': '形状シグネチャ',
|
|
156
|
-
'tflite.info.sparsity': 'スパース性', 'tflite.info.traversalOrder': '走査順序',
|
|
205
|
+
'tflite.info.sparsity': 'スパース性', 'tflite.info.traversalOrder': '走査順序', 'tflite.info.blockMap': 'ブロックマップ',
|
|
157
206
|
'tflite.inspector.inputs': '入力', 'tflite.inspector.outputs': '出力',
|
|
158
207
|
'tflite.inspector.intermediates': '中間テンソル', 'tflite.inspector.options': 'オプション',
|
|
159
208
|
'tflite.inspector.customOptions': 'カスタムオプション', 'tflite.inspector.subgraphs': '参照サブグラフ',
|
|
209
|
+
'keras.title': 'Kerasモデル', 'keras.document.v3': 'Keras v3アーカイブ', 'keras.document.hdf5': 'Keras HDF5モデル',
|
|
210
|
+
'keras.version': 'Keras {version}', 'keras.search': 'レイヤー、重み、設定を検索…',
|
|
211
|
+
'keras.copyJson': 'JSONをコピー', 'keras.invalid': '無効',
|
|
212
|
+
'keras.tab.layers': 'レイヤー', 'keras.tab.weights': '重み', 'keras.tab.config': '設定',
|
|
213
|
+
'keras.tab.training': '学習設定', 'keras.tab.files': 'アーカイブ', 'keras.tab.model': 'モデル情報',
|
|
214
|
+
'keras.rows': '{count}行', 'keras.rowsLimited': '{shown} / {total}行を表示',
|
|
215
|
+
'keras.summary.layers': 'レイヤー', 'keras.summary.parameters': 'パラメーター',
|
|
216
|
+
'keras.summary.weightBytes': '重みサイズ', 'keras.summary.kerasVersion': 'Kerasバージョン',
|
|
217
|
+
'keras.summary.status': '状態',
|
|
218
|
+
'keras.column.name': '名前', 'keras.column.type': '種類', 'keras.column.inputShape': '入力形状',
|
|
219
|
+
'keras.column.activation': '活性化', 'keras.column.parameters': 'パラメーター',
|
|
220
|
+
'keras.column.weights': '重み', 'keras.column.trainable': '学習可能', 'keras.column.layer': 'レイヤー',
|
|
221
|
+
'keras.column.shape': '形状', 'keras.column.dtype': 'データ型', 'keras.column.bytes': 'サイズ',
|
|
222
|
+
'keras.column.path': 'パス', 'keras.column.field': '項目', 'keras.column.value': '値',
|
|
223
|
+
'keras.column.size': 'サイズ', 'keras.column.compressed': '圧縮後', 'keras.column.method': '圧縮方式',
|
|
224
|
+
'keras.detail.identity': '識別情報', 'keras.detail.inbound': '入力元',
|
|
225
|
+
'keras.detail.weights': '重み', 'keras.detail.config': '設定',
|
|
226
|
+
'keras.model.format': '形式', 'keras.model.class': 'モデルクラス', 'keras.model.name': 'モデル名',
|
|
227
|
+
'keras.model.kerasVersion': 'Kerasバージョン', 'keras.model.backend': 'バックエンド',
|
|
228
|
+
'keras.model.dateSaved': '保存日時', 'keras.model.fileSize': 'ファイルサイズ',
|
|
229
|
+
'keras.model.parameters': 'パラメーター', 'keras.model.inputs': '入力', 'keras.model.outputs': '出力',
|
|
230
|
+
'keras.noData': '表示できるデータがありません。', 'keras.noLayers': 'このモデルにレイヤーは見つかりませんでした。',
|
|
231
|
+
'keras.noWeights': 'このファイルには重みが保存されていません。',
|
|
232
|
+
'keras.noConfig': 'このファイルには読み取り可能なモデル設定が含まれていません。',
|
|
233
|
+
'keras.noTraining': 'このモデルは学習設定なしで保存されています。',
|
|
234
|
+
'keras.warning.notKeras': 'このファイルは.kerasアーカイブでもHDF5モデルでもありません。',
|
|
235
|
+
'keras.warning.archiveUnreadable': '.kerasアーカイブのディレクトリを読み取れませんでした。',
|
|
236
|
+
'keras.warning.archiveEntryLimit': 'アーカイブの先頭{limit}件のみを検査しました。',
|
|
237
|
+
'keras.warning.memberTooLarge': '{name}は安全上限の{limit}を超えるためスキップしました。',
|
|
238
|
+
'keras.warning.memberUnreadable': '{name}をアーカイブから読み取れませんでした。',
|
|
239
|
+
'keras.warning.memberMethod': '{name}は未対応の圧縮方式{method}を使用しています。',
|
|
240
|
+
'keras.warning.inflateUnavailable': '{name}は圧縮されていますが、この環境では展開機能を利用できません。',
|
|
241
|
+
'keras.warning.jsonInvalid': '{name}は有効なJSONではありません。',
|
|
242
|
+
'keras.warning.configMissing': 'アーカイブにconfig.jsonがないため、レイヤー一覧を表示できません。',
|
|
243
|
+
'keras.warning.configMissingHdf5': 'model_config属性がありません。重みのみのチェックポイントの可能性があります。',
|
|
244
|
+
'keras.warning.configUnreadable': 'model_config属性をデコードできませんでした。',
|
|
245
|
+
'keras.warning.configTruncated': '設定のプレビューを{limit}文字で打ち切りました。',
|
|
246
|
+
'keras.warning.weightsMissing': '重みストアが見つからないため、パラメーター数を表示できません。',
|
|
247
|
+
'keras.warning.weightsUnreadable': '重みストアは読み取り可能なHDF5ファイルではありません。',
|
|
248
|
+
'keras.warning.weightLimit': '先頭{limit}件の重みのみを読み取りました。',
|
|
249
|
+
'keras.warning.layerLimit': '先頭{limit}件のレイヤーのみを読み取りました。',
|
|
250
|
+
'keras.warning.noLayers': '設定にレイヤーが宣言されていません。',
|
|
251
|
+
'keras.warning.unmatchedWeights': '「{layer}」の重みに対応するレイヤーが設定に見つかりません。',
|
|
252
|
+
'keras.warning.unmatchedWeightsMore': '対応するレイヤーがない重みグループがさらに{count}件あります。',
|
|
253
|
+
'keras.warning.structureTruncated': 'HDF5構造が検査上限を超えたため、一部のみ読み取りました。',
|
|
160
254
|
'proto.title': 'Protocol Buffer', 'proto.summary': '{syntax} · {package} · メッセージ{messages}件 · サービス{services}件',
|
|
161
255
|
'proto.noPackage': 'パッケージなし', 'proto.search': 'メッセージ、フィールド、列挙型、RPCを検索', 'proto.copyPanel': 'パネルをコピー',
|
|
162
256
|
'proto.panel.tree': 'メッセージツリー', 'proto.panel.types': '型', 'proto.panel.relationships': '関係',
|
package/dist/i18n/catalog.ko.js
CHANGED
|
@@ -66,6 +66,54 @@ export const CATALOG_KO = {
|
|
|
66
66
|
'safetensors.structure': '구조', 'safetensors.noData': '표시할 데이터가 없습니다.',
|
|
67
67
|
'safetensors.matchingRows': '일치하는 행 {count}개',
|
|
68
68
|
'safetensors.matchingRowsLimited': '전체 {total}행 중 일치하는 {visible}행 표시',
|
|
69
|
+
'numpy.title': 'NumPy 배열', 'numpy.selectArray': '배열 선택', 'numpy.data': '데이터',
|
|
70
|
+
'numpy.arrays': '배열 목록', 'numpy.copyJson': 'JSON 복사', 'numpy.noData': '표시할 배열이 없습니다.',
|
|
71
|
+
'numpy.previewUnavailable': '이 데이터 타입은 값 미리보기를 제공하지 않습니다.', 'numpy.slice': '슬라이스',
|
|
72
|
+
'numpy.previewLimited': '이 배열에 도달하기 전에 문서 미리보기 예산이 소진되었습니다.',
|
|
73
|
+
'numpy.emptyArray': '이 배열에는 요소가 없습니다.',
|
|
74
|
+
'numpy.gridShown': '전체 {totalRows}행 중 {rows}행 · 전체 {totalColumns}열 중 {columns}열 표시',
|
|
75
|
+
'numpy.document.npy': 'NumPy 배열', 'numpy.document.npz': 'NumPy 배열 아카이브',
|
|
76
|
+
'numpy.summary.arrays': '배열', 'numpy.summary.elements': '요소', 'numpy.summary.dtypes': '데이터 타입',
|
|
77
|
+
'numpy.summary.status': '상태', 'numpy.invalid': '유효하지 않음', 'numpy.scalar': '스칼라',
|
|
78
|
+
'numpy.column.name': '이름', 'numpy.column.dtype': '데이터 타입', 'numpy.column.shape': '형상',
|
|
79
|
+
'numpy.column.order': '순서', 'numpy.column.elements': '요소', 'numpy.column.dataSize': '데이터 크기',
|
|
80
|
+
'numpy.detail.dtype': '데이터 타입', 'numpy.detail.shape': '형상', 'numpy.detail.order': '순서',
|
|
81
|
+
'numpy.detail.elements': '요소', 'numpy.detail.bytes': '바이트', 'numpy.detail.kind': '종류',
|
|
82
|
+
'numpy.axis': '축 {axis}', 'numpy.value': '값',
|
|
83
|
+
'numpy.kind.boolean': '불리언', 'numpy.kind.signedInteger': '부호 있는 정수', 'numpy.kind.unsignedInteger': '부호 없는 정수',
|
|
84
|
+
'numpy.kind.floatingPoint': '부동소수점', 'numpy.kind.complex': '복소수', 'numpy.kind.byteString': '바이트 문자열',
|
|
85
|
+
'numpy.kind.unicodeString': '유니코드 문자열', 'numpy.kind.timedelta': '시간 간격', 'numpy.kind.datetime': '날짜와 시간',
|
|
86
|
+
'numpy.kind.void': 'void', 'numpy.kind.object': '객체', 'numpy.kind.unknown': '알 수 없음',
|
|
87
|
+
'numpy.warning.notNumpy': 'NumPy .npy 또는 .npz 파일이 아닙니다.',
|
|
88
|
+
'numpy.warning.npyMagic': 'NPY 매직 시그니처가 없습니다.', 'numpy.warning.npzMagic': 'NPZ ZIP 시그니처가 없습니다.',
|
|
89
|
+
'numpy.warning.npzDeclaredSize': 'NPZ의 선언된 압축 해제 크기가 {limit}를 초과합니다.',
|
|
90
|
+
'numpy.warning.npzEntryCount': 'NPZ 아카이브가 항목 안전 제한 {limit}개를 초과합니다.',
|
|
91
|
+
'numpy.warning.npzArrayCount': '처음 {limit}개 배열만 표시합니다.',
|
|
92
|
+
'numpy.warning.npzArraySize': '압축 해제된 배열이 안전 제한 {limit}를 초과합니다.',
|
|
93
|
+
'numpy.warning.npzCrc': 'CRC 검증에 실패하여 배열을 건너뛰었습니다.',
|
|
94
|
+
'numpy.warning.npzEntryRead': '배열 멤버의 압축을 해제할 수 없어 건너뛰었습니다: {reason}',
|
|
95
|
+
'numpy.warning.npzTotalSize': '전체 안전 제한 {limit}에서 배열 압축 해제를 중단했습니다.',
|
|
96
|
+
'numpy.warning.npzNoArrays': 'NPZ 아카이브에 .npy 배열이 없습니다.',
|
|
97
|
+
'numpy.warning.npzRead': 'NPZ 아카이브를 읽을 수 없습니다: {reason}',
|
|
98
|
+
'numpy.warning.npyHeader': 'NPY 헤더가 유효하지 않거나 잘렸습니다.',
|
|
99
|
+
'numpy.warning.npyVersion': '지원하지 않는 NPY 형식 버전 {version}입니다.',
|
|
100
|
+
'numpy.warning.npyHeaderBounds': '선언된 NPY 헤더가 파일 범위를 벗어납니다.',
|
|
101
|
+
'numpy.warning.npyHeaderSize': 'NPY 헤더가 안전 제한 {limit}를 초과합니다.',
|
|
102
|
+
'numpy.warning.npyHeaderDecode': 'NPY 헤더 텍스트를 디코딩할 수 없습니다.',
|
|
103
|
+
'numpy.warning.npyHeaderFields': 'NPY 헤더에 단순 dtype, shape 또는 저장 순서 선언이 없습니다. 구조화 dtype은 아직 디코딩하지 않습니다.',
|
|
104
|
+
'numpy.warning.npyHeaderGrammar': 'NPY 헤더에 중복 필드 또는 지원하지 않는 후행 구문이 있습니다.',
|
|
105
|
+
'numpy.warning.npyShape': 'NPY 형상에 유효하지 않은 차원이 있습니다.',
|
|
106
|
+
'numpy.warning.npyElementCount': 'NPY 요소 수가 안전한 정수 범위를 벗어납니다.',
|
|
107
|
+
'numpy.warning.npyRank': 'NPY 배열 차원 수가 축 안전 제한 {limit}개를 초과합니다.',
|
|
108
|
+
'numpy.warning.payloadShort': '배열 payload가 dtype과 shape에 필요한 크기보다 짧습니다.',
|
|
109
|
+
'numpy.warning.payloadTrailing': '배열 payload에 후행 바이트가 있습니다.',
|
|
110
|
+
'numpy.warning.objectUnsafe': '안전하지 않은 pickle 역직렬화가 필요하므로 객체 배열을 불러오지 않습니다.',
|
|
111
|
+
'numpy.warning.dtypeUnsupported': 'dtype {dtype} 값은 디코딩하지 않지만 메타데이터는 표시합니다.',
|
|
112
|
+
'numpy.warning.nativeEndian': '네이티브 endian dtype을 little-endian으로 해석했습니다.',
|
|
113
|
+
'numpy.warning.previewDecode': '일부 미리보기 값을 디코딩할 수 없습니다.',
|
|
114
|
+
'numpy.warning.previewLimit': '문서 값 미리보기는 {limit}개 요소로 제한됩니다.',
|
|
115
|
+
'numpy.warning.textPreviewLimit': '문자열 미리보기는 값당 {perValue}자, 문서당 {total}자로 제한됩니다.',
|
|
116
|
+
'numpy.warning.stringItemSize': '폭이 {limit}보다 큰 문자열 값은 디코딩하지 않습니다.',
|
|
69
117
|
'gguf.title': 'GGUF', 'gguf.search': '메타데이터와 텐서 검색…', 'gguf.copyJson': 'JSON 복사',
|
|
70
118
|
'gguf.structure': '구조', 'gguf.noData': '표시할 데이터가 없습니다.',
|
|
71
119
|
'gguf.matchingRows': '일치하는 행 {count}개',
|
|
@@ -83,7 +131,6 @@ export const CATALOG_KO = {
|
|
|
83
131
|
'gguf.warning.tensorsLimited': '메모리 사용을 제한하기 위해 전체 {total}개 텐서 중 처음 {shown}개를 표시합니다.',
|
|
84
132
|
'gguf.warning.metadataLimited': '메모리 사용을 제한하기 위해 전체 {total}개 메타데이터 중 처음 {shown}개를 표시합니다.',
|
|
85
133
|
'gguf.warning.textTruncated': '필드별 제한 또는 GGUF 문자 예산으로 인해 일부 텍스트가 잘렸습니다.',
|
|
86
|
-
'gguf.warning.metadataTooLarge': '이 파일의 메타데이터가 너무 커서 전체를 해석할 수 없습니다. 키 미리보기만 표시되며 텐서 목록은 제공되지 않습니다.',
|
|
87
134
|
'onnx.title': 'ONNX 모델', 'onnx.search': '그래프, 노드, 텐서 검색…', 'onnx.copyJson': 'JSON 복사',
|
|
88
135
|
'onnx.graph': '그래프', 'onnx.nodes': '노드', 'onnx.tensors': '텐서', 'onnx.io': '입출력',
|
|
89
136
|
'onnx.modelInfo': '모델 정보', 'onnx.rows': '전체 {total}행 중 {shown}행 표시', 'onnx.noMatches': '검색과 일치하는 행이 없습니다.',
|
|
@@ -136,6 +183,8 @@ export const CATALOG_KO = {
|
|
|
136
183
|
'tflite.warning.customOps': '커스텀 연산자 {count}개는 런타임에 별도 등록이 필요합니다: {names}',
|
|
137
184
|
'tflite.warning.flexOps': '연산자 {count}개가 Select TensorFlow 연산으로 대체됩니다.',
|
|
138
185
|
'tflite.warning.appendedBuffers': '버퍼 {count}개가 FlatBuffer 바깥에 데이터를 저장합니다.',
|
|
186
|
+
'tflite.warning.externalBuffers': '상수 버퍼 {count}개가 이 뷰어가 읽지 않는 별도 파일에 있습니다.',
|
|
187
|
+
'tflite.warning.missingExternalBuffers': '텐서 {count}개가 모델에 선언되지 않은 외부 버퍼를 참조합니다.',
|
|
139
188
|
'tflite.column.index': '#', 'tflite.column.name': '이름', 'tflite.column.operator': '연산자',
|
|
140
189
|
'tflite.column.kind': '종류', 'tflite.column.version': '버전', 'tflite.column.inputs': '입력',
|
|
141
190
|
'tflite.column.outputs': '출력', 'tflite.column.optionsType': '옵션 형식', 'tflite.column.options': '옵션',
|
|
@@ -145,7 +194,7 @@ export const CATALOG_KO = {
|
|
|
145
194
|
'tflite.column.signature': '시그니처', 'tflite.column.typeShape': '타입 / 형상',
|
|
146
195
|
'tflite.column.tensorIndex': '텐서', 'tflite.column.fileOffset': '파일 오프셋',
|
|
147
196
|
'tflite.column.usedBy': '사용처', 'tflite.column.buffer': '버퍼',
|
|
148
|
-
'tflite.storage.empty': '런타임', 'tflite.storage.inline': '인라인', 'tflite.storage.appended': '외부 추가',
|
|
197
|
+
'tflite.storage.empty': '런타임', 'tflite.storage.inline': '인라인', 'tflite.storage.appended': '외부 추가', 'tflite.storage.external': '외부 파일',
|
|
149
198
|
'tflite.kind.builtin': '내장', 'tflite.kind.custom': '커스텀', 'tflite.kind.input': '입력',
|
|
150
199
|
'tflite.kind.output': '출력', 'tflite.kind.signatureInput': '시그니처 입력',
|
|
151
200
|
'tflite.kind.signatureOutput': '시그니처 출력',
|
|
@@ -155,10 +204,55 @@ export const CATALOG_KO = {
|
|
|
155
204
|
'tflite.info.subgraphs': '서브그래프', 'tflite.info.signatures': '시그니처',
|
|
156
205
|
'tflite.info.operatorCode': '연산자 코드', 'tflite.info.metadata': '메타데이터',
|
|
157
206
|
'tflite.info.expectedSize': '예상 크기', 'tflite.info.shapeSignature': '형상 시그니처',
|
|
158
|
-
'tflite.info.sparsity': '희소성', 'tflite.info.traversalOrder': '순회 순서',
|
|
207
|
+
'tflite.info.sparsity': '희소성', 'tflite.info.traversalOrder': '순회 순서', 'tflite.info.blockMap': '블록 맵',
|
|
159
208
|
'tflite.inspector.inputs': '입력', 'tflite.inspector.outputs': '출력',
|
|
160
209
|
'tflite.inspector.intermediates': '중간 텐서', 'tflite.inspector.options': '옵션',
|
|
161
210
|
'tflite.inspector.customOptions': '커스텀 옵션', 'tflite.inspector.subgraphs': '참조 서브그래프',
|
|
211
|
+
'keras.title': 'Keras 모델', 'keras.document.v3': 'Keras v3 아카이브', 'keras.document.hdf5': 'Keras HDF5 모델',
|
|
212
|
+
'keras.version': 'Keras {version}', 'keras.search': '레이어, 가중치, 설정 검색…',
|
|
213
|
+
'keras.copyJson': 'JSON 복사', 'keras.invalid': '유효하지 않음',
|
|
214
|
+
'keras.tab.layers': '레이어', 'keras.tab.weights': '가중치', 'keras.tab.config': '설정',
|
|
215
|
+
'keras.tab.training': '학습 설정', 'keras.tab.files': '아카이브', 'keras.tab.model': '모델 정보',
|
|
216
|
+
'keras.rows': '{count}행', 'keras.rowsLimited': '{shown} / {total}행 표시',
|
|
217
|
+
'keras.summary.layers': '레이어', 'keras.summary.parameters': '파라미터',
|
|
218
|
+
'keras.summary.weightBytes': '가중치 크기', 'keras.summary.kerasVersion': 'Keras 버전',
|
|
219
|
+
'keras.summary.status': '상태',
|
|
220
|
+
'keras.column.name': '이름', 'keras.column.type': '종류', 'keras.column.inputShape': '입력 형태',
|
|
221
|
+
'keras.column.activation': '활성화', 'keras.column.parameters': '파라미터',
|
|
222
|
+
'keras.column.weights': '가중치', 'keras.column.trainable': '학습 가능', 'keras.column.layer': '레이어',
|
|
223
|
+
'keras.column.shape': '형태', 'keras.column.dtype': '데이터 타입', 'keras.column.bytes': '크기',
|
|
224
|
+
'keras.column.path': '경로', 'keras.column.field': '항목', 'keras.column.value': '값',
|
|
225
|
+
'keras.column.size': '크기', 'keras.column.compressed': '압축 후', 'keras.column.method': '압축 방식',
|
|
226
|
+
'keras.detail.identity': '식별 정보', 'keras.detail.inbound': '입력 출처',
|
|
227
|
+
'keras.detail.weights': '가중치', 'keras.detail.config': '설정',
|
|
228
|
+
'keras.model.format': '형식', 'keras.model.class': '모델 클래스', 'keras.model.name': '모델 이름',
|
|
229
|
+
'keras.model.kerasVersion': 'Keras 버전', 'keras.model.backend': '백엔드',
|
|
230
|
+
'keras.model.dateSaved': '저장 시각', 'keras.model.fileSize': '파일 크기',
|
|
231
|
+
'keras.model.parameters': '파라미터', 'keras.model.inputs': '입력', 'keras.model.outputs': '출력',
|
|
232
|
+
'keras.noData': '표시할 데이터가 없습니다.', 'keras.noLayers': '이 모델에서 레이어를 찾지 못했습니다.',
|
|
233
|
+
'keras.noWeights': '이 파일에는 가중치가 저장되어 있지 않습니다.',
|
|
234
|
+
'keras.noConfig': '이 파일에는 읽을 수 있는 모델 설정이 없습니다.',
|
|
235
|
+
'keras.noTraining': '이 모델은 학습 설정 없이 저장되었습니다.',
|
|
236
|
+
'keras.warning.notKeras': '이 파일은 .keras 아카이브도, HDF5 모델도 아닙니다.',
|
|
237
|
+
'keras.warning.archiveUnreadable': '.keras 아카이브의 디렉터리를 읽지 못했습니다.',
|
|
238
|
+
'keras.warning.archiveEntryLimit': '아카이브의 처음 {limit}개 항목만 검사했습니다.',
|
|
239
|
+
'keras.warning.memberTooLarge': '{name}이(가) 안전 한도 {limit}을(를) 초과하여 건너뛰었습니다.',
|
|
240
|
+
'keras.warning.memberUnreadable': '아카이브에서 {name}을(를) 읽지 못했습니다.',
|
|
241
|
+
'keras.warning.memberMethod': '{name}이(가) 지원하지 않는 압축 방식 {method}을(를) 사용합니다.',
|
|
242
|
+
'keras.warning.inflateUnavailable': '{name}이(가) 압축되어 있지만 이 환경에서는 압축 해제를 사용할 수 없습니다.',
|
|
243
|
+
'keras.warning.jsonInvalid': '{name}이(가) 올바른 JSON이 아닙니다.',
|
|
244
|
+
'keras.warning.configMissing': '아카이브에 config.json이 없어 레이어 목록을 표시할 수 없습니다.',
|
|
245
|
+
'keras.warning.configMissingHdf5': 'model_config 속성이 없습니다. 가중치만 저장된 체크포인트일 수 있습니다.',
|
|
246
|
+
'keras.warning.configUnreadable': 'model_config 속성을 디코딩하지 못했습니다.',
|
|
247
|
+
'keras.warning.configTruncated': '설정 미리보기를 {limit}자에서 잘랐습니다.',
|
|
248
|
+
'keras.warning.weightsMissing': '가중치 저장소를 찾지 못해 파라미터 수를 표시할 수 없습니다.',
|
|
249
|
+
'keras.warning.weightsUnreadable': '가중치 저장소가 읽을 수 있는 HDF5 파일이 아닙니다.',
|
|
250
|
+
'keras.warning.weightLimit': '처음 {limit}개의 가중치만 읽었습니다.',
|
|
251
|
+
'keras.warning.layerLimit': '처음 {limit}개의 레이어만 읽었습니다.',
|
|
252
|
+
'keras.warning.noLayers': '설정에 선언된 레이어가 없습니다.',
|
|
253
|
+
'keras.warning.unmatchedWeights': '"{layer}"의 가중치에 해당하는 레이어가 설정에 없습니다.',
|
|
254
|
+
'keras.warning.unmatchedWeightsMore': '대응하는 레이어가 없는 가중치 그룹이 {count}개 더 있습니다.',
|
|
255
|
+
'keras.warning.structureTruncated': 'HDF5 구조가 검사 한도를 초과하여 일부만 읽었습니다.',
|
|
162
256
|
'proto.title': 'Protocol Buffer', 'proto.summary': '{syntax} · {package} · 메시지 {messages}개 · 서비스 {services}개',
|
|
163
257
|
'proto.noPackage': '패키지 없음', 'proto.search': '메시지, 필드, enum, RPC 검색', 'proto.copyPanel': '패널 복사',
|
|
164
258
|
'proto.panel.tree': '메시지 트리', 'proto.panel.types': '타입', 'proto.panel.relationships': '관계',
|