Utilizzare la classe ChartGlobalizationSettings per impostare una lingua diversa per il componente del grafico

Possibili Scenari di Utilizzo

Le API di Aspose.Cells hanno esposto la classe ChartGlobalizationSettings per gestire gli scenari in cui l’utente desidera impostare un componente del grafico in una lingua diversa, etichette personalizzate per i subtotali in un foglio di calcolo.

Introduzione alla classe ChartGlobalizationSettings

La classe ChartGlobalizationSettings attualmente offre i seguenti 8 metodi che possono essere sovrascritti in una classe personalizzata per tradurre il nome di ElementoTitolo asse, nome di UnitàAsse, nome di TitoloGrafico e così via in una lingua diversa.

  1. GetAxisTitleName: Ottiene il nome del Titolo per l’Asse.
  2. GetAxisUnitName: Ottiene il Nome dell’Unità di Asse.
  3. GetChartTitleName: Ottiene il nome del Titolo del Grafico.
  4. GetLegendDecreaseName: Ottiene il nome di Diminuzione per la Leggenda.
  5. GetLegendIncreaseName: Ottiene il nome di aumento per la Leggenda.
  6. GetLegendTotalName: Ottiene il nome di Totale per la Leggenda.
  7. GetOtherName: Ottiene il nome delle etichette “Altro” per il Grafico.
  8. GetSeriesName: Ottiene il nome di Serie nel Grafico.

Traduzione personalizzata

Qui, creeremo un grafico a barre basato sui seguenti dati. I nomi dei componenti del grafico verranno visualizzati in inglese nel grafico. Useremo un esempio in lingua turca per mostrare come visualizzare il Titolo del Grafico, i nomi di Aumento/Diminuzione della Leggenda, il nome Totale e il Titolo dell’Asse in turco.

todo:image_alt_text

Codice di Esempio

Il seguente codice di esempio carica il file Excel di esempio.

//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);
}

Output generato dal codice di esempio

Questo è l’output console del codice di esempio precedente.

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