mirror of
https://github.com/google/pebble.git
synced 2025-03-21 03:11:21 +00:00
61 lines
1.9 KiB
C
61 lines
1.9 KiB
C
/*
|
|
* Copyright 2024 Google LLC
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#include "services/common/i18n/i18n.h"
|
|
#include "util/attributes.h"
|
|
|
|
#include <string.h>
|
|
|
|
const char *WEAK i18n_get(const char *msgid, const void *owner) {
|
|
// If a string wasn't found, we want to return the original string.
|
|
// However, if we have a context, this string needs to not show the context.
|
|
// So we just find EOT and if it's present return the next character.
|
|
const char *message = strchr(msgid, '\4');
|
|
if (message == NULL) {
|
|
// No context, the whole string is the message.
|
|
return msgid;
|
|
}
|
|
// strchr gets the address of that character. We want to skip the EOT, so +1.
|
|
return message + 1;
|
|
}
|
|
|
|
void WEAK i18n_get_with_buffer(const char *string, char *buffer, size_t length) {
|
|
strncpy(buffer, i18n_get(string, (void *)0x1234), length);
|
|
buffer[length - 1] = '\0';
|
|
i18n_free(string, (void *)0x1234);
|
|
}
|
|
|
|
size_t WEAK i18n_get_length(const char *string) {
|
|
size_t size = strlen(i18n_get(string, (void *)0x1234));
|
|
i18n_free(string, (void *)0x1234);
|
|
return size;
|
|
}
|
|
|
|
void WEAK i18n_free(const char *original, const void *owner) {
|
|
}
|
|
|
|
void WEAK i18n_free_all(const void *owner) {
|
|
}
|
|
|
|
void WEAK sys_i18n_get_with_buffer(const char *string, char *buffer, size_t length) {
|
|
i18n_get_with_buffer(string, buffer, length);
|
|
}
|
|
|
|
size_t WEAK sys_i18n_get_length(const char *string) {
|
|
return i18n_get_length(string);
|
|
}
|
|
|
|
void WEAK i18n_enable(bool enable) { }
|