我目前正在为我的项目使用Angular 4,并且正在使用ngx-translate(i18n)来启用用户切换语言。这些设置在i18n文件夹中,其中包含不同语言的json文件。我也在使用高图表的许多图表,我发现当我检查他们的API他们也使用i18n语言。但是,从我在API文档中收集到的是我需要在HighCharts上使用setOptions并在那里指定翻译单词,但是,我想知道是否可以使用我目前用于ngx-translate的json文件来完成?或者,如果用户能够在语言之间切换,我应该如何使用setOptions?
答案 0 :(得分:0)
此演示展示了如何动态执行andThen
:http://jsfiddle.net/kkulig/1qLqhtmd/
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <semaphore.h>
#include <unistd.h>
#define MAX_NUM 50
sem_t sem1, sem2, sem3;
void *f1(void* p)
{
for(int i=1; i<=MAX_NUM; i++)
{
sem_wait(&sem1);
printf("\nF1(): %d", 1);
sem_post(&sem2);
}
}
void *f2(void* p)
{
for(int i=1; i<=MAX_NUM; i++)
{
sem_wait(&sem2);
printf("\nF2(): %d", 2);
sem_post(&sem3);
}
}
void *f3(void* p)
{
for(int i=1; i<=MAX_NUM; i++)
{
sem_wait(&sem3);
printf("\nF3(): %d", 3);
sem_post(&sem1);
}
}
int main()
{
pthread_t p1, p2, p3;
sem_init(&sem1, 0, 1);
sem_init(&sem2, 0, 0);
sem_init(&sem3, 0, 0);
pthread_create(&p1, NULL, f1, (void*)NULL);
pthread_create(&p2, NULL, f2, (void*)NULL);
pthread_create(&p3, NULL, f3, (void*)NULL);
pthread_join(p1, NULL);
pthread_join(p2, NULL);
pthread_join(p3, NULL);
return 0;
}
请注意,此处需要setOptions
。如果我们将它注释掉,小数点将仅在3s后的工具提示中有所不同(轴标签不会改变)。
我认为最简单的方法是创建一个函数,将从文件中获取的JSON格式化为var chart = Highcharts.chart('container', {
series: [{
data: [5.5656565, 20]
}]
});
setTimeout(function (){
Highcharts.setOptions({
lang: {
decimalPoint: ' and after the dot is '
}
});
chart.redraw();
}, 3000);
可接受的结构(因为它的参数也是JSON)并使用chart.redraw()
如上例所示。