Utilisation de la classe ChartGlobalizationSettings pour définir une langue différente pour le composant de graphique
Scénarios d’utilisation possibles
Les API d’Aspose.Cells ont exposé la classe ChartGlobalizationSettings afin de traiter les scénarios où l’utilisateur souhaite définir un composant de graphique dans une langue différente, notamment des étiquettes personnalisées pour les sous-totaux dans une feuille de calcul.
Introduction à la classe ChartGlobalizationSettings
La classe ChartGlobalizationSettings offre actuellement les 8 méthodes suivantes qui peuvent être remplacées dans une classe personnalisée pour traduire des éléments tels que le nom du titre de l’axe, le nom de l’unité de l’axe, le nom du titre du graphique, etc. dans une langue différente.
- GetAxisTitleName : Obtient le nom du titre de l’axe.
- GetAxisUnitName : Obtient le nom de l’unité d’axe.
- GetChartTitleName : Obtient le nom du titre du graphique.
- GetLegendDecreaseName : Obtient le nom de la diminution pour la légende.
- GetLegendIncreaseName : Obtient le nom de l’augmentation pour la légende.
- GetLegendTotalName : Obtient le nom du total pour la légende.
- GetOtherName : Obtient le nom des étiquettes “Autre” pour le graphique.
- GetSeriesName : Obtient le nom des séries dans le graphique.
Traduction personnalisée
Voici, nous allons créer un graphique en cascade basé sur les données suivantes. Les noms des composants du graphique seront affichés en anglais dans le graphique. Nous utiliserons un exemple de langue turque pour montrer comment afficher le titre du graphique, les noms d’augmentation/diminution de la légende, le nom total et le titre de l’axe en turc.
Code d’exemple
Le code d’exemple suivant charge le fichier Excel d’exemple.
//Create a custom language class for chart component,here take Turkey for example, | |
//which will translate the chart element to specific language | |
public class TurkeyChartGlobalizationSettings : ChartGlobalizationSettings | |
{ | |
public override string GetChartTitleName() | |
{ | |
return "Grafik Başlığı";//Chart Title | |
} | |
public override string GetLegendIncreaseName() | |
{ | |
return "Artış";//Increase | |
} | |
public override string GetLegendDecreaseName() | |
{ | |
return "Düşüş";//Decrease; | |
} | |
public override string GetLegendTotalName() | |
{ | |
return "Toplam";//Total | |
} | |
public override string GetAxisTitleName() | |
{ | |
return "Eksen Başlığı";//Axis Title | |
} | |
} | |
public static void ChartGlobalizationSettingsTest() | |
{ | |
//Create an instance of existing Workbook | |
string pathName = "input.xlsx"; | |
Workbook workbook = new Workbook(pathName); | |
//Set custom chartGlobalizationSettings, here is TurkeyChartGlobalizationSettings | |
workbook.Settings.GlobalizationSettings.ChartSettings = new TurkeyChartGlobalizationSettings(); | |
//Get the worksheet | |
Worksheet worksheet = workbook.Worksheets[0]; | |
ChartCollection chartCollection = worksheet.Charts; | |
//Load the chart from source worksheet | |
Chart chart = chartCollection[0]; | |
//Chart Calculate | |
chart.Calculate(); | |
//Get the chart title | |
Title title = chart.Title; | |
//Output the name of the Chart title | |
Console.WriteLine("\nWorkbook chart title: " + title.Text); | |
string[] legendEntriesLabels = chart.Legend.GetLegendLabels(); | |
//Output the name of the Legend | |
for (int i = 0; i < legendEntriesLabels.Length; i++) | |
{ | |
Console.WriteLine("\nWorkbook chart legend: " + legendEntriesLabels[i]); | |
} | |
//Output the name of the Axis title | |
Title categoryAxisTitle = chart.CategoryAxis.Title; | |
Console.WriteLine("\nWorkbook category axis tile: " + categoryAxisTitle.Text); | |
} |
Sortie générée par le code d’exemple
Il s’agit de la sortie de la console du code d’exemple ci-dessus.
Workbook chart title: Grafik Başlığı
Workbook chart legend: Artış
Workbook chart legend: Düşüş
Workbook chart legend: Toplam
Workbook category axis tile: Eksen Başlığı