48 lines
1.6 KiB
Go
48 lines
1.6 KiB
Go
// Generated by `wit-bindgen` 0.57.1. DO NOT EDIT!
|
|
//
|
|
// This code was generated from the following packages:
|
|
// pumpkin:plugin@0.1.0
|
|
|
|
package pumpkin_plugin_i18n
|
|
|
|
import (
|
|
"github.com/Pumpkin-MC/pumpkin-api-go/pkg/pumpkin_plugin_common"
|
|
witRuntime "go.bytecodealliance.org/pkg/wit/runtime"
|
|
"runtime"
|
|
"unsafe"
|
|
)
|
|
|
|
type Locale = pumpkin_plugin_common.Locale
|
|
|
|
//go:wasmimport pumpkin:plugin/i18n@0.1.0 translate
|
|
func wasm_import_translate(arg0 uintptr, arg1 uint32, arg2 int32, arg3 uintptr)
|
|
|
|
func Translate(key string, locale pumpkin_plugin_common.Locale) string {
|
|
pinner := &runtime.Pinner{}
|
|
defer pinner.Unpin()
|
|
|
|
returnArea := uintptr(witRuntime.Allocate(pinner, (2 * 4), 4))
|
|
utf8 := unsafe.Pointer(unsafe.StringData(key))
|
|
pinner.Pin(utf8)
|
|
wasm_import_translate(uintptr(utf8), uint32(len(key)), int32(locale), returnArea)
|
|
value := unsafe.String((*uint8)(unsafe.Pointer(uintptr(*(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 0))))), *(*uint32)(unsafe.Add(unsafe.Pointer(returnArea), 4)))
|
|
result := value
|
|
return result
|
|
|
|
}
|
|
|
|
//go:wasmimport pumpkin:plugin/i18n@0.1.0 load-translations
|
|
func wasm_import_load_translations(arg0 uintptr, arg1 uint32, arg2 uintptr, arg3 uint32, arg4 int32)
|
|
|
|
func LoadTranslations(namespace string, json string, locale pumpkin_plugin_common.Locale) {
|
|
pinner := &runtime.Pinner{}
|
|
defer pinner.Unpin()
|
|
|
|
utf8 := unsafe.Pointer(unsafe.StringData(namespace))
|
|
pinner.Pin(utf8)
|
|
utf80 := unsafe.Pointer(unsafe.StringData(json))
|
|
pinner.Pin(utf80)
|
|
wasm_import_load_translations(uintptr(utf8), uint32(len(namespace)), uintptr(utf80), uint32(len(json)), int32(locale))
|
|
|
|
}
|