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.

  1. GetAxisTitleName : Obtient le nom du titre de l’axe.
  2. GetAxisUnitName : Obtient le nom de l’unité d’axe.
  3. GetChartTitleName : Obtient le nom du titre du graphique.
  4. GetLegendDecreaseName : Obtient le nom de la diminution pour la légende.
  5. GetLegendIncreaseName : Obtient le nom de l’augmentation pour la légende.
  6. GetLegendTotalName : Obtient le nom du total pour la légende.
  7. GetOtherName : Obtient le nom des étiquettes “Autre” pour le graphique.
  8. 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.

todo:image_alt_text

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ığı