React-Intl和JSON-我可以在一个字符串中使用多个键吗?

时间:2019-07-19 12:41:23

标签: javascript json reactjs internationalization react-intl

我想使用React-Intl库来添加我们的应用程序。 可能我们将使用来自Weblate的json格式,这是一个主要问题。 我可以使用几个翻译键成一个字符串吗?

不明白吗?没问题,有一个例子。

{
    "test1": "ABC",
    "test2": "CBA",
    "result": "test {test1} <--- (or any different notation)"
}

// The output for result should be: "test ABC"

2 个答案:

答案 0 :(得分:0)

// The output for result should be: "test ABC"
let a = { 	
          "test1": "ABC", 
          "test2": "CBA",
          "result": "test : {test1}" 
        }

// get the line with the result
function takeResult(obj){
    let {test1, test2, result} = obj;
    return result;
}

// get the key that is in the result line
function takeKey(value){
    begin = value.search('{');
    end = value.search('}');
    return value.substring(begin+1, end);
}

// get the text 
function takeText(value){
    begin = value.search('"');
    end = value.search('{');
    return value.substring(begin+1, end);
}

//
function printTranslation(obj){
    line = takeResult(obj);
    result = takeText(line) + obj[takeKey(line)];  // use the key to access the right value
    console.log(result);
    return result;	
}

printTranslation(a);

答案 1 :(得分:0)

到目前为止,值是通过values prop显式传递的,因此尚未得到正式支持。随时创建GitHub问题,我们可以看看。