استخدام فئة ChartGlobalizationSettings لتعيين لغة مختلفة لمكون الرسم البياني مع C++
سيناريوهات الاستخدام المحتملة
قد قامت واجهات برمجة التطبيقات Aspose.Cells بفتح فئة ChartGlobalizationSettings للتعامل مع السيناريوهات التي يرغب المستخدم في تعيين عنصر رسم بياني إلى لغة مختلفة وتخصيص التسميات المخصصة للمجموعات الفرعية في جدول بيانات.
مقدمة في فئة ChartGlobalizationSettings
تقدم فئة ChartGlobalizationSettings حاليًا الطرق التالية الثمانية التي يمكن تجاوزها في فئة مخصصة لترجمة مثل اسم AxisTitle، واسم AxisUnit، واسم ChartTitle، وما إلى ذلك إلى لغات مختلفة.
- GetAxisTitleName: يحصل على اسم العنوان للمحور.
- GetAxisUnitName: يحصل على اسم وحدة المحور.
- GetChartTitleName: يحصل على اسم عنوان الرسم البياني.
- GetLegendDecreaseName: يحصل على اسم الانخفاض لوحة التفسير.
- GetLegendIncreaseName: يحصل على اسم الزيادة لوحة التفسير.
- GetLegendTotalName: يحصل على اسم الإجمالي لوحة التفسير.
- GetOtherName: يحصل على اسم تسميات “أخرى” للرسم البياني.
- GetSeriesName: يحصل على اسم السلاسل في الرسم البياني.
ترجمة لغة مخصصة
هنا، سنقوم بإنشاء رسم بياني شلالي استنادًا إلى البيانات التالية. سيتم عرض أسماء مكونات الرسم البياني باللغة الإنجليزية في الرسم البياني. سنستخدم مثال باللغة التركية لنريك كيفية عرض عنوان الرسم البياني وأسماء زيادة/انخفاض لوحة التفسير واسم الإجمالي وعنوان المحور باللغة التركية.
الكود المثالي
يقوم الكود العيني التالي بتحميل ملف Excel العيني.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace Aspose::Cells::Charts;
class TurkeyChartGlobalizationSettings : public ChartGlobalizationSettings
{
public:
TurkeyChartGlobalizationSettings() : ChartGlobalizationSettings() {}
U16String GetChartTitleName() override
{
return u"Grafik Başlığı"; // Chart Title
}
U16String GetLegendIncreaseName() override
{
return u"Artış"; // Increase
}
U16String GetLegendDecreaseName() override
{
return u"Düşüş"; // Decrease
}
U16String GetLegendTotalName() override
{
return u"Toplam"; // Total
}
U16String GetAxisTitleName() override
{
return u"Eksen Başlığı"; // Axis Title
}
};
void ChartGlobalizationSettingsTest()
{
// Create an instance of existing Workbook
U16String pathName = u"input.xlsx";
Workbook workbook(pathName);
// Set custom chartGlobalizationSettings, here is TurkeyChartGlobalizationSettings
TurkeyChartGlobalizationSettings* globalizationSettings = new TurkeyChartGlobalizationSettings();
workbook.GetSettings().GetGlobalizationSettings()->SetChartSettings(globalizationSettings);
// Get the worksheet
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Load the chart from source worksheet
ChartCollection chartCollection = worksheet.GetCharts();
Chart chart = chartCollection.Get(0);
// Chart Calculate
chart.Calculate();
// Get the chart title
Title title = chart.GetTitle();
// Output the name of the Chart title
std::cout << "\nWorkbook chart title: " << title.GetText().ToUtf8() << std::endl;
// Get the legend labels
Vector<U16String> legendEntriesLabels = chart.GetLegend().GetLegendLabels();
// Output the name of the Legend
for (int i = 0; i < legendEntriesLabels.GetLength(); i++)
{
std::cout << "\nWorkbook chart legend: " << legendEntriesLabels[i].ToUtf8() << std::endl;
}
// Output the name of the Axis title
Title categoryAxisTitle = chart.GetCategoryAxis().GetTitle();
std::cout << "\nWorkbook category axis title: " << categoryAxisTitle.GetText().ToUtf8() << std::endl;
delete globalizationSettings;
}
int main()
{
Aspose::Cells::Startup();
ChartGlobalizationSettingsTest();
Aspose::Cells::Cleanup();
return 0;
}
الإخراج الذي تم توليده بواسطة رمز العينة
هذا هو إنتاج الكونسول للكود العيني أعلاه.
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ığı