1
0
mirror of https://github.com/msberends/AMR.git synced 2025-07-08 11:11:54 +02:00

(v1.5.0.9020) translation fix

This commit is contained in:
2021-02-18 23:23:14 +01:00
parent 601ea7377c
commit daa12ced2c
22 changed files with 1416 additions and 1381 deletions

1898
R/mo.R

File diff suppressed because it is too large Load Diff

View File

@ -172,7 +172,10 @@ mo_name <- function(x, language = get_locale(), ...) {
meet_criteria(x, allow_NA = TRUE)
meet_criteria(language, has_length = 1, is_in = c(LANGUAGES_SUPPORTED, ""), allow_NULL = TRUE, allow_NA = TRUE)
translate_AMR(mo_validate(x = x, property = "fullname", language = language, ...), language = language, only_unknown = FALSE)
translate_AMR(mo_validate(x = x, property = "fullname", language = language, ...),
language = language,
only_unknown = FALSE,
affect_mo_name = TRUE)
}
#' @rdname mo_property
@ -214,7 +217,7 @@ mo_shortname <- function(x, language = get_locale(), ...) {
shortnames[is.na(x.mo)] <- NA_character_
load_mo_failures_uncertainties_renamed(metadata)
translate_AMR(shortnames, language = language, only_unknown = FALSE)
translate_AMR(shortnames, language = language, only_unknown = FALSE, affect_mo_name = TRUE)
}
#' @rdname mo_property

Binary file not shown.

View File

@ -123,7 +123,7 @@ coerce_language_setting <- function(lang) {
}
# translate strings based on inst/translations.tsv
translate_AMR <- function(from, language = get_locale(), only_unknown = FALSE) {
translate_AMR <- function(from, language = get_locale(), only_unknown = FALSE, affect_mo_name = FALSE) {
if (is.null(language)) {
return(from)
@ -146,10 +146,13 @@ translate_AMR <- function(from, language = get_locale(), only_unknown = FALSE) {
if (only_unknown == TRUE) {
df_trans <- subset(df_trans, pattern %like% "unknown")
}
if (affect_mo_name == TRUE) {
df_trans <- subset(df_trans, affect_mo_name == TRUE)
}
# default case sensitive if value if 'ignore.case' is missing:
# default: case sensitive if value if 'ignore.case' is missing:
df_trans$ignore.case[is.na(df_trans$ignore.case)] <- FALSE
# default not using regular expressions (fixed = TRUE) if 'fixed' is missing:
# default: not using regular expressions (fixed = TRUE) if 'fixed' is missing:
df_trans$fixed[is.na(df_trans$fixed)] <- TRUE
# check if text to look for is in one of the patterns
@ -167,7 +170,8 @@ translate_AMR <- function(from, language = get_locale(), only_unknown = FALSE) {
replacement = df_trans$replacement[i],
x = from_unique_translated,
ignore.case = df_trans$ignore.case[i],
fixed = df_trans$fixed[i]))
fixed = df_trans$fixed[i],
perl = !df_trans$fixed[i]))
# force UTF-8 for diacritics
from_unique_translated <- enc2utf8(from_unique_translated)