Using ChartGlobalizationSettings Class to Set Different Language for Chart Component with Node.js via C++
Possible Usage Scenarios
Aspose.Cells APIs have exposed the ChartGlobalizationSettings class in order to deal with the scenarios where the user wishes to set chart component to different languages and custom labels for Subtotals in a spreadsheet.
Introduction to ChartGlobalizationSettings Class
The ChartGlobalizationSettings class currently offers the following 8 methods which can be overridden in a custom class to translate such as AxisTitle name, AxisUnit name, ChartTitle name, and so on to different languages.
- ChartGlobalizationSettings.getAxisTitleName(): Gets the name of Title for Axis.
- ChartGlobalizationSettings.getAxisUnitName(DisplayUnitType): Gets the Name of Axis Unit.
- ChartGlobalizationSettings.getChartTitleName(): Gets the name of Chart Title.
- ChartGlobalizationSettings.getLegendDecreaseName(): Gets the name of Decrease for Legend.
- ChartGlobalizationSettings.getLegendIncreaseName(): Gets the name of Increase for Legend.
- ChartGlobalizationSettings.getLegendTotalName(): Gets the name of Total for Legend.
- ChartGlobalizationSettings.getOtherName(): Gets the name of “Other” labels for Chart.
- ChartGlobalizationSettings.getSeriesName(): Gets the name of Series in the Chart.
Custom language translation
Here, we will create a waterfall chart based on the following data. The names of chart components will be displayed in English in the chart. We will use a Turkish language example to show how to display the Chart Title, Legend Increase/Decrease names, Total name, and Axis Title in Turkish.
Sample Code
The following sample code loads the sample Excel file.
try {
const path = require("path");
const AsposeCells = require("aspose.cells.node");
class TurkeyChartGlobalizationSettings extends AsposeCells.ChartGlobalizationSettings {
getChartTitleName() {
return "Grafik Başlığı"; // Chart Title
}
getLegendIncreaseName() {
return "Artış"; // Increase
}
getLegendDecreaseName() {
return "Düşüş"; // Decrease
}
getLegendTotalName() {
return "Toplam"; // Total
}
getAxisTitleName() {
return "Eksen Başlığı"; // Axis Title
}
}
async function chartGlobalizationSettingsTest() {
// Create an instance of existing Workbook
const dataDir = path.join(__dirname, "data");
const pathName = path.join(dataDir, "input.xlsx");
const workbook = new AsposeCells.Workbook(pathName);
// Set custom chartGlobalizationSettings, here is TurkeyChartGlobalizationSettings
workbook.getSettings().getGlobalizationSettings().setChartSettings(new TurkeyChartGlobalizationSettings());
// Get the worksheet
const worksheet = workbook.getWorksheets().get(0);
const chartCollection = worksheet.getCharts();
// Load the chart from source worksheet
const chart = chartCollection.get(0);
// Chart Calculate
chart.calculate();
// Get the chart title
const title = chart.getTitle();
console.log("\nWorkbook chart title: " + title.getText());
const legendEntriesLabels = chart.getLegend().getLegendLabels();
// Output the name of the Legend
legendEntriesLabels.forEach(label => {
console.log("\nWorkbook chart legend: " + label);
Output generated by the sample code
This is the console output of the above sample code.
Workbook chart title: Grafik Başlığı
Workbook chart legend: Artış
Workbook chart legend: Düşüş
Workbook chart legend: Toplam
Workbook category axis title: Eksen Başlığı