Started asset refact
This commit is contained in:
65
archive/language.h
Normal file
65
archive/language.h
Normal file
@@ -0,0 +1,65 @@
|
||||
/**
|
||||
* Copyright (c) 2025 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "locale/language/languages.h"
|
||||
|
||||
typedef struct {
|
||||
uint8_t current;
|
||||
} language_t;
|
||||
|
||||
extern language_t LANGUAGE;
|
||||
|
||||
/**
|
||||
* Initializes the language system.
|
||||
*
|
||||
* This function sets up the language system, loading the default language
|
||||
* and preparing any necessary resources for language handling.
|
||||
*/
|
||||
void languageInit(void);
|
||||
|
||||
/**
|
||||
* Gets a language string by its key.
|
||||
*
|
||||
* @param key The key for the language string.
|
||||
* @return The language string associated with the key.
|
||||
*/
|
||||
const char_t * languageGet(const char_t *key);
|
||||
|
||||
/**
|
||||
* Gets the length of a language string by its key.
|
||||
*
|
||||
* @param key The key for the language string.
|
||||
* @return The length of the language string associated with the key.
|
||||
*/
|
||||
uint16_t langaugeGetLength(const char_t *key);
|
||||
|
||||
/**
|
||||
* Formats a language string with given keys and values.
|
||||
*
|
||||
* This function replaces placeholders in the language string with the provided
|
||||
* values based on the keys.
|
||||
*
|
||||
* If buffer is NULL, the function will instead calculate the length of the
|
||||
* formatted string.
|
||||
*
|
||||
* @param key The key for the language string to format.
|
||||
* @param buffer The buffer to store the formatted string.
|
||||
* @param buffSize The size of the buffer.
|
||||
* @param keys An array of keys to replace in the language string.
|
||||
* @param values An array of values corresponding to the keys.
|
||||
* @param valueCount The number of key-value pairs.
|
||||
* @return The number of characters written to the buffer.
|
||||
*/
|
||||
uint16_t languageFormat(
|
||||
const char_t *key,
|
||||
char_t *buffer,
|
||||
uint16_t buffSize,
|
||||
const char_t **keys,
|
||||
const char_t **values,
|
||||
const uint16_t valueCount
|
||||
);
|
||||
Reference in New Issue
Block a user