我目前正在构建一个需要翻译成不同语言的闪亮应用程序。我有整个结构,但我正在努力获得包含重音符号的“Validació”等值。
我遵循的结构如下:
key, cat, en "selecció", "selecció", "Selection" "Diferències","Diferències", "Differences" "Descarregar","Descarregar", "Download" "Diagnòstics","Diagnòstics", "Diagnoses"
代码:
tr <- function(text){
sapply(text, function(s) translation[[s]][["cat"]], USE.NAMES=F)
}
当我翻译某些内容时,由于我在另一个文件中,我将其分配给另一个变量,如:
str_seleccio <- tr('Selecció)
'Selecció'
将是根据此函数tr('Selecció')
并提供正确的答案,如果我在RStudio终端执行它,但当我做它在Shiny应用程序中,在我看来是NULL
。如果我翻译的单词没有重音符号,例如“Hello”,tr("Hello")
在Shiny应用程序中为我提供了正确的答案,我可以通过代码看到它。所以主要是tr(word)得到正确的值但是在分配它时“丢失了值”所以我有点迷失了怎么做。
我知道您可以执行Encoding(str_seleccio) <- "UTF-8"
之类的操作,但在这种情况下无效。如果它曾经做过简单的话,但是当我指出它时,得到NULL
是行不通的。
有什么想法吗?有什么建议吗?我想要的是向tr function
主要想法来自这个存储库,如果你可以看看你可以做的最简单的版本,但是他也有utf-8的问题。
答案 0 :(得分:1)
在http://shiny.rstudio.com/articles/unicode.html中建议(重新)保存所有使用UTF-8编码的文件。
在updateTranslation.R
内进行更改:
translationContent <- read.delim("dictionary.csv", header = TRUE, sep = "\t", as.is = TRUE)
为:
translationContent <- read.delim("dictionary.csv", header = TRUE, sep = "\t", as.is = TRUE, fileEncoding = "UTF-8")
。
警告,当您(重新)保存ui.R时,您的&#34; c-cedilla&#34;可能会被摧毁。只要重新插入它,万一它就会发生。
复活节快乐:)