From dab258f3f06274b5dd4f34935ac191cd0c411152 Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Mon, 24 Feb 2020 10:27:22 -0800 Subject: [PATCH 01/76] share image (#1039) --- .../Views/GraphingCalculator/GraphingCalculator.xaml.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp index 84703320e..b68c1702f 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp @@ -316,6 +316,7 @@ void GraphingCalculator::OnDataRequested(DataTransferManager ^ sender, DataReque auto bitmapStream = GraphingControl->GetGraphBitmapStream(); requestData->ResourceMap->Insert(ref new String(L"graph.png"), bitmapStream); + requestData->SetBitmap(bitmapStream); // Set the thumbnail image (in case the share target can't handle HTML) requestData->Properties->Thumbnail = bitmapStream; From c0cb14a8e866566c9f5cd98cae050f8adc08ba89 Mon Sep 17 00:00:00 2001 From: Rudy Huyn Date: Tue, 25 Feb 2020 16:34:18 -0800 Subject: [PATCH 02/76] Make unit converters stil working when users opened 'Currency' in offline mode (#1022) --- src/CalcViewModel/UnitConverterViewModel.cpp | 3 -- src/CalcViewModel/UnitConverterViewModel.h | 25 ++++++++++++-- src/Calculator/Views/UnitConverter.xaml | 34 ++++++++------------ src/Calculator/Views/UnitConverter.xaml.cpp | 21 +++++++----- 4 files changed, 48 insertions(+), 35 deletions(-) diff --git a/src/CalcViewModel/UnitConverterViewModel.cpp b/src/CalcViewModel/UnitConverterViewModel.cpp index ff77cd770..3b46d9aba 100644 --- a/src/CalcViewModel/UnitConverterViewModel.cpp +++ b/src/CalcViewModel/UnitConverterViewModel.cpp @@ -171,9 +171,6 @@ void UnitConverterViewModel::OnCategoryChanged(Object ^ parameter) void UnitConverterViewModel::ResetCategory() { - UCM::Category currentCategory = CurrentCategory->GetModelCategory(); - IsCurrencyCurrentCategory = currentCategory.id == NavCategory::Serialize(ViewMode::Currency); - m_isInputBlocked = false; SetSelectedUnits(); diff --git a/src/CalcViewModel/UnitConverterViewModel.h b/src/CalcViewModel/UnitConverterViewModel.h index 5891f037c..1f95a47a0 100644 --- a/src/CalcViewModel/UnitConverterViewModel.h +++ b/src/CalcViewModel/UnitConverterViewModel.h @@ -143,7 +143,6 @@ namespace CalculatorApp OBSERVABLE_OBJECT_CALLBACK(OnPropertyChanged); OBSERVABLE_PROPERTY_R(Windows::Foundation::Collections::IObservableVector ^, Categories); - OBSERVABLE_PROPERTY_RW(Category ^, CurrentCategory); OBSERVABLE_PROPERTY_RW(CalculatorApp::Common::ViewMode, Mode); OBSERVABLE_PROPERTY_R(Windows::Foundation::Collections::IObservableVector ^, Units); OBSERVABLE_PROPERTY_RW(Platform::String ^, CurrencySymbol1); @@ -164,7 +163,7 @@ namespace CalculatorApp OBSERVABLE_PROPERTY_RW(bool, IsDropDownOpen); OBSERVABLE_PROPERTY_RW(bool, IsDropDownEnabled); OBSERVABLE_NAMED_PROPERTY_RW(bool, IsCurrencyLoadingVisible); - OBSERVABLE_PROPERTY_RW(bool, IsCurrencyCurrentCategory); + OBSERVABLE_NAMED_PROPERTY_R(bool, IsCurrencyCurrentCategory); OBSERVABLE_PROPERTY_RW(Platform::String ^, CurrencyRatioEquality); OBSERVABLE_PROPERTY_RW(Platform::String ^, CurrencyRatioEqualityAutomationName); OBSERVABLE_PROPERTY_RW(Platform::String ^, CurrencyTimestamp); @@ -172,6 +171,26 @@ namespace CalculatorApp OBSERVABLE_NAMED_PROPERTY_RW(bool, CurrencyDataLoadFailed); OBSERVABLE_NAMED_PROPERTY_RW(bool, CurrencyDataIsWeekOld); + public: + property Category ^ CurrentCategory + { + Category ^ get() { return m_CurrentCategory; } + void set(Category ^ value) + { + if (m_CurrentCategory == value) + { + return; + } + m_CurrentCategory = value; + if (value != nullptr) + { + auto currentCategory = value->GetModelCategory(); + IsCurrencyCurrentCategory = currentCategory.id == CalculatorApp::Common::NavCategory::Serialize(CalculatorApp::Common::ViewMode::Currency); + } + OnPropertyChanged("CurrentCategory"); + } + } + property Windows::UI::Xaml::Visibility SupplementaryVisibility { Windows::UI::Xaml::Visibility get() @@ -321,7 +340,7 @@ namespace CalculatorApp std::wstring m_lastAnnouncedFrom; std::wstring m_lastAnnouncedTo; Platform::String ^ m_lastAnnouncedConversionResult; - + Category ^ m_CurrentCategory; bool m_isCurrencyDataLoaded; }; diff --git a/src/Calculator/Views/UnitConverter.xaml b/src/Calculator/Views/UnitConverter.xaml index 21c64034a..60fd72485 100644 --- a/src/Calculator/Views/UnitConverter.xaml +++ b/src/Calculator/Views/UnitConverter.xaml @@ -32,11 +32,13 @@ TextWrapping="NoWrap"/> - + + + @@ -440,9 +442,9 @@ - + - + @@ -489,7 +491,7 @@ - + @@ -500,17 +502,7 @@ - - - - - - - - - - - + @@ -576,12 +568,12 @@ DropDownClosed="UpdateDropDownState" DropDownOpened="UpdateDropDownState" FlowDirection="{x:Bind LayoutDirection}" - IsEnabled="{Binding IsDropDownEnabled}" IsEnabledChanged="Units1_IsEnabledChanged" ItemTemplate="{StaticResource UnitTemplate}" ItemsSource="{Binding Units, Converter={StaticResource AlwaysSelectedConverter}}" SelectedItem="{Binding Unit1, Mode=TwoWay, Converter={StaticResource ValidSelectedItemConverter}}" - TabIndex="2"/> + TabIndex="2" + IsEnabled="{Binding IsDropDownEnabled}"/> + TabIndex="4" + IsEnabled="{Binding IsDropDownEnabled}"/> IsCurrencyLoadingVisible) + if (!Model->IsCurrencyCurrentCategory) { - VisualStateManager::GoToState(this, L"CurrencyLoadingState", false); - StartProgressRingWithDelay(); + VisualStateManager::GoToState(this, UnitLoadedState->Name, false); } else { - HideProgressRing(); - - if (Model->IsCurrencyCurrentCategory && !Model->CurrencyTimestamp->IsEmpty()) + if (Model->IsCurrencyLoadingVisible) + { + VisualStateManager::GoToState(this, UnitNotLoadedState->Name, false); + StartProgressRingWithDelay(); + } + else { - VisualStateManager::GoToState(this, L"CurrencyLoadedState", true); + HideProgressRing(); + VisualStateManager::GoToState(this, !Model->CurrencyTimestamp->IsEmpty() ? UnitLoadedState->Name : UnitNotLoadedState->Name, true); } } } From 1f56b4946d4bacd5f5d9baf69edfa2e340bc7d11 Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Wed, 26 Feb 2020 13:28:30 -0800 Subject: [PATCH 03/76] Delay loading some unused UI elements (#1042) * unload * pr fixes --- .../GraphingCalculator/EquationInputArea.xaml | 12 ++--- .../EquationInputArea.xaml.cpp | 5 +++ .../EquationInputArea.xaml.h | 1 + .../GraphingCalculator.xaml | 12 ++--- .../GraphingCalculator.xaml.cpp | 44 +++++++++++++------ .../GraphingCalculator.xaml.h | 6 +-- 6 files changed, 50 insertions(+), 30 deletions(-) diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml index 981b776b4..d2b1526ef 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml @@ -393,8 +393,7 @@ MinHeight="44" VerticalAlignment="Stretch"> - - + @@ -813,12 +810,11 @@ - + - diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp index 8dd897b93..7f981de36 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp @@ -386,6 +386,11 @@ ::Visibility EquationInputArea::ManageEditVariablesButtonVisibility(unsigned int return numberOfVariables == 0 ? ::Visibility::Collapsed : ::Visibility::Visible; } +bool EquationInputArea::ManageEditVariablesButtonLoaded(unsigned int numberOfVariables) +{ + return numberOfVariables != 0; +} + String ^ EquationInputArea::GetChevronIcon(bool isCollapsed) { return isCollapsed ? L"\uE70E" : L"\uE70D"; diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h index 099f36102..20805f9e6 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h @@ -29,6 +29,7 @@ namespace CalculatorApp public: static Windows::UI::Xaml::Visibility ManageEditVariablesButtonVisibility(unsigned int numberOfVariables); + static bool EquationInputArea::ManageEditVariablesButtonLoaded(unsigned int numberOfVariables); static Platform::String ^ GetChevronIcon(bool isCollapsed); diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml index 7ea25cdb9..65df7c3ab 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml @@ -378,9 +378,9 @@ - + - + @@ -428,7 +428,6 @@ @@ -501,8 +500,7 @@ Glyph=""/> - - + Key = (VirtualKey)187; // OemAdd key virtualKey->Modifiers = VirtualKeyModifiers::Control; ZoomInButton->KeyboardAccelerators->Append(virtualKey); - - // add shadow to the trace pointer - AddTracePointerShadow(); - // hide the shadow in high contrast mode - CursorShadow->Visibility = m_accessibilitySettings->HighContrast ? ::Visibility::Collapsed : ::Visibility::Visible; - m_accessibilitySettings->HighContrastChanged += - ref new TypedEventHandler(this, &GraphingCalculator::OnHighContrastChanged); } void GraphingCalculator::OnShowTracePopupChanged(bool newValue) @@ -193,9 +186,12 @@ void GraphingCalculator::OnTracePointChanged(Point newPoint) void CalculatorApp::GraphingCalculator::OnPointerPointChanged(Windows::Foundation::Point newPoint) { - // Move the pointer glyph to where it is supposed to be. - Canvas::SetLeft(TracePointer, newPoint.X); - Canvas::SetTop(TracePointer, newPoint.Y); + if (TracePointer != nullptr) + { + // Move the pointer glyph to where it is supposed to be. + Canvas::SetLeft(TracePointer, newPoint.X); + Canvas::SetTop(TracePointer, newPoint.Y); + } } GraphingCalculatorViewModel ^ GraphingCalculator::ViewModel::get() @@ -494,6 +490,25 @@ ::Visibility GraphingCalculator::ManageEditVariablesButtonVisibility(unsigned in void CalculatorApp::GraphingCalculator::ActiveTracing_Checked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e) { + if (!m_cursorShadowInitialized) + { + this->FindName(L"TraceCanvas"); + + // add shadow to the trace pointer + AddTracePointerShadow(); + + // hide the shadow in high contrast mode + CursorShadow->Visibility = m_accessibilitySettings->HighContrast ? ::Visibility::Collapsed : ::Visibility::Visible; + + m_accessibilitySettings->HighContrastChanged += + ref new TypedEventHandler(this, &GraphingCalculator::OnHighContrastChanged); + + Canvas::SetLeft(TracePointer, TraceCanvas->ActualWidth / 2 + 40); + Canvas::SetTop(TracePointer, TraceCanvas->ActualHeight / 2 - 40); + + m_cursorShadowInitialized = true; + } + FocusManager::TryFocusAsync(GraphingControl, ::FocusState::Programmatic); m_activeTracingKeyUpToken = Window::Current->CoreWindow->KeyUp += @@ -569,11 +584,14 @@ void GraphingCalculator::OnSettingsFlyout_Closing(FlyoutBase ^ sender, FlyoutBas args->Cancel = graphingSetting->CanBeClose(); } -void GraphingCalculator::LeftGrid_SizeChanged(Object ^ /*sender*/, SizeChangedEventArgs ^ e) +void GraphingCalculator::Canvas_SizeChanged(Object ^ /*sender*/, SizeChangedEventArgs ^ e) { // Initialize the pointer to the correct location to match initial value in GraphControl\DirectX\RenderMain.cpp - Canvas::SetLeft(TracePointer, e->NewSize.Width / 2 + 40); - Canvas::SetTop(TracePointer, e->NewSize.Height / 2 - 40); + if (TracePointer != nullptr) + { + Canvas::SetLeft(TracePointer, e->NewSize.Width / 2 + 40); + Canvas::SetTop(TracePointer, e->NewSize.Height / 2 - 40); + } } void GraphingCalculator::OnHighContrastChanged(AccessibilitySettings ^ sender, Object ^ /*args*/) diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h index 38f76aaac..2960daa1b 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h @@ -86,9 +86,9 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo Windows::Foundation::EventRegistrationToken m_ActiveTracingPointerCaptureLost; CalculatorApp::ViewModel::GraphingCalculatorViewModel ^ m_viewModel; Windows::UI::ViewManagement::AccessibilitySettings ^ m_accessibilitySettings; - void - OnSettingsFlyout_Closing(Windows::UI::Xaml::Controls::Primitives::FlyoutBase ^ sender, Windows::UI::Xaml::Controls::Primitives::FlyoutBaseClosingEventArgs ^ args); - void LeftGrid_SizeChanged(Platform::Object ^ sender, Windows::UI::Xaml::SizeChangedEventArgs ^ e); + bool m_cursorShadowInitialized; + void OnSettingsFlyout_Closing(Windows::UI::Xaml::Controls::Primitives::FlyoutBase ^ sender, Windows::UI::Xaml::Controls::Primitives::FlyoutBaseClosingEventArgs ^ args); + void Canvas_SizeChanged(Platform::Object ^ sender, Windows::UI::Xaml::SizeChangedEventArgs ^ e); void OnHighContrastChanged(Windows::UI::ViewManagement::AccessibilitySettings ^ sender, Platform::Object ^ args); void OnEquationFormatRequested(Platform::Object ^ sender, CalculatorApp::Controls::MathRichEditBoxFormatRequest ^ e); }; From 0c8d6dd83cbad201fa4719a2ab042dd9202c179a Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Wed, 26 Feb 2020 16:21:38 -0800 Subject: [PATCH 04/76] Fix usability issues with settings flyout (#1049) * various settings fixes * PR fixes --- .../GraphingSettingsViewModel.cpp | 66 +------------------ .../GraphingSettingsViewModel.h | 10 +-- .../GraphingCalculator.xaml | 2 +- .../GraphingCalculator.xaml.cpp | 1 - .../GraphingSettings.xaml.cpp | 31 --------- .../GraphingSettings.xaml.h | 1 - 6 files changed, 8 insertions(+), 103 deletions(-) diff --git a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp index c261890cd..02b918916 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp +++ b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp @@ -20,7 +20,7 @@ GraphingSettingsViewModel::GraphingSettingsViewModel() , m_XMaxError(false) , m_YMinError(false) , m_YMaxError(false) - , m_dontUpdateDisplayRange(false) + , m_dontUpdateDisplayRange() , m_XIsMinLastChanged(true) , m_YIsMinLastChanged(true) { @@ -71,75 +71,13 @@ void GraphingSettingsViewModel::InitRanges() m_dontUpdateDisplayRange = false; } -void GraphingSettingsViewModel::UpdateDisplayRange(bool XValuesModified) +void GraphingSettingsViewModel::UpdateDisplayRange() { if (m_Graph == nullptr || m_dontUpdateDisplayRange || HasError()) { return; } - if (m_Graph->ForceProportionalAxes) - { - // If ForceProportionalAxes is set, the graph will try to automatically adjust ranges to remain proportional. - // but without a logic to choose which values can be modified or not. - // To solve this problem, we calculate the new ranges here, taking care to not modify the current axis and - // modifying only the least recently updated value of the other axis. - - if (XValuesModified) - { - if (m_YIsMinLastChanged) - { - auto yMaxValue = m_YMinValue + (m_XMaxValue - m_XMinValue) * m_Graph->ActualHeight / m_Graph->ActualWidth; - if (m_YMaxValue != yMaxValue) - { - m_YMaxValue = yMaxValue; - auto valueStr = to_wstring(m_YMaxValue); - TrimTrailingZeros(valueStr); - m_YMax = ref new String(valueStr.c_str()); - RaisePropertyChanged("YMax"); - } - } - else - { - auto yMinValue = m_YMaxValue - (m_XMaxValue - m_XMinValue) * m_Graph->ActualHeight / m_Graph->ActualWidth; - if (m_YMinValue != yMinValue) - { - m_YMinValue = yMinValue; - auto valueStr = to_wstring(m_YMinValue); - TrimTrailingZeros(valueStr); - m_YMin = ref new String(valueStr.c_str()); - RaisePropertyChanged("YMin"); - } - } - } - else - { - if (m_XIsMinLastChanged) - { - auto xMaxValue = m_XMinValue + (m_YMaxValue - m_YMinValue) * m_Graph->ActualWidth / m_Graph->ActualHeight; - if (m_XMaxValue != xMaxValue) - { - m_XMaxValue = xMaxValue; - auto valueStr = to_wstring(m_XMaxValue); - TrimTrailingZeros(valueStr); - m_XMax = ref new String(valueStr.c_str()); - RaisePropertyChanged("XMax"); - } - } - else - { - auto xMinValue = m_XMaxValue - (m_YMaxValue - m_YMinValue) * m_Graph->ActualWidth / m_Graph->ActualHeight; - if (m_XMinValue != xMinValue) - { - m_XMinValue = xMinValue; - auto valueStr = to_wstring(m_XMinValue); - TrimTrailingZeros(valueStr); - m_XMin = ref new String(valueStr.c_str()); - RaisePropertyChanged("XMin"); - } - } - } - } m_Graph->SetDisplayRanges(m_XMinValue, m_XMaxValue, m_YMinValue, m_YMaxValue); } diff --git a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h index ed250bebd..a16facd95 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h @@ -71,7 +71,7 @@ namespace CalculatorApp::ViewModel } RaisePropertyChanged("XError"); RaisePropertyChanged("XMin"); - UpdateDisplayRange(true); + UpdateDisplayRange(); } } @@ -112,7 +112,7 @@ namespace CalculatorApp::ViewModel } RaisePropertyChanged("XError"); RaisePropertyChanged("XMax"); - UpdateDisplayRange(true); + UpdateDisplayRange(); } } @@ -153,7 +153,7 @@ namespace CalculatorApp::ViewModel } RaisePropertyChanged("YError"); RaisePropertyChanged("YMin"); - UpdateDisplayRange(false); + UpdateDisplayRange(); } } @@ -194,7 +194,7 @@ namespace CalculatorApp::ViewModel } RaisePropertyChanged("YError"); RaisePropertyChanged("YMax"); - UpdateDisplayRange(false); + UpdateDisplayRange(); } } @@ -270,7 +270,7 @@ namespace CalculatorApp::ViewModel } public: - void UpdateDisplayRange(bool XValuesModified); + void UpdateDisplayRange(); public: void SetGrapher(GraphControl::Grapher ^ grapher); diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml index 65df7c3ab..bf6fea21a 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml @@ -471,7 +471,7 @@ (sender); auto graphingSetting = static_cast(flyout->Content); - args->Cancel = graphingSetting->CanBeClose(); } void GraphingCalculator::Canvas_SizeChanged(Object ^ /*sender*/, SizeChangedEventArgs ^ e) diff --git a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp index c1ee621e4..e023bea22 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp @@ -57,37 +57,6 @@ void GraphingSettings::GridSettingsTextBox_PreviewKeyDown(Platform::Object ^ sen } } -bool GraphingSettings::CanBeClose() -{ - auto focusedElement = FocusManager::GetFocusedElement(); - - // Move focus so we are sure all values are in sync with the VM - if (focusedElement != nullptr) - { - if (focusedElement->Equals(SettingsXMin)) - { - auto textbox = static_cast(focusedElement); - ViewModel->XMin = textbox->Text; - } - else if (focusedElement->Equals(SettingsXMax)) - { - auto textbox = static_cast(focusedElement); - ViewModel->XMax = textbox->Text; - } - else if (focusedElement->Equals(SettingsYMin)) - { - auto textbox = static_cast(focusedElement); - ViewModel->YMin = textbox->Text; - } - else if (focusedElement->Equals(SettingsYMax)) - { - auto textbox = static_cast(focusedElement); - ViewModel->YMax = textbox->Text; - } - } - return ViewModel != nullptr && ViewModel->HasError(); -} - void GraphingSettings::RefreshRanges() { ViewModel->InitRanges(); diff --git a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h index e726b4fa9..0b31146c1 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h @@ -20,7 +20,6 @@ namespace CalculatorApp PROPERTY_R(CalculatorApp::ViewModel::GraphingSettingsViewModel ^, ViewModel); Windows::UI::Xaml::Style ^ SelectTextBoxStyle(bool incorrectRange, bool error); void SetGrapher(GraphControl::Grapher ^ grapher); - bool CanBeClose(); void RefreshRanges(); private: void GridSettingsTextBox_PreviewKeyDown(Platform::Object ^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs ^ e); From f97c084a671bf9f718915ee770d41ed9abc65c25 Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Thu, 27 Feb 2020 11:54:29 -0800 Subject: [PATCH 05/76] Fix some accessibility bugs (#1047) * Fix accessibility bugs * style fix --- src/Calculator/Controls/EquationTextBox.cpp | 14 ++++++++++---- src/Calculator/Resources/en-US/Resources.resw | 16 ++++++++-------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/Calculator/Controls/EquationTextBox.cpp b/src/Calculator/Controls/EquationTextBox.cpp index a5d6d69b9..759ce71ec 100644 --- a/src/Calculator/Controls/EquationTextBox.cpp +++ b/src/Calculator/Controls/EquationTextBox.cpp @@ -62,8 +62,11 @@ void EquationTextBox::OnApplyTemplate() m_equationButton->Click += ref new RoutedEventHandler(this, &EquationTextBox::OnEquationButtonClicked); auto toolTip = ref new ToolTip(); - auto equationButtonMessage = m_equationButton->IsChecked->Value ? resProvider->GetResourceString(L"showEquationButtonToolTip") - : resProvider->GetResourceString(L"hideEquationButtonToolTip"); + + auto equationButtonMessage = LocalizationStringUtil::GetLocalizedString( + m_equationButton->IsChecked->Value ? resProvider->GetResourceString(L"showEquationButtonToolTip") + : resProvider->GetResourceString(L"hideEquationButtonToolTip")); + toolTip->Content = equationButtonMessage; ToolTipService::SetToolTip(m_equationButton, toolTip); AutomationProperties::SetName(m_equationButton, equationButtonMessage); @@ -202,8 +205,11 @@ void EquationTextBox::OnEquationButtonClicked(Object ^ sender, RoutedEventArgs ^ auto toolTip = ref new ToolTip(); auto resProvider = AppResourceProvider::GetInstance(); - auto equationButtonMessage = m_equationButton->IsChecked->Value ? resProvider->GetResourceString(L"showEquationButtonToolTip") - : resProvider->GetResourceString(L"hideEquationButtonToolTip"); + + auto equationButtonMessage = LocalizationStringUtil::GetLocalizedString( + m_equationButton->IsChecked->Value ? resProvider->GetResourceString(L"showEquationButtonToolTip") + : resProvider->GetResourceString(L"hideEquationButtonToolTip")); + toolTip->Content = equationButtonMessage; ToolTipService::SetToolTip(m_equationButton, toolTip); AutomationProperties::SetName(m_equationButton, equationButtonMessage); diff --git a/src/Calculator/Resources/en-US/Resources.resw b/src/Calculator/Resources/en-US/Resources.resw index 4e9d2df3f..e6a3580fe 100644 --- a/src/Calculator/Resources/en-US/Resources.resw +++ b/src/Calculator/Resources/en-US/Resources.resw @@ -3876,7 +3876,7 @@ {Locked}This is the shortcut for the zoom reset button. - Reset View + Reset View (Ctrl + 0) This is the tool tip automation name for the Calculator zoom reset button. @@ -3884,7 +3884,7 @@ Screen reader prompt for the reset zoom button. - Zoom In + Zoom In (Ctrl + plus) This is the tool tip automation name for the Calculator zoom in button. @@ -3892,7 +3892,7 @@ Screen reader prompt for the zoom in button. - Zoom Out + Zoom Out (Ctrl + minus) This is the tool tip automation name for the Calculator zoom out button. @@ -4159,12 +4159,12 @@ This is the text for the for the equation style context menu command - Show - This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator + Show equation %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. - Hide - This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator + Hide equation %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. Stop tracing @@ -4258,4 +4258,4 @@ Enter an equation this is the placeholder text used by the textbox to enter an equation - \ No newline at end of file + From 915e0a822045f002177ddeb8ee34ea2c1a8c73f0 Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Thu, 27 Feb 2020 14:28:18 -0800 Subject: [PATCH 06/76] Pass EquationButtonContentIndex for show equation tooltip (#1057) --- src/Calculator/Controls/EquationTextBox.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Calculator/Controls/EquationTextBox.cpp b/src/Calculator/Controls/EquationTextBox.cpp index 759ce71ec..2285fac7b 100644 --- a/src/Calculator/Controls/EquationTextBox.cpp +++ b/src/Calculator/Controls/EquationTextBox.cpp @@ -65,7 +65,7 @@ void EquationTextBox::OnApplyTemplate() auto equationButtonMessage = LocalizationStringUtil::GetLocalizedString( m_equationButton->IsChecked->Value ? resProvider->GetResourceString(L"showEquationButtonToolTip") - : resProvider->GetResourceString(L"hideEquationButtonToolTip")); + : resProvider->GetResourceString(L"hideEquationButtonToolTip"), EquationButtonContentIndex); toolTip->Content = equationButtonMessage; ToolTipService::SetToolTip(m_equationButton, toolTip); @@ -208,7 +208,7 @@ void EquationTextBox::OnEquationButtonClicked(Object ^ sender, RoutedEventArgs ^ auto equationButtonMessage = LocalizationStringUtil::GetLocalizedString( m_equationButton->IsChecked->Value ? resProvider->GetResourceString(L"showEquationButtonToolTip") - : resProvider->GetResourceString(L"hideEquationButtonToolTip")); + : resProvider->GetResourceString(L"hideEquationButtonToolTip"), EquationButtonContentIndex); toolTip->Content = equationButtonMessage; ToolTipService::SetToolTip(m_equationButton, toolTip); From d7e7f46c998efba58a15e5580b98f62ab802a520 Mon Sep 17 00:00:00 2001 From: Stephanie Anderl <46726333+sanderl@users.noreply.github.com> Date: Fri, 28 Feb 2020 09:34:16 -0800 Subject: [PATCH 07/76] Update Analysis after variables change (#1056) * Updated Analyze Equation to set the current value of the variables before analysis * Updated SetGraphArgs to take in a graph parameter and use it in AnalyzeEquation() --- src/GraphControl/Control/Grapher.cpp | 16 ++++++++-------- src/GraphControl/Control/Grapher.h | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/GraphControl/Control/Grapher.cpp b/src/GraphControl/Control/Grapher.cpp index 3a7708081..fd38ef506 100644 --- a/src/GraphControl/Control/Grapher.cpp +++ b/src/GraphControl/Control/Grapher.cpp @@ -199,6 +199,8 @@ namespace GraphControl { if (auto graph = GetGraph(equation)) { + SetGraphArgs(graph); + if (auto analyzer = graph->GetAnalyzer()) { vector equationVector; @@ -300,7 +302,7 @@ namespace GraphControl if (initResult != nullopt) { UpdateGraphOptions(m_graph->GetOptions(), validEqs); - SetGraphArgs(); + SetGraphArgs(m_graph); m_renderMain->Graph = m_graph; @@ -329,7 +331,7 @@ namespace GraphControl if (initResult != nullopt) { UpdateGraphOptions(m_graph->GetOptions(), validEqs); - SetGraphArgs(); + SetGraphArgs(m_graph); m_renderMain->Graph = m_graph; co_await m_renderMain->RunRenderPassAsync(); @@ -366,15 +368,15 @@ namespace GraphControl } } - void Grapher::SetGraphArgs() + void Grapher::SetGraphArgs(shared_ptr graph) { - if (m_graph != nullptr && m_renderMain != nullptr) + if (graph != nullptr && m_renderMain != nullptr) { critical_section::scoped_lock lock(m_renderMain->GetCriticalSection()); for (auto variable : Variables) { - m_graph->SetArgValue(variable->Key->Data(), variable->Value); + graph->SetArgValue(variable->Key->Data(), variable->Value); } } } @@ -443,8 +445,7 @@ namespace GraphControl if (m_graph != nullptr && m_renderMain != nullptr) { - - auto workItemHandler = ref new WorkItemHandler([this, variableName, newValue](IAsyncAction ^ action) { + auto workItemHandler = ref new WorkItemHandler([this, variableName, newValue](IAsyncAction ^ action) { m_renderMain->GetCriticalSection().lock(); m_graph->SetArgValue(variableName->Data(), newValue); m_renderMain->GetCriticalSection().unlock(); @@ -453,7 +454,6 @@ namespace GraphControl }); ThreadPool::RunAsync(workItemHandler, WorkItemPriority::High, WorkItemOptions::None); - } } diff --git a/src/GraphControl/Control/Grapher.h b/src/GraphControl/Control/Grapher.h index 9b00acc2e..facfe8853 100644 --- a/src/GraphControl/Control/Grapher.h +++ b/src/GraphControl/Control/Grapher.h @@ -276,7 +276,7 @@ public concurrency::task TryPlotGraph(bool keepCurrentView, bool shouldRetry); void UpdateGraphOptions(Graphing::IGraphingOptions& options, const std::vector& validEqs); std::vector GetGraphableEquations(); - void SetGraphArgs(); + void SetGraphArgs(std::shared_ptr graph); std::shared_ptr GetGraph(GraphControl::Equation ^ equation); void UpdateVariables(); From dbc3dc5abbcfbdf92a772ba6d0fa4d13d1a7dc7e Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Tue, 3 Mar 2020 10:52:48 -0800 Subject: [PATCH 08/76] Handle focus for clear and clearentry buttons (#896) --- .../CalculatorProgrammerRadixOperators.xaml | 2 ++ ...alculatorProgrammerRadixOperators.xaml.cpp | 21 +++++++++++++++++-- .../CalculatorProgrammerRadixOperators.xaml.h | 2 ++ .../Views/CalculatorScientificOperators.xaml | 4 +++- .../CalculatorScientificOperators.xaml.cpp | 16 ++++++++++++++ .../CalculatorScientificOperators.xaml.h | 2 ++ 6 files changed, 44 insertions(+), 3 deletions(-) diff --git a/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml b/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml index ce4f5986e..cfcca6542 100644 --- a/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml +++ b/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml @@ -475,6 +475,7 @@ AutomationProperties.AutomationId="clearButton" ButtonId="Clear" Content="C" + LostFocus="ClearButton_LostFocus" Visibility="{x:Bind Model.IsInputEmpty, Mode=OneWay, Converter={StaticResource BooleanToVisibilityConverter}}"/> (sender); + auto radioButton = static_cast(sender); if (radioButton == ArithmeticShiftButton) { @@ -142,3 +143,19 @@ void CalculatorProgrammerRadixOperators::CalculatorProgrammerRadixOperators::Ope { Model->SetOpenParenthesisCountNarratorAnnouncement(); } + +void CalculatorProgrammerRadixOperators::ClearEntryButton_LostFocus(Object ^ sender, RoutedEventArgs ^ e) +{ + if (ClearEntryButton->Visibility == ::Visibility::Collapsed && ClearButton->Visibility == ::Visibility::Visible) + { + ClearButton->Focus(::FocusState::Programmatic); + } +} + +void CalculatorProgrammerRadixOperators::ClearButton_LostFocus(Object ^ sender, RoutedEventArgs ^ e) +{ + if (ClearEntryButton->Visibility == ::Visibility::Visible && ClearButton->Visibility == ::Visibility::Collapsed) + { + ClearEntryButton->Focus(::FocusState::Programmatic); + } +} diff --git a/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml.h b/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml.h index 4cab69cc1..bd61def11 100644 --- a/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml.h +++ b/src/Calculator/Views/CalculatorProgrammerRadixOperators.xaml.h @@ -39,5 +39,7 @@ namespace CalculatorApp bool m_isErrorVisualState; void OpenParenthesisButton_GotFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void ClearEntryButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void ClearButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); }; } diff --git a/src/Calculator/Views/CalculatorScientificOperators.xaml b/src/Calculator/Views/CalculatorScientificOperators.xaml index 20adf96c4..c2fe5ab98 100644 --- a/src/Calculator/Views/CalculatorScientificOperators.xaml +++ b/src/Calculator/Views/CalculatorScientificOperators.xaml @@ -898,7 +898,7 @@ - Visibility == ::Visibility::Collapsed && ClearButton->Visibility == ::Visibility::Visible) + { + ClearButton->Focus(::FocusState::Programmatic); + } +} + +void CalculatorScientificOperators::ClearButton_LostFocus(Object ^ sender, RoutedEventArgs ^ e) +{ + if (ClearEntryButton->Visibility == ::Visibility::Visible && ClearButton->Visibility == ::Visibility::Collapsed) + { + ClearEntryButton->Focus(::FocusState::Programmatic); + } +} diff --git a/src/Calculator/Views/CalculatorScientificOperators.xaml.h b/src/Calculator/Views/CalculatorScientificOperators.xaml.h index 5d7517828..5c104dd1a 100644 --- a/src/Calculator/Views/CalculatorScientificOperators.xaml.h +++ b/src/Calculator/Views/CalculatorScientificOperators.xaml.h @@ -43,5 +43,7 @@ namespace CalculatorApp void ShiftButton_IsEnabledChanged(_In_ Platform::Object ^ sender, _In_ Windows::UI::Xaml::DependencyPropertyChangedEventArgs ^ e); void SetOperatorRowVisibility(); void SetTrigRowVisibility(); + void ClearEntryButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void ClearButton_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); }; } From 814473f4d62836bcc1f0d95096ac4afc40c1aa5d Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Tue, 3 Mar 2020 10:53:03 -0800 Subject: [PATCH 09/76] Parse each individual equation (#1059) --- src/GraphControl/Control/Grapher.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/GraphControl/Control/Grapher.cpp b/src/GraphControl/Control/Grapher.cpp index fd38ef506..6cdccf9ea 100644 --- a/src/GraphControl/Control/Grapher.cpp +++ b/src/GraphControl/Control/Grapher.cpp @@ -289,6 +289,17 @@ namespace GraphControl co_return false; } + unique_ptr expr; + wstring parsableEquation = s_getGraphOpeningTags; + parsableEquation += equationRequest; + parsableEquation += s_getGraphClosingTags; + + // Wire up the corresponding error to an error message in the UI at some point + if (!(expr = m_solver->ParseInput(parsableEquation))) + { + co_return false; + } + request += equationRequest; } From 880072016f0d3899277b54c7395d7df28299be4e Mon Sep 17 00:00:00 2001 From: pi1024e <49824824+pi1024e@users.noreply.github.com> Date: Tue, 3 Mar 2020 16:47:26 -0500 Subject: [PATCH 10/76] Push back if the vector is a whimsical (#1062) --- src/CalcManager/UnitConverter.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/CalcManager/UnitConverter.cpp b/src/CalcManager/UnitConverter.cpp index ce0ebb810..2d738a6c9 100644 --- a/src/CalcManager/UnitConverter.cpp +++ b/src/CalcManager/UnitConverter.cpp @@ -618,10 +618,10 @@ vector> UnitConverter::CalculateSuggested() newEntry.magnitude = log10(convertedValue); newEntry.value = convertedValue; newEntry.type = cur.first; - if (newEntry.type.isWhimsical == false) - intermediateVector.push_back(newEntry); - else + if (newEntry.type.isWhimsical) intermediateWhimsicalVector.push_back(newEntry); + else + intermediateVector.push_back(newEntry); } } From f1d53fba612396905b1567a353eb4bd38d475fba Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Wed, 4 Mar 2020 15:15:18 -0800 Subject: [PATCH 11/76] Support other locales for decimal and list separators (#1060) * Support other locales for decimal and list seperators * PR fixes --- .../GraphingCalculator.xaml.cpp | 2 ++ .../GraphingNumPad.xaml.cpp | 9 +++---- src/GraphControl/Control/Grapher.cpp | 24 ++++++++++++++++++- src/GraphControl/Control/Grapher.h | 2 ++ src/GraphingImpl/Mocks/MathSolver.h | 8 +++++++ src/GraphingInterfaces/IMathSolver.h | 4 +++- 6 files changed, 43 insertions(+), 6 deletions(-) diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp index 5b93cfb8f..efc047fc6 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp @@ -74,6 +74,8 @@ GraphingCalculator::GraphingCalculator() // Update where the pointer value is (ie: where the user cursor from keyboard inputs moves the point to) GraphingControl->PointerValueChangedEvent += ref new PointerValueChangedEventHandler(this, &GraphingCalculator::OnPointerPointChanged); + GraphingControl->UseCommaDecimalSeperator = LocalizationSettings::GetInstance().GetDecimalSeparator() == ','; + // OemMinus and OemAdd aren't declared in the VirtualKey enum, we can't add this accelerator XAML-side auto virtualKey = ref new KeyboardAccelerator(); virtualKey->Key = (VirtualKey)189; // OemPlus key diff --git a/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.cpp b/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.cpp index 751e8a5a5..d3235af30 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.cpp @@ -9,6 +9,7 @@ #include "Controls/MathRichEditBox.h" using namespace CalculatorApp; +using namespace CalculatorApp::Common; using namespace Platform; using namespace Windows::Foundation; @@ -60,9 +61,9 @@ static const std::unordered_mapContent = localizationSettings.GetDecimalSeparator(); Num0Button->Content = localizationSettings.GetDigitSymbolFromEnUsDigit('0'); Num1Button->Content = localizationSettings.GetDigitSymbolFromEnUsDigit('1'); diff --git a/src/GraphControl/Control/Grapher.cpp b/src/GraphControl/Control/Grapher.cpp index 6cdccf9ea..4ed9ed353 100644 --- a/src/GraphControl/Control/Grapher.cpp +++ b/src/GraphControl/Control/Grapher.cpp @@ -29,6 +29,7 @@ using namespace Windows::UI::Xaml::Media; using namespace GraphControl; DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, ForceProportionalAxes); +DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, UseCommaDecimalSeperator); DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, Variables); DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, Equations); DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, AxesColor); @@ -279,7 +280,14 @@ namespace GraphControl if (numValidEquations++ > 0) { - request += L","; + if (!UseCommaDecimalSeperator) + { + request += L","; + } + else + { + request += L";"; + } } auto equationRequest = eq->GetRequest()->Data(); @@ -511,6 +519,20 @@ namespace GraphControl TryUpdateGraph(false); } + void Grapher::OnUseCommaDecimalSeperatorPropertyChanged(bool oldValue, bool newValue) + { + if (newValue) + { + m_solver->ParsingOptions().SetLocalizationType(::LocalizationType::DecimalCommaAndListSemicolon); + m_solver->FormatOptions().SetLocalizationType(::LocalizationType::DecimalCommaAndListSemicolon); + } + else + { + m_solver->ParsingOptions().SetLocalizationType(::LocalizationType::DecimalPointAndListComma); + m_solver->FormatOptions().SetLocalizationType(::LocalizationType::DecimalPointAndListComma); + } + } + void Grapher::OnPointerEntered(PointerRoutedEventArgs ^ e) { if (m_renderMain) diff --git a/src/GraphControl/Control/Grapher.h b/src/GraphControl/Control/Grapher.h index facfe8853..cddec89f4 100644 --- a/src/GraphControl/Control/Grapher.h +++ b/src/GraphControl/Control/Grapher.h @@ -38,6 +38,7 @@ public DEPENDENCY_PROPERTY_OWNER(Grapher); DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(bool, ForceProportionalAxes, true); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(bool, UseCommaDecimalSeperator, false); DEPENDENCY_PROPERTY_WITH_DEFAULT( SINGLE_ARG(Windows::Foundation::Collections::IObservableMap ^), Variables, @@ -266,6 +267,7 @@ public private: void OnForceProportionalAxesPropertyChanged(bool oldValue, bool newValue); + void OnUseCommaDecimalSeperatorPropertyChanged(bool oldValue, bool newValue); void OnEquationsPropertyChanged(EquationCollection ^ oldValue, EquationCollection ^ newValue); void OnAxesColorPropertyChanged(Windows::UI::Color oldValue, Windows::UI::Color newValue); void OnGraphBackgroundPropertyChanged(Windows::UI::Color oldValue, Windows::UI::Color newValue); diff --git a/src/GraphingImpl/Mocks/MathSolver.h b/src/GraphingImpl/Mocks/MathSolver.h index 7f9a0fca6..5706555bf 100644 --- a/src/GraphingImpl/Mocks/MathSolver.h +++ b/src/GraphingImpl/Mocks/MathSolver.h @@ -13,6 +13,10 @@ namespace MockGraphingImpl void SetFormatType(Graphing::FormatType type) override { } + + void SetLocalizationType(Graphing::LocalizationType value) override + { + } }; class EvalOptions : public Graphing::IEvalOptions @@ -46,6 +50,10 @@ namespace MockGraphingImpl void SetMathMLPrefix(const std::wstring& value) override { } + + void SetLocalizationType(Graphing::LocalizationType value) override + { + } }; class MockExpression : public Graphing::IExpression diff --git a/src/GraphingInterfaces/IMathSolver.h b/src/GraphingInterfaces/IMathSolver.h index c1df98ac8..8f1ddaaf1 100644 --- a/src/GraphingInterfaces/IMathSolver.h +++ b/src/GraphingInterfaces/IMathSolver.h @@ -34,6 +34,7 @@ namespace Graphing virtual ~IParsingOptions() = default; virtual void SetFormatType(FormatType type) = 0; + virtual void SetLocalizationType(LocalizationType value) = 0; }; struct IEvalOptions : public NonCopyable, public NonMoveable @@ -49,7 +50,8 @@ namespace Graphing virtual ~IFormatOptions() = default; virtual void SetFormatType(FormatType type) = 0; - virtual void SetMathMLPrefix(const std::wstring& value) = 0; + virtual void SetMathMLPrefix(const std::wstring& value) = 0; + virtual void SetLocalizationType(LocalizationType value) = 0; }; struct IMathSolver : public NonCopyable, public NonMoveable From de3a1cdff7e3a2cb2e130cd41660450042c0eb3b Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Wed, 4 Mar 2020 16:25:50 -0800 Subject: [PATCH 12/76] Allow copying graph as image (#1051) --- src/Calculator/Resources/en-US/Resources.resw | 28 +++++++++---------- .../GraphingCalculator.xaml | 10 ++++++- .../GraphingCalculator.xaml.cpp | 10 +++++++ .../GraphingCalculator.xaml.h | 1 + 4 files changed, 34 insertions(+), 15 deletions(-) diff --git a/src/Calculator/Resources/en-US/Resources.resw b/src/Calculator/Resources/en-US/Resources.resw index e6a3580fe..abeb7b744 100644 --- a/src/Calculator/Resources/en-US/Resources.resw +++ b/src/Calculator/Resources/en-US/Resources.resw @@ -3948,7 +3948,7 @@ Label for the Line Color section of the style picker - Key Graph Features + Function analysis Title for KeyGraphFeatures Control @@ -4115,16 +4115,16 @@ This is the automation name for the back button in the equation analysis page in the graphing calculator - Analyze equation - This is the tooltip for the analyze equation button + Analyze function + This is the tooltip for the analyze function button - Analyze equation - This is the automation name for the analyze equation button + Analyze function + This is the automation name for the analyze function button - Analyze equation - This is the text for the for the analyze equation context menu command + Analyze function + This is the text for the for the analyze function context menu command Remove equation @@ -4203,8 +4203,8 @@ Announcement used in Graphing Calculator when switching to the graph mode - Grid - Heading for grid extents on the settings + Window + Heading for window extents on the settings Degrees @@ -4238,10 +4238,6 @@ Y-Min Y minimum value header - - Enter an equation - Used in the Graphing Calculator to indicate to users that they can enter an equation in the textbox - Grid options This is the tooltip text for the grid options button in Graphing Calculator @@ -4255,7 +4251,11 @@ Heading for the Graph Options flyout in Graphing mode. - Enter an equation + Enter an expression this is the placeholder text used by the textbox to enter an equation + + Copy + Copy menu item for the graph context menu + diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml index bf6fea21a..612324da7 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml @@ -476,7 +476,15 @@ LostFocus="GraphingControl_LostFocus" RequestedTheme="Light" UseSystemFocusVisuals="True" - VariablesUpdated="GraphingControl_VariablesUpdated"/> + VariablesUpdated="GraphingControl_VariablesUpdated"> + + + + + + Focus(::FocusState::Programmatic); } } + +void GraphingCalculator::GraphMenuFlyoutItem_Click(Object ^ sender, RoutedEventArgs ^ e) +{ + auto dataPackage = ref new DataPackage(); + dataPackage->RequestedOperation = ::DataPackageOperation::Copy; + + auto bitmapStream = GraphingControl->GetGraphBitmapStream(); + dataPackage->SetBitmap(bitmapStream); + ::Clipboard::SetContent(dataPackage); +} diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h index 2960daa1b..66b79eee4 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h @@ -91,6 +91,7 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo void Canvas_SizeChanged(Platform::Object ^ sender, Windows::UI::Xaml::SizeChangedEventArgs ^ e); void OnHighContrastChanged(Windows::UI::ViewManagement::AccessibilitySettings ^ sender, Platform::Object ^ args); void OnEquationFormatRequested(Platform::Object ^ sender, CalculatorApp::Controls::MathRichEditBoxFormatRequest ^ e); + void GraphMenuFlyoutItem_Click(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); }; } From 1b1eb4c7e79c3e075e49008d1e8583095e64b0c8 Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Fri, 6 Mar 2020 16:25:50 -0800 Subject: [PATCH 13/76] Add automation name to graph control (#1032) * fix bugs * Update src/Calculator/Resources/en-US/Resources.resw Co-Authored-By: Rudy Huyn Co-authored-by: Rudy Huyn --- .../Automation/NarratorAnnouncement.cpp | 10 +++++ .../Common/Automation/NarratorAnnouncement.h | 1 + .../Common/LocalizationStringUtil.h | 12 +++++ src/Calculator/Resources/en-US/Resources.resw | 4 ++ .../GraphingCalculator.xaml | 3 ++ .../GraphingCalculator.xaml.cpp | 45 +++++++++++++++++++ .../GraphingCalculator.xaml.h | 5 +++ src/GraphControl/Control/Grapher.cpp | 7 +++ src/GraphControl/Control/Grapher.h | 2 + 9 files changed, 89 insertions(+) diff --git a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp index 15fca2c6e..90e6feeff 100644 --- a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp +++ b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp @@ -24,6 +24,7 @@ namespace CalculatorApp::Common::Automation StringReference OpenParenthesisCountChanged(L"OpenParenthesisCountChanged"); StringReference NoParenthesisAdded(L"NoParenthesisAdded"); StringReference GraphModeChanged(L"GraphModeChanged"); + StringReference GraphViewChanged(L"GraphViewChanged"); } } @@ -150,3 +151,12 @@ NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphModeChangedAnnouncement(P AutomationNotificationKind::ActionCompleted, AutomationNotificationProcessing::ImportantMostRecent); } + +NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphViewChangedAnnouncement(Platform::String ^ announcement) +{ + return ref new NarratorAnnouncement( + announcement, + CalculatorActivityIds::GraphViewChanged, + AutomationNotificationKind::ActionCompleted, + AutomationNotificationProcessing::MostRecent); +} diff --git a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h index 81c3856b4..a1ba97ea2 100644 --- a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h +++ b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h @@ -68,6 +68,7 @@ public static NarratorAnnouncement ^ GetNoRightParenthesisAddedAnnouncement(Platform::String ^ announcement); static NarratorAnnouncement ^ GetGraphModeChangedAnnouncement(Platform::String ^ announcement); + static NarratorAnnouncement ^ GetGraphViewChangedAnnouncement(Platform::String ^ announcement); }; } diff --git a/src/CalcViewModel/Common/LocalizationStringUtil.h b/src/CalcViewModel/Common/LocalizationStringUtil.h index 0e3d9dff9..73da6d0df 100644 --- a/src/CalcViewModel/Common/LocalizationStringUtil.h +++ b/src/CalcViewModel/Common/LocalizationStringUtil.h @@ -81,6 +81,18 @@ namespace CalculatorApp { return LocalizationStringUtilInternal::GetLocalizedString(pMessage, param1->Data(), param2->Data(), param3->Data(), param4->Data()); } + + static Platform::String + ^ GetLocalizedString( + Platform::String ^ pMessage, + Platform::String ^ param1, + Platform::String ^ param2, + Platform::String ^ param3, + Platform::String ^ param4, + Platform::String ^ param5) + { + return LocalizationStringUtilInternal::GetLocalizedString(pMessage, param1->Data(), param2->Data(), param3->Data(), param4->Data(), param5->Data()); + } }; } } diff --git a/src/Calculator/Resources/en-US/Resources.resw b/src/Calculator/Resources/en-US/Resources.resw index abeb7b744..edb1da9d9 100644 --- a/src/Calculator/Resources/en-US/Resources.resw +++ b/src/Calculator/Resources/en-US/Resources.resw @@ -4174,6 +4174,10 @@ Start tracing This is the tooltip/automation name for the graphing calculator start tracing button + + Graph viewing window, x-axis bounded by %1 and %2, y-axis bounded by %3 and %4, displaying %5 equations + {Locked="%1","%2", "%3", "%4", "%5"}. + Configure slider This is the tooltip text for the slider options button in Graphing Calculator diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml index 612324da7..432b6bcb5 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml @@ -471,7 +471,10 @@ VariableUpdated += ref new EventHandler(this, &CalculatorApp::GraphingCalculator::OnVariableChanged); + + UpdateGraphAutomationName(); } void GraphingCalculator::OnEquationsVectorChanged(IObservableVector ^ sender, IVectorChangedEventArgs ^ event) @@ -620,6 +623,48 @@ void GraphingCalculator::SetDefaultFocus() } } +void GraphingCalculator::GraphingControl_GraphViewChangedEvent(Object ^ sender, RoutedEventArgs ^ e) +{ + UpdateGraphAutomationName(); + + auto announcement = CalculatorAnnouncement::GetGraphViewChangedAnnouncement(GraphControlAutomationName); + auto peer = FrameworkElementAutomationPeer::FromElement(GraphingControl); + if (peer != nullptr) + { + peer->RaiseNotificationEvent(announcement->Kind, announcement->Processing, announcement->Announcement, announcement->ActivityId); + } +} + +void GraphingCalculator::GraphingControl_GraphPlottedEvent(Object ^ sender, RoutedEventArgs ^ e) +{ + UpdateGraphAutomationName(); +} + +void GraphingCalculator::UpdateGraphAutomationName() +{ + int numEquations = 0; + double xAxisMin, xAxisMax, yAxisMin, yAxisMax; + + // Only count equations that are graphed + for (auto equation : ViewModel->Equations) + { + if (equation->GraphEquation->IsValidated) + { + numEquations++; + } + } + + GraphingControl->GetDisplayRanges(&xAxisMin, &xAxisMax, &yAxisMin, &yAxisMax); + + GraphControlAutomationName = LocalizationStringUtil::GetLocalizedString( + AppResourceProvider::GetInstance()->GetResourceString(L"graphAutomationName"), + xAxisMin.ToString(), + xAxisMax.ToString(), + yAxisMin.ToString(), + yAxisMax.ToString(), + numEquations.ToString()); +} + void GraphingCalculator::GraphMenuFlyoutItem_Click(Object ^ sender, RoutedEventArgs ^ e) { auto dataPackage = ref new DataPackage(); diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h index 66b79eee4..e1662cc5a 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h @@ -27,6 +27,7 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo COMMAND_FOR_METHOD(ZoomResetButtonPressed, GraphingCalculator::OnZoomResetCommand); OBSERVABLE_PROPERTY_R(bool, IsKeyGraphFeaturesVisible); DEPENDENCY_PROPERTY(bool, IsSmallState); + DEPENDENCY_PROPERTY(Platform::String ^, GraphControlAutomationName); property CalculatorApp::ViewModel::GraphingCalculatorViewModel^ ViewModel { @@ -65,6 +66,8 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo void GraphingControl_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); void GraphingControl_LosingFocus(Windows::UI::Xaml::UIElement ^ sender, Windows::UI::Xaml::Input::LosingFocusEventArgs ^ args); void GraphingControl_VariablesUpdated(Platform::Object ^ sender, Object ^ args); + void GraphingControl_GraphViewChangedEvent(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void GraphingControl_GraphPlottedEvent(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); void OnEquationKeyGraphFeaturesRequested(Platform::Object ^ sender, CalculatorApp::ViewModel::EquationViewModel ^ e); void OnKeyGraphFeaturesClosed(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); void TraceValuePopup_SizeChanged(Platform::Object ^ sender, Windows::UI::Xaml::SizeChangedEventArgs ^ e); @@ -78,6 +81,8 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo void DisplayGraphSettings(); void AddTracePointerShadow(); + void UpdateGraphAutomationName(); + private: Windows::Foundation::EventRegistrationToken m_dataRequestedToken; Windows::Foundation::EventRegistrationToken m_vectorChangedToken; diff --git a/src/GraphControl/Control/Grapher.cpp b/src/GraphControl/Control/Grapher.cpp index 4ed9ed353..bb7c5a864 100644 --- a/src/GraphControl/Control/Grapher.cpp +++ b/src/GraphControl/Control/Grapher.cpp @@ -84,6 +84,7 @@ namespace GraphControl void Grapher::ZoomFromCenter(double scale) { ScaleRange(0, 0, scale); + GraphViewChangedEvent(this, ref new RoutedEventArgs()); } void Grapher::ScaleRange(double centerX, double centerY, double scale) @@ -95,6 +96,7 @@ namespace GraphControl if (SUCCEEDED(renderer->ScaleRange(centerX, centerY, scale))) { m_renderMain->RunRenderPass(); + GraphViewChangedEvent(this, ref new RoutedEventArgs()); } } } @@ -109,6 +111,7 @@ namespace GraphControl if (SUCCEEDED(renderer->ResetRange())) { m_renderMain->RunRenderPass(); + GraphViewChangedEvent(this, ref new RoutedEventArgs()); } } } @@ -249,6 +252,8 @@ namespace GraphControl co_await TryUpdateGraph(keepCurrentView); } } + + GraphPlottedEvent(this, ref new RoutedEventArgs()); } task Grapher::TryUpdateGraph(bool keepCurrentView) @@ -603,6 +608,7 @@ namespace GraphControl const auto [centerX, centerY] = PointerPositionToGraphPosition(pos.X, pos.Y, ActualWidth, ActualHeight); ScaleRange(centerX, centerY, scale); + GraphViewChangedEvent(this, ref new RoutedEventArgs()); e->Handled = true; } @@ -676,6 +682,7 @@ namespace GraphControl if (needsRenderPass) { m_renderMain->RunRenderPass(); + GraphViewChangedEvent(this, ref new RoutedEventArgs()); } } } diff --git a/src/GraphControl/Control/Grapher.h b/src/GraphControl/Control/Grapher.h index cddec89f4..e6cdedf05 100644 --- a/src/GraphControl/Control/Grapher.h +++ b/src/GraphControl/Control/Grapher.h @@ -31,6 +31,8 @@ public event TracingValueChangedEventHandler ^ TracingValueChangedEvent; event PointerValueChangedEventHandler ^ PointerValueChangedEvent; event TracingChangedEventHandler ^ TracingChangedEvent; + event Windows::UI::Xaml::RoutedEventHandler ^ GraphViewChangedEvent; + event Windows::UI::Xaml::RoutedEventHandler ^ GraphPlottedEvent; virtual event Windows::UI::Xaml::Data::PropertyChangedEventHandler ^ PropertyChanged; public: From e8d03eafc14562458167b364d9df8b2a70b603c7 Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Mon, 9 Mar 2020 12:00:20 -0700 Subject: [PATCH 14/76] Update internal package vers (#1076) --- build/pipelines/templates/build-app-internal.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/pipelines/templates/build-app-internal.yaml b/build/pipelines/templates/build-app-internal.yaml index fbaafc18c..807de235c 100644 --- a/build/pipelines/templates/build-app-internal.yaml +++ b/build/pipelines/templates/build-app-internal.yaml @@ -29,7 +29,7 @@ jobs: downloadDirectory: $(Build.SourcesDirectory) vstsFeed: WindowsApps vstsFeedPackage: calculator-internals - vstsPackageVersion: 0.0.35 + vstsPackageVersion: 0.0.36 - template: ./build-single-architecture.yaml parameters: From 4f8db428552e5080100b3dfba44d0619a7442ab0 Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Mon, 9 Mar 2020 16:51:39 -0700 Subject: [PATCH 15/76] Add reset button to settings flyout (#1073) --- .../GraphingSettingsViewModel.cpp | 20 +++++++++++++++++++ .../GraphingSettingsViewModel.h | 1 + src/Calculator/Resources/en-US/Resources.resw | 4 ++++ .../GraphingCalculator/GraphingSettings.xaml | 18 ++++++++++++----- .../GraphingSettings.xaml.cpp | 5 +++++ .../GraphingSettings.xaml.h | 1 + 6 files changed, 44 insertions(+), 5 deletions(-) diff --git a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp index 02b918916..a1031a1e5 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp +++ b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp @@ -71,6 +71,26 @@ void GraphingSettingsViewModel::InitRanges() m_dontUpdateDisplayRange = false; } +void GraphingSettingsViewModel::ResetView() +{ + if (m_Graph != nullptr) + { + m_Graph->ResetGrid(); + InitRanges(); + m_XMinError = false; + m_XMaxError = false; + m_YMinError = false; + m_YMaxError = false; + + RaisePropertyChanged("XError"); + RaisePropertyChanged("XMin"); + RaisePropertyChanged("XMax"); + RaisePropertyChanged("YError"); + RaisePropertyChanged("YMin"); + RaisePropertyChanged("YMax"); + } +} + void GraphingSettingsViewModel::UpdateDisplayRange() { if (m_Graph == nullptr || m_dontUpdateDisplayRange || HasError()) diff --git a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h index a16facd95..60c5e1685 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h @@ -275,6 +275,7 @@ namespace CalculatorApp::ViewModel public: void SetGrapher(GraphControl::Grapher ^ grapher); void InitRanges(); + void ResetView(); bool HasError(); private: diff --git a/src/Calculator/Resources/en-US/Resources.resw b/src/Calculator/Resources/en-US/Resources.resw index edb1da9d9..6e232db3d 100644 --- a/src/Calculator/Resources/en-US/Resources.resw +++ b/src/Calculator/Resources/en-US/Resources.resw @@ -4226,6 +4226,10 @@ Units Heading for Unit's on the settings + + Reset view + Hyperlink button to reset the view of the graph + X-Max X maximum value header diff --git a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml index bac5491a0..0897b11ab 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml @@ -102,11 +102,19 @@ FontSize="20" FontWeight="Medium" AutomationProperties.HeadingLevel="Level1"/> - + + + + + + + + diff --git a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp index e023bea22..1be3a3f6b 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp @@ -61,3 +61,8 @@ void GraphingSettings::RefreshRanges() { ViewModel->InitRanges(); } + +void GraphingSettings::ResetViewButton_Clicked(Object ^ sender, RoutedEventArgs ^ e) +{ + ViewModel->ResetView(); +} diff --git a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h index 0b31146c1..02507879b 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h @@ -23,5 +23,6 @@ namespace CalculatorApp void RefreshRanges(); private: void GridSettingsTextBox_PreviewKeyDown(Platform::Object ^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs ^ e); + void ResetViewButton_Clicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); }; } From d11873caf63da0d9fd4d2c0787df1333fe1ac4e9 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 10 Mar 2020 12:45:36 -0700 Subject: [PATCH 16/76] Check for ctrl when navigating to handle AltGr (#1054) --- src/Calculator/Common/KeyboardShortcutManager.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Calculator/Common/KeyboardShortcutManager.cpp b/src/Calculator/Common/KeyboardShortcutManager.cpp index d5c78c05e..59d98a830 100644 --- a/src/Calculator/Common/KeyboardShortcutManager.cpp +++ b/src/Calculator/Common/KeyboardShortcutManager.cpp @@ -642,6 +642,13 @@ void KeyboardShortcutManager::OnAcceleratorKeyActivated(CoreDispatcher ^, Accele return; } + // Ctrl is pressed in addition to alt, this means Alt Gr is intended. do not navigate. + if ((static_cast(Window::Current->CoreWindow->GetKeyState(VirtualKey::Control)) & static_cast(CoreVirtualKeyStates::Down)) + == static_cast(CoreVirtualKeyStates::Down)) + { + return; + } + const auto& lookupMap = GetCurrentKeyDictionary(static_cast(key), altPressed); auto listItems = lookupMap.equal_range(static_cast(key)); for (auto listIterator = listItems.first; listIterator != listItems.second; ++listIterator) From 2caea01c6f26d305c4be948875113d00c3e94b5c Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Wed, 11 Mar 2020 09:41:37 -0700 Subject: [PATCH 17/76] Fix analyze button being enabled with error (#1061) --- src/Calculator/Controls/EquationTextBox.cpp | 6 +++--- src/Calculator/Controls/EquationTextBox.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Calculator/Controls/EquationTextBox.cpp b/src/Calculator/Controls/EquationTextBox.cpp index 2285fac7b..4509ecfbe 100644 --- a/src/Calculator/Controls/EquationTextBox.cpp +++ b/src/Calculator/Controls/EquationTextBox.cpp @@ -74,7 +74,7 @@ void EquationTextBox::OnApplyTemplate() if (m_richEditContextMenu != nullptr) { - m_richEditContextMenu->Opening += ref new EventHandler(this, &EquationTextBox::OnRichEditMenuOpening); + m_richEditContextMenu->Opened += ref new EventHandler(this, &EquationTextBox::OnRichEditMenuOpened); } if (m_deleteButton != nullptr) @@ -344,11 +344,11 @@ bool EquationTextBox::RichEditHasContent() return !text->IsEmpty(); } -void EquationTextBox::OnRichEditMenuOpening(Object ^ /*sender*/, Object ^ /*args*/) +void EquationTextBox::OnRichEditMenuOpened(Object ^ /*sender*/, Object ^ /*args*/) { if (m_kgfEquationMenuItem != nullptr) { - m_kgfEquationMenuItem->IsEnabled = m_HasFocus && RichEditHasContent(); + m_kgfEquationMenuItem->IsEnabled = m_HasFocus && !HasError && RichEditHasContent(); } if (m_colorChooserMenuItem != nullptr) diff --git a/src/Calculator/Controls/EquationTextBox.h b/src/Calculator/Controls/EquationTextBox.h index 15759ec61..8362116bf 100644 --- a/src/Calculator/Controls/EquationTextBox.h +++ b/src/Calculator/Controls/EquationTextBox.h @@ -58,7 +58,7 @@ namespace CalculatorApp void OnRemoveButtonClicked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); void OnColorChooserButtonClicked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); void OnFunctionButtonClicked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); - void OnRichEditMenuOpening(Platform::Object ^ sender, Platform::Object ^ args); + void OnRichEditMenuOpened(Platform::Object ^ sender, Platform::Object ^ args); void OnColorFlyoutOpened(Platform::Object ^ sender, Platform::Object ^ e); void OnColorFlyoutClosed(Platform::Object ^ sender, Platform::Object ^ e); From ebc57af20396ea0d2707a0eb5dd22036a5baf65d Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Wed, 11 Mar 2020 09:41:52 -0700 Subject: [PATCH 18/76] Work around crash by replacing ItemRepeater with ListView (#1058) * Replace ItemRepeater with ListView * Allow animations * undo temp key change * Remove animation --- .../GraphingCalculator/EquationInputArea.xaml | 134 +++++++++++------- .../EquationInputArea.xaml.cpp | 6 +- 2 files changed, 85 insertions(+), 55 deletions(-) diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml index d2b1526ef..07daf2a72 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml @@ -775,58 +775,88 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp index 7f981de36..9784916cc 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp @@ -149,7 +149,7 @@ void EquationInputArea::FocusEquationTextBox(EquationViewModel ^ equation) { return; } - auto container = EquationInputList->TryGetElement(index); + auto container = EquationInputList->ContainerFromIndex(index); if (container == nullptr) { return; @@ -234,7 +234,7 @@ void EquationInputArea::EquationTextBox_Loaded(Object ^ sender, RoutedEventArgs unsigned int index; if (Equations->IndexOf(copyEquationToFocus, &index)) { - auto container = EquationInputList->TryGetElement(index); + auto container = static_cast(EquationInputList->ContainerFromIndex(index)); if (container != nullptr) { container->StartBringIntoView(); @@ -264,7 +264,7 @@ void EquationInputArea::FocusEquationIfNecessary(CalculatorApp::Controls::Equati unsigned int index; if (Equations->IndexOf(m_equationToFocus, &index)) { - auto container = EquationInputList->TryGetElement(index); + auto container = static_cast(EquationInputList->ContainerFromIndex(index)); if (container != nullptr) { container->StartBringIntoView(); From 59c55a9333db4d15745e0333a60d5370fa3eeecc Mon Sep 17 00:00:00 2001 From: Stephanie Anderl <46726333+sanderl@users.noreply.github.com> Date: Wed, 11 Mar 2020 12:19:14 -0700 Subject: [PATCH 19/76] Update the EquationInputArea divider line to update with the app theme (#1084) --- .../GraphingCalculator/EquationInputArea.xaml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml index 07daf2a72..5ec0fc6bf 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml @@ -833,9 +833,24 @@ + + + + + + + + + + + + + + + + Fill="{ThemeResource DividerBrush}"/> Date: Wed, 11 Mar 2020 18:38:12 -0700 Subject: [PATCH 20/76] Support regular textbox context menu functions in the EquationTextBox (#1065) * Add context menu items back * Disable if no selection --- src/Calculator/Controls/EquationTextBox.cpp | 96 ++++++++++++++++++- src/Calculator/Controls/EquationTextBox.h | 11 +++ src/Calculator/Resources/en-US/Resources.resw | 20 ++++ .../GraphingCalculator/EquationInputArea.xaml | 14 +++ 4 files changed, 139 insertions(+), 2 deletions(-) diff --git a/src/Calculator/Controls/EquationTextBox.cpp b/src/Calculator/Controls/EquationTextBox.cpp index 4509ecfbe..48f84ec6e 100644 --- a/src/Calculator/Controls/EquationTextBox.cpp +++ b/src/Calculator/Controls/EquationTextBox.cpp @@ -44,6 +44,11 @@ void EquationTextBox::OnApplyTemplate() m_kgfEquationMenuItem = dynamic_cast(GetTemplateChild("FunctionAnalysisMenuItem")); m_removeMenuItem = dynamic_cast(GetTemplateChild("RemoveFunctionMenuItem")); m_colorChooserMenuItem = dynamic_cast(GetTemplateChild("ChangeFunctionStyleMenuItem")); + m_cutMenuItem = dynamic_cast(GetTemplateChild("CutMenuItem")); + m_copyMenuItem = dynamic_cast(GetTemplateChild("CopyMenuItem")); + m_pasteMenuItem = dynamic_cast(GetTemplateChild("PasteMenuItem")); + m_undoMenuItem = dynamic_cast(GetTemplateChild("UndoMenuItem")); + m_selectAllMenuItem = dynamic_cast(GetTemplateChild("SelectAllMenuItem")); auto resProvider = AppResourceProvider::GetInstance(); @@ -65,7 +70,8 @@ void EquationTextBox::OnApplyTemplate() auto equationButtonMessage = LocalizationStringUtil::GetLocalizedString( m_equationButton->IsChecked->Value ? resProvider->GetResourceString(L"showEquationButtonToolTip") - : resProvider->GetResourceString(L"hideEquationButtonToolTip"), EquationButtonContentIndex); + : resProvider->GetResourceString(L"hideEquationButtonToolTip"), + EquationButtonContentIndex); toolTip->Content = equationButtonMessage; ToolTipService::SetToolTip(m_equationButton, toolTip); @@ -122,6 +128,31 @@ void EquationTextBox::OnApplyTemplate() ColorChooserFlyout->Closed += ref new EventHandler(this, &EquationTextBox::OnColorFlyoutClosed); } + if (m_cutMenuItem != nullptr) + { + m_cutMenuItem->Click += ref new RoutedEventHandler(this, &EquationTextBox::OnCutClicked); + } + + if (m_copyMenuItem != nullptr) + { + m_copyMenuItem->Click += ref new RoutedEventHandler(this, &EquationTextBox::OnCopyClicked); + } + + if (m_pasteMenuItem != nullptr) + { + m_pasteMenuItem->Click += ref new RoutedEventHandler(this, &EquationTextBox::OnPasteClicked); + } + + if (m_undoMenuItem != nullptr) + { + m_undoMenuItem->Click += ref new RoutedEventHandler(this, &EquationTextBox::OnUndoClicked); + } + + if (m_selectAllMenuItem != nullptr) + { + m_selectAllMenuItem->Click += ref new RoutedEventHandler(this, &EquationTextBox::OnSelectAllClicked); + } + UpdateCommonVisualState(); UpdateButtonsVisualState(); } @@ -208,7 +239,8 @@ void EquationTextBox::OnEquationButtonClicked(Object ^ sender, RoutedEventArgs ^ auto equationButtonMessage = LocalizationStringUtil::GetLocalizedString( m_equationButton->IsChecked->Value ? resProvider->GetResourceString(L"showEquationButtonToolTip") - : resProvider->GetResourceString(L"hideEquationButtonToolTip"), EquationButtonContentIndex); + : resProvider->GetResourceString(L"hideEquationButtonToolTip"), + EquationButtonContentIndex); toolTip->Content = equationButtonMessage; ToolTipService::SetToolTip(m_equationButton, toolTip); @@ -256,6 +288,46 @@ void EquationTextBox::OnFunctionButtonClicked(Object ^ sender, RoutedEventArgs ^ KeyGraphFeaturesButtonClicked(this, ref new RoutedEventArgs()); } +void EquationTextBox::OnCutClicked(Object ^ sender, RoutedEventArgs ^ e) +{ + if (m_richEditBox != nullptr) + { + m_richEditBox->TextDocument->Selection->Cut(); + } +} + +void EquationTextBox::OnCopyClicked(Object ^ sender, RoutedEventArgs ^ e) +{ + if (m_richEditBox != nullptr) + { + m_richEditBox->TextDocument->Selection->Copy(); + } +} + +void EquationTextBox::OnPasteClicked(Object ^ sender, RoutedEventArgs ^ e) +{ + if (m_richEditBox != nullptr) + { + m_richEditBox->TextDocument->Selection->Paste(0); + } +} + +void EquationTextBox::OnSelectAllClicked(Object ^ sender, RoutedEventArgs ^ e) +{ + if (m_richEditBox != nullptr) + { + m_richEditBox->TextDocument->Selection->SetRange(0, m_richEditBox->TextDocument->Selection->EndPosition); + } +} + +void EquationTextBox::OnUndoClicked(Object ^ sender, RoutedEventArgs ^ e) +{ + if (m_richEditBox != nullptr) + { + m_richEditBox->TextDocument->Undo(); + } +} + void EquationTextBox::UpdateButtonsVisualState() { String ^ state; @@ -355,6 +427,26 @@ void EquationTextBox::OnRichEditMenuOpened(Object ^ /*sender*/, Object ^ /*args* { m_colorChooserMenuItem->IsEnabled = !HasError && !IsAddEquationMode; } + + if (m_richEditBox != nullptr && m_cutMenuItem != nullptr) + { + m_cutMenuItem->IsEnabled = m_richEditBox->TextDocument->CanCopy() && m_richEditBox->TextDocument->Selection->Length > 0; + } + + if (m_richEditBox != nullptr && m_copyMenuItem != nullptr) + { + m_copyMenuItem->IsEnabled = m_richEditBox->TextDocument->CanCopy() && m_richEditBox->TextDocument->Selection->Length > 0; + } + + if (m_richEditBox != nullptr && m_pasteMenuItem != nullptr) + { + m_pasteMenuItem->IsEnabled = m_richEditBox->TextDocument->CanPaste(); + } + + if (m_richEditBox != nullptr && m_undoMenuItem != nullptr) + { + m_undoMenuItem->IsEnabled = m_richEditBox->TextDocument->CanUndo(); + } } void EquationTextBox::OnIsAddEquationModePropertyChanged(bool /*oldValue*/, bool /*newValue*/) diff --git a/src/Calculator/Controls/EquationTextBox.h b/src/Calculator/Controls/EquationTextBox.h index 8362116bf..1a5e88135 100644 --- a/src/Calculator/Controls/EquationTextBox.h +++ b/src/Calculator/Controls/EquationTextBox.h @@ -60,6 +60,12 @@ namespace CalculatorApp void OnFunctionButtonClicked(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); void OnRichEditMenuOpened(Platform::Object ^ sender, Platform::Object ^ args); + void OnCutClicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void OnCopyClicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void OnPasteClicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void OnUndoClicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void OnSelectAllClicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void OnColorFlyoutOpened(Platform::Object ^ sender, Platform::Object ^ e); void OnColorFlyoutClosed(Platform::Object ^ sender, Platform::Object ^ e); @@ -73,6 +79,11 @@ namespace CalculatorApp Windows::UI::Xaml::Controls::Primitives::ToggleButton ^ m_colorChooserButton; Windows::UI::Xaml::Controls::MenuFlyout^ m_richEditContextMenu; + Windows::UI::Xaml::Controls::MenuFlyoutItem ^ m_cutMenuItem; + Windows::UI::Xaml::Controls::MenuFlyoutItem ^ m_copyMenuItem; + Windows::UI::Xaml::Controls::MenuFlyoutItem ^ m_pasteMenuItem; + Windows::UI::Xaml::Controls::MenuFlyoutItem ^ m_undoMenuItem; + Windows::UI::Xaml::Controls::MenuFlyoutItem ^ m_selectAllMenuItem; Windows::UI::Xaml::Controls::MenuFlyoutItem^ m_kgfEquationMenuItem; Windows::UI::Xaml::Controls::MenuFlyoutItem^ m_removeMenuItem; Windows::UI::Xaml::Controls::MenuFlyoutItem^ m_colorChooserMenuItem; diff --git a/src/Calculator/Resources/en-US/Resources.resw b/src/Calculator/Resources/en-US/Resources.resw index 6e232db3d..3bbd502dc 100644 --- a/src/Calculator/Resources/en-US/Resources.resw +++ b/src/Calculator/Resources/en-US/Resources.resw @@ -4266,4 +4266,24 @@ Copy Copy menu item for the graph context menu + + Cut + Cut menu item from the Equation TextBox + + + Copy + Copy menu item from the Equation TextBox + + + Paste + Paste menu item from the Equation TextBox + + + Undo + Undo menu item from the Equation TextBox + + + Select All + Select all menu item from the Equation TextBox + diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml index 5ec0fc6bf..682075486 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml @@ -582,6 +582,20 @@ TextWrapping="NoWrap"> + + + + + + From 102782df47e0d855e0a1ce75046445081559337c Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Thu, 12 Mar 2020 10:12:01 -0700 Subject: [PATCH 21/76] Select the equation when the EquationTextBox has focus and during analysis (#1067) * Select equation on focus * PR comment --- .../EquationInputArea.xaml.cpp | 44 +++++++++++++------ .../EquationInputArea.xaml.h | 23 +++++----- .../GraphingCalculator.xaml.cpp | 2 + src/GraphControl/Control/Grapher.cpp | 13 ++++++ src/GraphControl/Models/Equation.cpp | 3 +- src/GraphControl/Models/Equation.h | 15 +++++++ src/GraphControl/Models/EquationCollection.h | 2 +- 7 files changed, 75 insertions(+), 27 deletions(-) diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp index 9784916cc..c89902deb 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp @@ -98,21 +98,28 @@ void EquationInputArea::AddNewEquation() void EquationInputArea::EquationTextBox_GotFocus(Object ^ sender, RoutedEventArgs ^ e) { KeyboardShortcutManager::HonorShortcuts(false); + + auto eq = GetViewModelFromEquationTextBox(sender); + if (eq != nullptr) + { + eq->GraphEquation->IsSelected = true; + } } void EquationInputArea::EquationTextBox_LostFocus(Object ^ sender, RoutedEventArgs ^ e) { KeyboardShortcutManager::HonorShortcuts(true); + + auto eq = GetViewModelFromEquationTextBox(sender); + if (eq != nullptr) + { + eq->GraphEquation->IsSelected = false; + } } void EquationInputArea::EquationTextBox_Submitted(Object ^ sender, MathRichEditBoxSubmission ^ submission) { - auto tb = static_cast(sender); - if (tb == nullptr) - { - return; - } - auto eq = static_cast(tb->DataContext); + auto eq = GetViewModelFromEquationTextBox(sender); if (eq == nullptr) { return; @@ -176,8 +183,7 @@ void EquationInputArea::FocusEquationTextBox(EquationViewModel ^ equation) void EquationInputArea::EquationTextBox_RemoveButtonClicked(Object ^ sender, RoutedEventArgs ^ e) { - auto tb = static_cast(sender); - auto eq = static_cast(tb->DataContext); + auto eq = GetViewModelFromEquationTextBox(sender); unsigned int index; if (Equations->IndexOf(eq, &index)) @@ -206,15 +212,12 @@ void EquationInputArea::EquationTextBox_RemoveButtonClicked(Object ^ sender, Rou void EquationInputArea::EquationTextBox_KeyGraphFeaturesButtonClicked(Object ^ sender, RoutedEventArgs ^ e) { - auto tb = static_cast(sender); - auto eq = static_cast(tb->DataContext); - KeyGraphFeaturesRequested(this, eq); + KeyGraphFeaturesRequested(this, GetViewModelFromEquationTextBox(sender)); } void EquationInputArea::EquationTextBox_EquationButtonClicked(Object ^ sender, RoutedEventArgs ^ e) { - auto tb = static_cast(sender); - auto eq = static_cast(tb->DataContext); + auto eq = GetViewModelFromEquationTextBox(sender); eq->IsLineEnabled = !eq->IsLineEnabled; } @@ -410,8 +413,21 @@ void EquationInputArea::VariableAreaTapped(Object ^ sender, TappedRoutedEventArg } } } - + void EquationInputArea::EquationTextBox_EquationFormatRequested(Object ^ sender, MathRichEditBoxFormatRequest ^ e) { EquationFormatRequested(sender, e); } + +EquationViewModel ^ EquationInputArea::GetViewModelFromEquationTextBox(Object ^ sender) +{ + auto tb = static_cast(sender); + if (tb == nullptr) + { + return nullptr; + } + + auto eq = static_cast(tb->DataContext); + + return eq; +} diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h index 20805f9e6..bc86845d1 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h @@ -15,17 +15,18 @@ namespace CalculatorApp { - public ref class EquationInputArea sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged - { - public: - EquationInputArea(); +public + ref class EquationInputArea sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged + { + public: + EquationInputArea(); OBSERVABLE_OBJECT_CALLBACK(OnPropertyChanged); OBSERVABLE_PROPERTY_RW(Windows::Foundation::Collections::IObservableVector ^, Equations); OBSERVABLE_PROPERTY_RW(Windows::Foundation::Collections::IObservableVector ^, Variables); OBSERVABLE_PROPERTY_RW(Windows::Foundation::Collections::IObservableVector ^, AvailableColors); - event Windows::Foundation::EventHandler^ KeyGraphFeaturesRequested; - event Windows::Foundation::EventHandler ^ EquationFormatRequested; + event Windows::Foundation::EventHandler ^ KeyGraphFeaturesRequested; + event Windows::Foundation::EventHandler ^ EquationFormatRequested; public: static Windows::UI::Xaml::Visibility ManageEditVariablesButtonVisibility(unsigned int numberOfVariables); @@ -37,20 +38,20 @@ namespace CalculatorApp ^ ToSolidColorBrush(Windows::UI::Color color) { return ref new Windows::UI::Xaml::Media::SolidColorBrush(color); } private: - void OnPropertyChanged(Platform::String^ propertyName); + void OnPropertyChanged(Platform::String ^ propertyName); void OnEquationsPropertyChanged(); void AddNewEquation(); - void EquationTextBox_GotFocus(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); - void EquationTextBox_LostFocus(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void EquationTextBox_GotFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void EquationTextBox_LostFocus(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); void EquationTextBox_Submitted(Platform::Object ^ sender, CalculatorApp::Controls::MathRichEditBoxSubmission ^ e); void OnHighContrastChanged(Windows::UI::ViewManagement::AccessibilitySettings ^ sender, Platform::Object ^ args); void ReloadAvailableColors(bool isHighContrast); void FocusEquationTextBox(ViewModel::EquationViewModel ^ equation); - void EquationTextBox_RemoveButtonClicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs^ e); + void EquationTextBox_RemoveButtonClicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); void EquationTextBox_KeyGraphFeaturesButtonClicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); void EquationTextBox_EquationButtonClicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); void EquationTextBox_Loaded(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); @@ -65,6 +66,8 @@ namespace CalculatorApp void VariableAreaTapped(Platform::Object ^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs ^ e); void EquationTextBox_EquationFormatRequested(Platform::Object ^ sender, CalculatorApp::Controls::MathRichEditBoxFormatRequest ^ e); + CalculatorApp::ViewModel::EquationViewModel ^ GetViewModelFromEquationTextBox(Platform::Object ^ sender); + Windows::UI::ViewManagement::AccessibilitySettings ^ m_accessibilitySettings; int m_lastLineColorIndex; int m_lastFunctionLabelIndex; diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp index 24f05b39c..0a64613d5 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp @@ -420,12 +420,14 @@ void GraphingCalculator::OnEquationKeyGraphFeaturesRequested(Object ^ sender, Eq auto keyGraphFeatureInfo = GraphingControl->AnalyzeEquation(equationViewModel->GraphEquation); equationViewModel->PopulateKeyGraphFeatures(keyGraphFeatureInfo); IsKeyGraphFeaturesVisible = true; + equationViewModel->GraphEquation->IsSelected = true; } } void GraphingCalculator::OnKeyGraphFeaturesClosed(Object ^ sender, RoutedEventArgs ^ e) { IsKeyGraphFeaturesVisible = false; + ViewModel->SelectedEquation->GraphEquation->IsSelected = false; } Visibility GraphingCalculator::ShouldDisplayPanel(bool isSmallState, bool isEquationModeActivated, bool isGraphPanel) diff --git a/src/GraphControl/Control/Grapher.cpp b/src/GraphControl/Control/Grapher.cpp index bb7c5a864..a1fca8e90 100644 --- a/src/GraphControl/Control/Grapher.cpp +++ b/src/GraphControl/Control/Grapher.cpp @@ -179,6 +179,7 @@ namespace GraphControl { if (m_graph) { + m_graph->TryResetSelection(); UpdateGraphOptions(m_graph->GetOptions(), GetGraphableEquations()); } @@ -325,6 +326,13 @@ namespace GraphControl if (initResult != nullopt) { + auto graphedEquations = initResult.value(); + + for (int i = 0; i < validEqs.size(); i++) + { + validEqs[i]->GraphedEquation = graphedEquations[i]; + } + UpdateGraphOptions(m_graph->GetOptions(), validEqs); SetGraphArgs(m_graph); @@ -498,6 +506,11 @@ namespace GraphControl { auto lineColor = eq->LineColor; graphColors.emplace_back(lineColor.R, lineColor.G, lineColor.B, lineColor.A); + + if (eq->IsSelected) + { + eq->GraphedEquation->TrySelectEquation(); + } } options.SetGraphColors(graphColors); } diff --git a/src/GraphControl/Models/Equation.cpp b/src/GraphControl/Models/Equation.cpp index 02be2cb01..5446876fe 100644 --- a/src/GraphControl/Models/Equation.cpp +++ b/src/GraphControl/Models/Equation.cpp @@ -30,8 +30,7 @@ namespace GraphControl // Check for unicode characters of less than, less than or equal to, greater than and greater than or equal to. if (expr.find(L">><") != wstring_view::npos || expr.find(L"><<") != wstring_view::npos || expr.find(L">≥<") != wstring_view::npos || expr.find(L">≤<") != wstring_view::npos || expr.find(8805) != wstring_view::npos || expr.find(8804) != wstring_view::npos - || expr.find(L"><<") != wstring_view::npos - || expr.find(L">><") != wstring_view::npos) + || expr.find(L"><<") != wstring_view::npos || expr.find(L">><") != wstring_view::npos) { request = L"plotIneq2D"; } diff --git a/src/GraphControl/Models/Equation.h b/src/GraphControl/Models/Equation.h index cc404b7e0..baa66c72f 100644 --- a/src/GraphControl/Models/Equation.h +++ b/src/GraphControl/Models/Equation.h @@ -17,6 +17,7 @@ namespace GraphControl OBSERVABLE_NAMED_PROPERTY_RW(bool, IsLineEnabled); OBSERVABLE_NAMED_PROPERTY_RW(bool, IsValidated); OBSERVABLE_NAMED_PROPERTY_RW(bool, HasGraphError); + OBSERVABLE_NAMED_PROPERTY_RW(bool, IsSelected); property Windows::UI::Color LineColor { @@ -32,10 +33,24 @@ namespace GraphControl bool IsGraphableEquation(); + internal: + property std::shared_ptr GraphedEquation + { + void set(std::shared_ptr graphedEquation) + { + m_graphedEquation = graphedEquation; + } + std::shared_ptr get() + { + return m_graphedEquation; + } + } + private: std::wstring GetExpression(); private: Windows::UI::Color m_LineColor; + std::shared_ptr m_graphedEquation; }; } diff --git a/src/GraphControl/Models/EquationCollection.h b/src/GraphControl/Models/EquationCollection.h index d1e1ba185..ad5c9c8c4 100644 --- a/src/GraphControl/Models/EquationCollection.h +++ b/src/GraphControl/Models/EquationCollection.h @@ -158,7 +158,7 @@ public { auto equation = static_cast(sender); auto propertyName = args->PropertyName; - if (propertyName == GraphControl::Equation::LineColorPropertyName) + if (propertyName == GraphControl::Equation::LineColorPropertyName || propertyName == GraphControl::Equation::IsSelectedPropertyName) { EquationStyleChanged(equation); } From 9320e9424ea48c3243b7cd9e3b67efdd8ac0dc06 Mon Sep 17 00:00:00 2001 From: Matt Cooley Date: Thu, 12 Mar 2020 10:52:04 -0700 Subject: [PATCH 22/76] Delete unused build config files (#1082) Delete config files for internal FCIB and test processes which are no longer in use. --- build/config/TRexDefs/amd64/performance.xml | 30 ------------ build/config/TRexDefs/amd64/rs4_release.xml | 24 ---------- build/config/TRexDefs/amd64/rs5_release.xml | 25 ---------- .../TRexDefs/amd64/rs_apps_validate.xml | 44 ------------------ build/config/TRexDefs/arm/performance.xml | 31 ------------- .../config/TRexDefs/arm/rs_apps_validate.xml | 26 ----------- build/config/TRexDefs/x86/rs4_release.xml | 25 ---------- build/config/TRexDefs/x86/rs5_release.xml | 25 ---------- .../config/TRexDefs/x86/rs_apps_validate.xml | 46 ------------------- .../config/TestLists/ARM/Desktop_ARM.testlist | 12 ----- .../TestLists/ARM/Performance_ARM.testlist | 9 ---- build/config/TestLists/ARM/WCOS_ARM.testlist | 12 ----- .../TestLists/ARM64/Desktop_ARM64.testlist | 12 ----- .../TestLists/ARM64/WCOS_ARM64.testlist | 12 ----- build/config/rs_apps_utils.json | 28 ----------- build/config/rs_apps_validate.json | 28 ----------- .../prepare-release-internalonly.yaml | 2 - 17 files changed, 391 deletions(-) delete mode 100644 build/config/TRexDefs/amd64/performance.xml delete mode 100644 build/config/TRexDefs/amd64/rs4_release.xml delete mode 100644 build/config/TRexDefs/amd64/rs5_release.xml delete mode 100644 build/config/TRexDefs/amd64/rs_apps_validate.xml delete mode 100644 build/config/TRexDefs/arm/performance.xml delete mode 100644 build/config/TRexDefs/arm/rs_apps_validate.xml delete mode 100644 build/config/TRexDefs/x86/rs4_release.xml delete mode 100644 build/config/TRexDefs/x86/rs5_release.xml delete mode 100644 build/config/TRexDefs/x86/rs_apps_validate.xml delete mode 100644 build/config/TestLists/ARM/Desktop_ARM.testlist delete mode 100644 build/config/TestLists/ARM/Performance_ARM.testlist delete mode 100644 build/config/TestLists/ARM/WCOS_ARM.testlist delete mode 100644 build/config/TestLists/ARM64/Desktop_ARM64.testlist delete mode 100644 build/config/TestLists/ARM64/WCOS_ARM64.testlist delete mode 100644 build/config/rs_apps_utils.json delete mode 100644 build/config/rs_apps_validate.json diff --git a/build/config/TRexDefs/amd64/performance.xml b/build/config/TRexDefs/amd64/performance.xml deleted file mode 100644 index e6b6b40e0..000000000 --- a/build/config/TRexDefs/amd64/performance.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - RS_APPS_VALIDATE AMD64 Desktop WinPerf Test Run - 134858 - paxeedev - true - true - Performance_AMD64.testlist - - - - VSTS\IsReliabilityRun - True - - - - - AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - _AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - - - \ No newline at end of file diff --git a/build/config/TRexDefs/amd64/rs4_release.xml b/build/config/TRexDefs/amd64/rs4_release.xml deleted file mode 100644 index 78a52df95..000000000 --- a/build/config/TRexDefs/amd64/rs4_release.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - RS4_RELEASE AMD64 DesktopVM Test Run - 139642 - paxeedev - true - true - Desktop_AMD64.testlist - rs4_release - - - AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - _AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - - - \ No newline at end of file diff --git a/build/config/TRexDefs/amd64/rs5_release.xml b/build/config/TRexDefs/amd64/rs5_release.xml deleted file mode 100644 index 7fbccdc21..000000000 --- a/build/config/TRexDefs/amd64/rs5_release.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - RS5_RELEASE AMD64 DesktopVM Test Run - 139642 - paxeedev - true - true - Desktop_AMD64.testlist - rs5_release - - - AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - _AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - - - \ No newline at end of file diff --git a/build/config/TRexDefs/amd64/rs_apps_validate.xml b/build/config/TRexDefs/amd64/rs_apps_validate.xml deleted file mode 100644 index a90ca2881..000000000 --- a/build/config/TRexDefs/amd64/rs_apps_validate.xml +++ /dev/null @@ -1,44 +0,0 @@ - - - - - RS_APPS_VALIDATE AMD64 DesktopVM Test Run - 139642 - paxeedev - true - true - Desktop_AMD64.testlist - rs_apps_validate - - - AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - _AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - - - - RS_APPS_VALIDATE AMD64 WCOS Test Run - 153648 - paxeedev - true - true - WCOS_AMD64.testlist - rs_apps_validate - - - AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - _AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - - - \ No newline at end of file diff --git a/build/config/TRexDefs/arm/performance.xml b/build/config/TRexDefs/arm/performance.xml deleted file mode 100644 index 5fde2b8a5..000000000 --- a/build/config/TRexDefs/arm/performance.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - RS_PRERELEASE ARM WindowsCore WinPerf Test Run - 135258 - paxeedev - true - true - Performance_ARM.testlist - - - - VSTS\IsReliabilityRun - True - - - - - AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - _AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - - - \ No newline at end of file diff --git a/build/config/TRexDefs/arm/rs_apps_validate.xml b/build/config/TRexDefs/arm/rs_apps_validate.xml deleted file mode 100644 index 277c97612..000000000 --- a/build/config/TRexDefs/arm/rs_apps_validate.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/build/config/TRexDefs/x86/rs4_release.xml b/build/config/TRexDefs/x86/rs4_release.xml deleted file mode 100644 index 7f3f2cbfd..000000000 --- a/build/config/TRexDefs/x86/rs4_release.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - RS_APPS_VALIDATE x86 DesktopVM Test Run - 139643 - paxeedev - true - true - Desktop_x86.testlist - rs4_release - - - AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - _AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - - - \ No newline at end of file diff --git a/build/config/TRexDefs/x86/rs5_release.xml b/build/config/TRexDefs/x86/rs5_release.xml deleted file mode 100644 index 205a9c09f..000000000 --- a/build/config/TRexDefs/x86/rs5_release.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - RS_APPS_VALIDATE x86 DesktopVM Test Run - 139643 - paxeedev - true - true - Desktop_x86.testlist - rs5_release - - - AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - _AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - - - \ No newline at end of file diff --git a/build/config/TRexDefs/x86/rs_apps_validate.xml b/build/config/TRexDefs/x86/rs_apps_validate.xml deleted file mode 100644 index 130dc8f7a..000000000 --- a/build/config/TRexDefs/x86/rs_apps_validate.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - RS_APPS_VALIDATE x86 DesktopVM Test Run - 139643 - paxeedev - true - true - Desktop_x86.testlist - rs_apps_validate - - - AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - _AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - - - - - RS_PRERELEASE x86 WindowsCoreVM Test Run - 153715 - paxeedev - true - true - WCOS_x86.testlist - rs_apps_validate - - - AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - _AlternatePackageRoot - \\pkges\release\TAEF\validation.taef.provenance\1812.20007-develop\UniversalTestPackages;\\edge-svcs\Release\MITALite\Apps_eng.mitalite_ci\Latest.tst - - - - - \ No newline at end of file diff --git a/build/config/TestLists/ARM/Desktop_ARM.testlist b/build/config/TestLists/ARM/Desktop_ARM.testlist deleted file mode 100644 index cf0e5b66f..000000000 --- a/build/config/TestLists/ARM/Desktop_ARM.testlist +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "http://universaltest/schema/testlist-2.json", - "TestMDs": [ - { - "FilePath": "Calculator.UITests\\Prebuilt\\Test\\arm\\fre\\Calculator.UITests.testmd", - "ExecutionProfile": "All" - }, - { - "FilePath": "CalculatorUnitTests\\Prebuilt\\Test\\arm\\fre\\CalculatorUnitTests.testmd", - } - ] -} \ No newline at end of file diff --git a/build/config/TestLists/ARM/Performance_ARM.testlist b/build/config/TestLists/ARM/Performance_ARM.testlist deleted file mode 100644 index 2ec2d9337..000000000 --- a/build/config/TestLists/ARM/Performance_ARM.testlist +++ /dev/null @@ -1,9 +0,0 @@ -{ - "$schema": "http://universaltest/schema/testlist-2.json", - "TestMDs": [ - { - "FilePath": "Calculator.UITests\\Prebuilt\\Test\\arm\\fre\\Calculator.UITests.testmd", - "ExecutionProfile": "Performance" - } - ] -} \ No newline at end of file diff --git a/build/config/TestLists/ARM/WCOS_ARM.testlist b/build/config/TestLists/ARM/WCOS_ARM.testlist deleted file mode 100644 index cf0e5b66f..000000000 --- a/build/config/TestLists/ARM/WCOS_ARM.testlist +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "http://universaltest/schema/testlist-2.json", - "TestMDs": [ - { - "FilePath": "Calculator.UITests\\Prebuilt\\Test\\arm\\fre\\Calculator.UITests.testmd", - "ExecutionProfile": "All" - }, - { - "FilePath": "CalculatorUnitTests\\Prebuilt\\Test\\arm\\fre\\CalculatorUnitTests.testmd", - } - ] -} \ No newline at end of file diff --git a/build/config/TestLists/ARM64/Desktop_ARM64.testlist b/build/config/TestLists/ARM64/Desktop_ARM64.testlist deleted file mode 100644 index a2e620caf..000000000 --- a/build/config/TestLists/ARM64/Desktop_ARM64.testlist +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "http://universaltest/schema/testlist-2.json", - "TestMDs": [ - { - "FilePath": "Calculator.UITests\\Prebuilt\\Test\\arm64\\fre\\Calculator.UITests.testmd", - "ExecutionProfile": "All" - }, - { - "FilePath": "CalculatorUnitTests\\Prebuilt\\Test\\arm64\\fre\\CalculatorUnitTests.testmd", - } - ] -} \ No newline at end of file diff --git a/build/config/TestLists/ARM64/WCOS_ARM64.testlist b/build/config/TestLists/ARM64/WCOS_ARM64.testlist deleted file mode 100644 index a2e620caf..000000000 --- a/build/config/TestLists/ARM64/WCOS_ARM64.testlist +++ /dev/null @@ -1,12 +0,0 @@ -{ - "$schema": "http://universaltest/schema/testlist-2.json", - "TestMDs": [ - { - "FilePath": "Calculator.UITests\\Prebuilt\\Test\\arm64\\fre\\Calculator.UITests.testmd", - "ExecutionProfile": "All" - }, - { - "FilePath": "CalculatorUnitTests\\Prebuilt\\Test\\arm64\\fre\\CalculatorUnitTests.testmd", - } - ] -} \ No newline at end of file diff --git a/build/config/rs_apps_utils.json b/build/config/rs_apps_utils.json deleted file mode 100644 index 9c16d817a..000000000 --- a/build/config/rs_apps_utils.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "Branch": [ - { - "collection":"microsoft", - "project":"OS", - "repo":"os", - "name":"official/rs_apps_utils", - "CheckinFiles": [ - { - "source":"vpack/app/calculator.app.man", - "path": "/redist/mspartners/ipa/Calculator", - "type": "File" - }, - { - "source":"vpack/app/calculator.app.man", - "path": "/onecoreuap/redist/mspartners/ipa/Calculator", - "type": "File" - } - ] - } - ], - "Email": [ - { - "sendTo":"paxeedev", - "sendOnErrorOnly": "True" - } - ] -} \ No newline at end of file diff --git a/build/config/rs_apps_validate.json b/build/config/rs_apps_validate.json deleted file mode 100644 index 3fbe98b5c..000000000 --- a/build/config/rs_apps_validate.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "Branch": [ - { - "collection":"microsoft", - "project":"OS", - "repo":"os", - "name":"official/rs_apps_validate", - "CheckinFiles": [ - { - "source":"vpack/app/calculator.app.man", - "path": "/redist/mspartners/ipa/Calculator", - "type": "File" - }, - { - "source":"vpack/app/calculator.app.man", - "path": "/onecoreuap/redist/mspartners/ipa/Calculator", - "type": "File" - } - ] - } - ], - "Email": [ - { - "sendTo":"paxeedev", - "sendOnErrorOnly": "True" - } - ] -} \ No newline at end of file diff --git a/build/pipelines/templates/prepare-release-internalonly.yaml b/build/pipelines/templates/prepare-release-internalonly.yaml index 8f44434d9..071fc6018 100644 --- a/build/pipelines/templates/prepare-release-internalonly.yaml +++ b/build/pipelines/templates/prepare-release-internalonly.yaml @@ -90,8 +90,6 @@ jobs: pathtoPublish: $(XES_VPACKMANIFESTDIRECTORY)\$(XES_VPACKMANIFESTNAME) artifactName: vpack\app - # TODO (macool): create and push internal test packages and test config - - task: UniversalPackages@0 displayName: Download internals package inputs: From 4336c581056be230d672d7cac5ad1158a2cbbcc4 Mon Sep 17 00:00:00 2001 From: Dave Grochocki Date: Thu, 12 Mar 2020 12:48:58 -0700 Subject: [PATCH 23/76] Roadmap Update for 2020 (#1085) It is our GitHub anniversary, which means it is time to update the Windows Calculator project roadmap for 2020. --- docs/Roadmap.md | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/docs/Roadmap.md b/docs/Roadmap.md index 0b969c5cd..59a4e5475 100644 --- a/docs/Roadmap.md +++ b/docs/Roadmap.md @@ -4,15 +4,12 @@ Windows Calculator is under active development by Microsoft. ## Focus -In 2019, the Windows Calculator team is focused on: -* Refining our open source development process on GitHub -* Iterating upon the existing app design based on the latest [Fluent Design guidelines](https://developer.microsoft.com/en-us/windows/apps/design) -* Improving testing and diagnostics within the project -* Investigating new features with a focus on addressing top user feedback, including: - * Adding graphing mode - * Adding the ability for users to pin Calculator on top of other windows - * Providing additional customization options - * [Your feature idea here] - please review our [new feature development process](https://github.com/Microsoft/calculator/blob/master/docs/NewFeatureProcess.md) to get started! +In 2020, the Windows Calculator team is focused on: +* Iterating upon the existing app design based on the latest guidelines for [Fluent Design](https://developer.microsoft.com/en-us/windows/apps/design), [Windows 10X dual-screen devices](https://docs.microsoft.com/en-us/dual-screen/windows/), and [WinUI 3.0](https://github.com/microsoft/microsoft-ui-xaml). +* Unblocking community contributions by identifying and addressing bottlenecks affecting developers, including migrating portions of the codebase to C# ([#893](https://github.com/microsoft/calculator/issues/893)) and adding a settings page ([#596](https://github.com/microsoft/calculator/issues/596)). +* Addressing top user pain points, including clearing up confusion around how Standard Calculator behaves ([#138](https://github.com/microsoft/calculator/issues/138)) and fixing hidden characters in copied results ([#504](https://github.com/microsoft/calculator/issues/504)). +* Investigating unit converter improvements ([#379](https://github.com/microsoft/calculator/issues/379), [#589](https://github.com/microsoft/calculator/issues/589) and [#594](https://github.com/microsoft/calculator/issues/594)) +* [Your feature idea here] - please review our [new feature development process](https://github.com/Microsoft/calculator/blob/master/docs/NewFeatureProcess.md) to get started! We welcome contributions of all kinds from the community, but especially those that support the efforts above. Please see our [contributing guidelines](https://github.com/Microsoft/calculator/blob/master/CONTRIBUTING.md) for more information on how to get involved. From 18a1f82035289a19d999a61459f0fa4d56fda73a Mon Sep 17 00:00:00 2001 From: Stephanie Anderl <46726333+sanderl@users.noreply.github.com> Date: Thu, 12 Mar 2020 14:05:47 -0700 Subject: [PATCH 24/76] Graphing Calculator Diagnostics Instrumentation (#1041) * Add telemetry for keyboard button usage in graphing mode * Added the diagnostics for EquationAdded and FunctionAnalysis * Added remaining diagnostics events for graphing calculator * Fix proj files to include the IsStoreBuild condition. Move the Delayer class to the Calculator/Utils folder * Ensure the variable textbox has focus before logging diagnostics * Move maxVariableCount check into the tracelogger class * Created enums and updated the slider value changed method to remove the variable from the map after the log method is called * Re-enable hidden lines when the expression is updated * Fixed extra line in grapher.h and removed the conditional logging for variable count * Updated logging per PR feedback * Updated variable logging and fixed issues in the IsEquationLineDisabled binding the EditTextBox control. * Update per PR feedback * Added TraceLogging project to contain shared logging logic. * Updated TraceLogging project and updated tracelogger classes to use the TraceLogging project methods * Updated VariableLogging to log variable name. And updated per PR comments * Updated Variables logging to log count changed instead of variable added and fixed issue with variableSliders not being initialized * Remove outdated tracelogging call caused by rebase * Updated Delayer class to DispatcherTimerDelayer and fixed some small formatting issues * Fixed missing Dalyer class name updates * Removed extra line in traceloger.h --- src/CalcViewModel/CalcViewModel.vcxproj | 4 +- .../CalcViewModel.vcxproj.filters | 5 +- .../Common/CalculatorButtonUser.h | 3 +- src/CalcViewModel/Common/TraceActivity.h | 55 ---- src/CalcViewModel/Common/TraceLogger.cpp | 305 +++++++----------- src/CalcViewModel/Common/TraceLogger.h | 58 ++-- .../GraphingSettingsViewModel.cpp | 2 + .../GraphingSettingsViewModel.h | 10 + src/Calculator.sln | 18 ++ src/Calculator/Calculator.vcxproj | 4 +- src/Calculator/Calculator.vcxproj.filters | 4 + src/Calculator/Controls/EquationTextBox.cpp | 16 +- src/Calculator/Controls/EquationTextBox.h | 2 + .../EquationStylePanelControl.xaml.cpp | 2 + .../EquationStylePanelControl.xaml.h | 1 + .../Utils/DispatcherTimerDelayer.cpp | 39 +++ src/Calculator/Utils/DispatcherTimerDelayer.h | 26 ++ src/Calculator/Views/Calculator.xaml.cpp | 8 +- .../GraphingCalculator/EquationInputArea.xaml | 6 +- .../EquationInputArea.xaml.cpp | 51 +++ .../EquationInputArea.xaml.h | 5 +- .../GraphingCalculator.xaml | 2 +- .../GraphingCalculator.xaml.cpp | 12 + .../GraphingCalculator.xaml.h | 2 + .../GraphingNumPad.xaml.cpp | 4 + .../GraphingCalculator/GraphingNumPad.xaml.h | 1 + src/Calculator/pch.h | 1 + src/GraphControl/Control/Grapher.cpp | 36 ++- src/GraphControl/Control/Grapher.h | 4 + src/GraphControl/GraphControl.vcxproj | 12 + src/GraphControl/GraphControl.vcxproj.filters | 7 +- src/GraphControl/Logger/TraceLogger.cpp | 89 +++++ src/GraphControl/Logger/TraceLogger.h | 27 ++ .../Models/KeyGraphFeaturesInfo.cpp | 4 + src/GraphControl/pch.h | 3 + src/GraphControl/winrtHeaders.h | 1 + src/TraceLogging/TraceLogging.vcxproj | 294 +++++++++++++++++ src/TraceLogging/TraceLogging.vcxproj.filters | 17 + src/TraceLogging/TraceLoggingCommon.cpp | 88 +++++ src/TraceLogging/TraceLoggingCommon.h | 31 ++ src/TraceLogging/pch.cpp | 4 + src/TraceLogging/pch.h | 10 + 42 files changed, 981 insertions(+), 292 deletions(-) delete mode 100644 src/CalcViewModel/Common/TraceActivity.h create mode 100644 src/Calculator/Utils/DispatcherTimerDelayer.cpp create mode 100644 src/Calculator/Utils/DispatcherTimerDelayer.h create mode 100644 src/GraphControl/Logger/TraceLogger.cpp create mode 100644 src/GraphControl/Logger/TraceLogger.h create mode 100644 src/TraceLogging/TraceLogging.vcxproj create mode 100644 src/TraceLogging/TraceLogging.vcxproj.filters create mode 100644 src/TraceLogging/TraceLoggingCommon.cpp create mode 100644 src/TraceLogging/TraceLoggingCommon.h create mode 100644 src/TraceLogging/pch.cpp create mode 100644 src/TraceLogging/pch.h diff --git a/src/CalcViewModel/CalcViewModel.vcxproj b/src/CalcViewModel/CalcViewModel.vcxproj index db212ad0a..c2a69b5c0 100644 --- a/src/CalcViewModel/CalcViewModel.vcxproj +++ b/src/CalcViewModel/CalcViewModel.vcxproj @@ -314,7 +314,6 @@ - @@ -383,6 +382,9 @@ {e727a92b-f149-492c-8117-c039a298719b} + + {fc81ff41-02cd-4cd9-9bc5-45a1e39ac6ed} + diff --git a/src/CalcViewModel/CalcViewModel.vcxproj.filters b/src/CalcViewModel/CalcViewModel.vcxproj.filters index 0b3507fe3..7a0619ee4 100644 --- a/src/CalcViewModel/CalcViewModel.vcxproj.filters +++ b/src/CalcViewModel/CalcViewModel.vcxproj.filters @@ -169,9 +169,6 @@ DataLoaders - - Common - DataLoaders @@ -200,7 +197,7 @@ GraphingCalculator - Common + Common diff --git a/src/CalcViewModel/Common/CalculatorButtonUser.h b/src/CalcViewModel/Common/CalculatorButtonUser.h index 8afd0fe9a..bc03b0add 100644 --- a/src/CalcViewModel/Common/CalculatorButtonUser.h +++ b/src/CalcViewModel/Common/CalculatorButtonUser.h @@ -202,6 +202,7 @@ public GreaterThan, GreaterThanOrEqualTo, X, - Y + Y, + Submit }; } diff --git a/src/CalcViewModel/Common/TraceActivity.h b/src/CalcViewModel/Common/TraceActivity.h deleted file mode 100644 index 003bf6bd0..000000000 --- a/src/CalcViewModel/Common/TraceActivity.h +++ /dev/null @@ -1,55 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -#pragma once -#include - -namespace CalculatorApp -{ - // RAII wrapper that automatically sends the Stop event when the class gets destructed. - class TraceActivity - { - public: - TraceActivity() - : m_channel(nullptr) - , m_activity(nullptr) - , m_fields(nullptr) - { - } - - TraceActivity( - winrt::Windows::Foundation::Diagnostics::LoggingChannel channel, - std::wstring_view activityName, - winrt::Windows::Foundation::Diagnostics::LoggingFields fields) - : m_channel(channel) - , m_activityName(activityName) - , m_fields(fields) - , m_activity(nullptr) - { - // Write the activity's START event. Note that you must not specify keyword - // or level for START and STOP events because they always use the activity's - // keyword and level. - m_activity = m_channel.StartActivity( - m_activityName, - m_fields, - winrt::Windows::Foundation::Diagnostics::LoggingLevel::Verbose, - winrt::Windows::Foundation::Diagnostics::LoggingOptions(WINEVENT_KEYWORD_RESPONSE_TIME)); - } - - ~TraceActivity() - { - if (m_activity != nullptr) - { - // Write the activity's STOP event. - m_activity.StopActivity(m_activityName, m_fields); - m_activity = nullptr; - } - } - - private: - std::wstring m_activityName; - winrt::Windows::Foundation::Diagnostics::LoggingChannel m_channel; - winrt::Windows::Foundation::Diagnostics::LoggingFields m_fields; - winrt::Windows::Foundation::Diagnostics::LoggingActivity m_activity; - }; -} diff --git a/src/CalcViewModel/Common/TraceLogger.cpp b/src/CalcViewModel/Common/TraceLogger.cpp index 845b010bc..64a99cb97 100644 --- a/src/CalcViewModel/Common/TraceLogger.cpp +++ b/src/CalcViewModel/Common/TraceLogger.cpp @@ -8,15 +8,15 @@ using namespace CalculatorApp; using namespace CalculatorApp::Common; +using namespace TraceLogging; using namespace Concurrency; using namespace std; using namespace Platform; -using namespace winrt; -using namespace winrt::Windows::Foundation; -using namespace winrt::Windows::Foundation::Diagnostics; -using namespace winrt::Windows::Globalization; -using namespace winrt::Windows::Globalization::DateTimeFormatting; -using namespace winrt::Windows::System::UserProfile; +using namespace Windows::Foundation; +using namespace Windows::Foundation::Diagnostics; +using namespace Windows::Globalization; +using namespace Windows::Globalization::DateTimeFormatting; +using namespace Windows::System::UserProfile; namespace CalculatorApp { @@ -35,36 +35,22 @@ namespace CalculatorApp constexpr auto EVENT_NAME_VISUAL_STATE_CHANGED = L"VisualStateChanged"; constexpr auto EVENT_NAME_CONVERTER_INPUT_RECEIVED = L"ConverterInputReceived"; constexpr auto EVENT_NAME_INPUT_PASTED = L"InputPasted"; + constexpr auto EVENT_NAME_SHOW_HIDE_BUTTON_CLICKED = L"ShowHideButtonClicked"; + constexpr auto EVENT_NAME_GRAPH_BUTTON_CLICKED = L"GraphButtonClicked"; + constexpr auto EVENT_NAME_GRAPH_LINE_STYLE_CHANGED = L"GraphLineStyleChanged"; + constexpr auto EVENT_NAME_VARIABLE_CHANGED = L"VariableChanged"; + constexpr auto EVENT_NAME_VARIABLE_SETTING_CHANGED = L"VariableSettingChanged"; + constexpr auto EVENT_NAME_GRAPH_SETTINGS_CHANGED = L"GraphSettingsChanged"; constexpr auto EVENT_NAME_EXCEPTION = L"Exception"; - constexpr auto PDT_PRIVACY_DATA_TAG = L"PartA_PrivTags"; - constexpr auto PDT_PRODUCT_AND_SERVICE_USAGE = 0x0000'0000'0200'0000u; - -#ifdef SEND_DIAGNOSTICS - // c.f. WINEVENT_KEYWORD_RESERVED_63-56 0xFF00000000000000 // Bits 63-56 - channel keywords - // c.f. WINEVENT_KEYWORD_* 0x00FF000000000000 // Bits 55-48 - system-reserved keywords - constexpr int64_t MICROSOFT_KEYWORD_LEVEL_1 = 0x0000800000000000; // Bit 47 - constexpr int64_t MICROSOFT_KEYWORD_LEVEL_2 = 0x0000400000000000; // Bit 46 - constexpr int64_t MICROSOFT_KEYWORD_LEVEL_3 = 0x0000200000000000; // Bit 45 -#else - // define all Keyword options as 0 when we do not want to upload app diagnostics - constexpr int64_t MICROSOFT_KEYWORD_LEVEL_1 = 0; - constexpr int64_t MICROSOFT_KEYWORD_LEVEL_2 = 0; - constexpr int64_t MICROSOFT_KEYWORD_LEVEL_3 = 0; -#endif + constexpr auto CALC_MODE = L"CalcMode"; + constexpr auto GRAPHING_MODE = L"Graphing"; #pragma region TraceLogger setup and cleanup TraceLogger::TraceLogger() - : g_calculatorProvider( - L"MicrosoftCalculator", - LoggingChannelOptions(GUID{ 0x4f50731a, 0x89cf, 0x4782, 0xb3, 0xe0, 0xdc, 0xe8, 0xc9, 0x4, 0x76, 0xba }), - GUID{ 0x905ca09, 0x610e, 0x401e, 0xb6, 0x50, 0x2f, 0x21, 0x29, 0x80, 0xb9, 0xe0 }) - , // Unique providerID {0905CA09-610E-401E-B650-2F212980B9E0} - m_appLaunchActivity{ nullptr } { - CoCreateGuid(&sessionGuid); } TraceLogger ^ TraceLogger::GetInstance() @@ -73,33 +59,6 @@ namespace CalculatorApp return s_selfInstance; } - bool TraceLogger::GetTraceLoggingProviderEnabled() - { - return g_calculatorProvider.Enabled(); - } - -#pragma region Tracing methods - void TraceLogger::LogLevel1Event(wstring_view eventName, LoggingFields fields) - { - g_calculatorProvider.LogEvent(eventName, fields, LoggingLevel::Verbose, LoggingOptions(MICROSOFT_KEYWORD_LEVEL_1)); - } - - void TraceLogger::LogLevel2Event(wstring_view eventName, LoggingFields fields) - { - g_calculatorProvider.LogEvent(eventName, fields, LoggingLevel::Verbose, LoggingOptions(MICROSOFT_KEYWORD_LEVEL_2)); - } - - void TraceLogger::LogLevel3Event(wstring_view eventName, LoggingFields fields) - { - g_calculatorProvider.LogEvent(eventName, fields, LoggingLevel::Verbose, LoggingOptions(MICROSOFT_KEYWORD_LEVEL_3)); - } - - unique_ptr TraceLogger::CreateTraceActivity(wstring_view eventName, LoggingFields fields) - { - return make_unique(g_calculatorProvider, eventName, fields); - } -#pragma endregion - // return true if windowId is logged once else return false bool TraceLogger::IsWindowIdInLog(int windowId) { @@ -116,18 +75,12 @@ namespace CalculatorApp void TraceLogger::LogVisualStateChanged(ViewMode mode, String ^ state, bool isAlwaysOnTop) { - if (!GetTraceLoggingProviderEnabled()) - { - return; - } + auto fields = ref new LoggingFields(); - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddString(L"CalcMode", NavCategory::GetFriendlyName(mode)->Data()); - fields.AddString(L"VisualState", state->Data()); - fields.AddBoolean(L"IsAlwaysOnTop", isAlwaysOnTop); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_VISUAL_STATE_CHANGED, fields); + fields->AddString(StringReference(CALC_MODE), NavCategory::GetFriendlyName(mode)); + fields->AddString(StringReference(L"VisualState"), state); + fields->AddBoolean(StringReference(L"IsAlwaysOnTop"), isAlwaysOnTop); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_VISUAL_STATE_CHANGED), fields); } void TraceLogger::LogWindowCreated(ViewMode mode, int windowId) @@ -138,122 +91,69 @@ namespace CalculatorApp windowIdLog.push_back(windowId); } - if (!GetTraceLoggingProviderEnabled()) - return; - - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddString(L"CalcMode", NavCategory::GetFriendlyName(mode)->Data()); - fields.AddUInt64(L"NumOfOpenWindows", currentWindowCount); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_WINDOW_ON_CREATED, fields); + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), NavCategory::GetFriendlyName(mode)); + fields->AddUInt64(StringReference(L"NumOfOpenWindows"), currentWindowCount); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_WINDOW_ON_CREATED), fields); } void TraceLogger::LogModeChange(ViewMode mode) { - if (!GetTraceLoggingProviderEnabled()) - return; - if (NavCategory::IsValidViewMode(mode)) { - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddString(L"CalcMode", NavCategory::GetFriendlyName(mode)->Data()); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_MODE_CHANGED, fields); + auto fields = ref new LoggingFields(); + ; + fields->AddString(StringReference(CALC_MODE), NavCategory::GetFriendlyName(mode)); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_MODE_CHANGED), fields); } } void TraceLogger::LogHistoryItemLoad(ViewMode mode, int historyListSize, int loadedIndex) { - if (!GetTraceLoggingProviderEnabled()) - { - return; - } - - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddString(L"CalcMode", NavCategory::GetFriendlyName(mode)->Data()); - fields.AddInt32(L"HistoryListSize", historyListSize); - fields.AddInt32(L"HistoryItemIndex", loadedIndex); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_HISTORY_ITEM_LOAD, fields); + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), NavCategory::GetFriendlyName(mode)); + fields->AddInt32(StringReference(L"HistoryListSize"), historyListSize); + fields->AddInt32(StringReference(L"HistoryItemIndex"), loadedIndex); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_HISTORY_ITEM_LOAD), fields); } void TraceLogger::LogMemoryItemLoad(ViewMode mode, int memoryListSize, int loadedIndex) { - if (!GetTraceLoggingProviderEnabled()) - { - return; - } - - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddString(L"CalcMode", NavCategory::GetFriendlyName(mode)->Data()); - fields.AddInt32(L"MemoryListSize", memoryListSize); - fields.AddInt32(L"MemoryItemIndex", loadedIndex); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_MEMORY_ITEM_LOAD, fields); + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), NavCategory::GetFriendlyName(mode)); + fields->AddInt32(StringReference(L"MemoryListSize"), memoryListSize); + fields->AddInt32(StringReference(L"MemoryItemIndex"), loadedIndex); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_MEMORY_ITEM_LOAD), fields); } void TraceLogger::LogError(ViewMode mode, Platform::String ^ functionName, Platform::String ^ errorString) { - if (!GetTraceLoggingProviderEnabled()) - return; - - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddString(L"CalcMode", NavCategory::GetFriendlyName(mode)->Data()); - fields.AddString(L"FunctionName", functionName->Data()); - fields.AddString(L"Message", errorString->Data()); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_EXCEPTION, fields); + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), NavCategory::GetFriendlyName(mode)); + fields->AddString(StringReference(L"FunctionName"), functionName); + fields->AddString(StringReference(L"Message"), errorString); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_EXCEPTION), fields); } void TraceLogger::LogStandardException(ViewMode mode, wstring_view functionName, const exception& e) { - if (!GetTraceLoggingProviderEnabled()) - return; - - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddString(L"CalcMode", NavCategory::GetFriendlyName(mode)->Data()); - fields.AddString(L"FunctionName", functionName); + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), NavCategory::GetFriendlyName(mode)); + fields->AddString(StringReference(L"FunctionName"), StringReference(functionName.data())); wstringstream exceptionMessage; exceptionMessage << e.what(); - fields.AddString(L"Message", exceptionMessage.str()); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_EXCEPTION, fields); - } - - void TraceLogger::LogWinRTException(ViewMode mode, wstring_view functionName, hresult_error const& e) - { - if (!GetTraceLoggingProviderEnabled()) - return; - - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddString(L"CalcMode", NavCategory::GetFriendlyName(mode)->Data()); - fields.AddString(L"FunctionName", functionName); - fields.AddString(L"Message", e.message()); - fields.AddInt32(L"HRESULT", e.code()); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_EXCEPTION, fields); + fields->AddString(StringReference(L"Message"), StringReference(exceptionMessage.str().data())); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_EXCEPTION), fields); } void TraceLogger::LogPlatformException(ViewMode mode, wstring_view functionName, Platform::Exception ^ e) { - if (!GetTraceLoggingProviderEnabled()) - return; - - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddString(L"CalcMode", NavCategory::GetFriendlyName(mode)->Data()); - fields.AddString(L"FunctionName", functionName); - fields.AddString(L"Message", e->Message->Data()); - fields.AddInt32(L"HRESULT", e->HResult); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_EXCEPTION, fields); + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), NavCategory::GetFriendlyName(mode)); + fields->AddString(StringReference(L"FunctionName"), StringReference(functionName.data())); + fields->AddString(StringReference(L"Message"), e->Message); + fields->AddInt32(StringReference(L"HRESULT"), e->HResult); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_EXCEPTION), fields); } void TraceLogger::UpdateButtonUsage(NumbersAndOperatorsEnum button, ViewMode mode) @@ -305,9 +205,6 @@ namespace CalculatorApp void TraceLogger::LogButtonUsage() { - if (!GetTraceLoggingProviderEnabled()) - return; - // Writer lock for the buttonLog resource reader_writer_lock::scoped_lock lock(s_traceLoggerLock); @@ -330,11 +227,9 @@ namespace CalculatorApp } } - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddString(L"ButtonUsage", buttonUsageString->Data()); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_BUTTON_USAGE, fields); + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(L"ButtonUsage"), buttonUsageString); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_BUTTON_USAGE), fields); buttonLog.clear(); } @@ -342,46 +237,78 @@ namespace CalculatorApp void TraceLogger::LogDateCalculationModeUsed(bool AddSubtractMode) { const wchar_t* calculationType = AddSubtractMode ? L"AddSubtractMode" : L"DateDifferenceMode"; - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddString(L"CalcMode", NavCategory::GetFriendlyName(ViewMode::Date)->Data()); - fields.AddString(L"CalculationType", calculationType); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_DATE_CALCULATION_MODE_USED, fields); + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), NavCategory::GetFriendlyName(ViewMode::Date)); + fields->AddString(StringReference(L"CalculationType"), StringReference(calculationType)); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_DATE_CALCULATION_MODE_USED), fields); } void TraceLogger::LogConverterInputReceived(ViewMode mode) { - if (!GetTraceLoggingProviderEnabled()) - return; - - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddString(L"CalcMode", NavCategory::GetFriendlyName(mode)->Data()); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_CONVERTER_INPUT_RECEIVED, fields); + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), NavCategory::GetFriendlyName(mode)); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_CONVERTER_INPUT_RECEIVED), fields); } void TraceLogger::LogNavBarOpened() { - if (!GetTraceLoggingProviderEnabled()) - return; - - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_NAV_BAR_OPENED, fields); + auto fields = ref new LoggingFields(); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_NAV_BAR_OPENED), fields); } void TraceLogger::LogInputPasted(ViewMode mode) { - if (!GetTraceLoggingProviderEnabled()) - return; + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), NavCategory::GetFriendlyName(mode)); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_INPUT_PASTED), fields); + } + + void TraceLogger::LogShowHideButtonClicked(bool isHideButton) + { + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), StringReference(GRAPHING_MODE)); + fields->AddBoolean(StringReference(L"IsHideButton"), isHideButton); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_SHOW_HIDE_BUTTON_CLICKED), fields); + } + + void TraceLogger::LogGraphButtonClicked(GraphButton buttonName) + { + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), StringReference(GRAPHING_MODE)); + fields->AddInt16(StringReference(L"ButtonName"), static_cast(buttonName)); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_GRAPH_BUTTON_CLICKED), fields); + } + + void TraceLogger::LogGraphLineStyleChanged(LineStyleType style) + { + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), StringReference(GRAPHING_MODE)); + fields->AddInt16(StringReference(L"StyleType"), static_cast(style)); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_GRAPH_LINE_STYLE_CHANGED), fields); + } + + void TraceLogger::LogVariableChanged(String ^ inputChangedType, String ^ variableName) + { + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), StringReference(GRAPHING_MODE)); + fields->AddString(StringReference(L"InputChangedType"), inputChangedType); + fields->AddString(StringReference(L"VariableName"), variableName); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_VARIABLE_CHANGED), fields); + } + void TraceLogger::LogVariableSettingsChanged(String ^ setting) + { + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), StringReference(GRAPHING_MODE)); + fields->AddString(StringReference(L"SettingChanged"), setting); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_VARIABLE_SETTING_CHANGED), fields); + } + + void TraceLogger::LogGraphSettingsChanged(GraphSettingsType settingType) + { + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), StringReference(GRAPHING_MODE)); + fields->AddInt16(L"SettingType", static_cast(settingType)); - LoggingFields fields{}; - fields.AddGuid(L"SessionGuid", sessionGuid); - fields.AddString(L"Mode", NavCategory::GetFriendlyName(mode)->Data()); - fields.AddUInt64(PDT_PRIVACY_DATA_TAG, PDT_PRODUCT_AND_SERVICE_USAGE); - LogLevel2Event(EVENT_NAME_INPUT_PASTED, fields); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_GRAPH_SETTINGS_CHANGED), fields); } } diff --git a/src/CalcViewModel/Common/TraceLogger.h b/src/CalcViewModel/Common/TraceLogger.h index fa24f8e08..37e4b2bf0 100644 --- a/src/CalcViewModel/Common/TraceLogger.h +++ b/src/CalcViewModel/Common/TraceLogger.h @@ -3,13 +3,9 @@ #pragma once -#include "CalcManager/Command.h" -#include "TraceActivity.h" #include "NavCategory.h" #include "CalculatorButtonUser.h" -static const int maxFunctionSize = (int)CalculationManager::Command::CommandBINEDITEND; - // A trace logging provider can only be instantiated and registered once per module. // This class implements a singleton model ensure that only one instance is created. namespace CalculatorApp @@ -28,12 +24,35 @@ namespace CalculatorApp } }; -public - ref class TraceLogger sealed + public enum class GraphSettingsType + { + Grid, + TrigUnits + }; + + public enum class GraphButton + { + StylePicker, + RemoveFunction, + ActiveTracingChecked, + ActiveTracingUnchecked, + GraphSettings, + Share, + ZoomIn, + ZoomOut, + ZoomReset + }; + + public enum class LineStyleType + { + Color + }; + + public ref class TraceLogger sealed { public: static TraceLogger ^ GetInstance(); - bool GetTraceLoggingProviderEnabled(); + void LogModeChange(CalculatorApp::Common::ViewMode mode); void LogHistoryItemLoad(CalculatorApp::Common::ViewMode mode, int historyListSize, int loadedIndex); void LogMemoryItemLoad(CalculatorApp::Common::ViewMode mode, int memoryListSize, int loadedIndex); @@ -48,9 +67,14 @@ public void LogConverterInputReceived(CalculatorApp::Common::ViewMode mode); void LogNavBarOpened(); void LogError(CalculatorApp::Common::ViewMode mode, Platform::String ^ functionName, Platform::String ^ errorString); - internal : + void LogShowHideButtonClicked(bool isHideButton); + void LogGraphButtonClicked(GraphButton buttonName); + void LogGraphLineStyleChanged(LineStyleType style); + void LogVariableChanged(Platform::String ^ inputChangedType, Platform::String ^ variableName); + void LogVariableSettingsChanged(Platform::String ^ setting); + void LogGraphSettingsChanged(GraphSettingsType settingsType); + internal: void LogStandardException(CalculatorApp::Common::ViewMode mode, std::wstring_view functionName, _In_ const std::exception& e); - void LogWinRTException(CalculatorApp::Common::ViewMode mode, std::wstring_view functionName, _In_ winrt::hresult_error const& e); void LogPlatformException(CalculatorApp::Common::ViewMode mode, std::wstring_view functionName, _In_ Platform::Exception ^ e); void LogInputPasted(CalculatorApp::Common::ViewMode mode); @@ -58,24 +82,8 @@ public // Create an instance of TraceLogger TraceLogger(); - // As mentioned in Microsoft's Privacy Statement(https://privacy.microsoft.com/en-US/privacystatement#maindiagnosticsmodule), - // sampling is involved in Microsoft's diagnostic data collection process. - // These keywords provide additional input into how frequently an event might be sampled. - // The lower the level of the keyword, the higher the possibility that the corresponding event may be sampled. - void LogLevel1Event(std::wstring_view eventName, winrt::Windows::Foundation::Diagnostics::LoggingFields fields); - void LogLevel2Event(std::wstring_view eventName, winrt::Windows::Foundation::Diagnostics::LoggingFields fields); - void LogLevel3Event(std::wstring_view eventName, winrt::Windows::Foundation::Diagnostics::LoggingFields fields); - - std::unique_ptr CreateTraceActivity(std::wstring_view activityName, winrt::Windows::Foundation::Diagnostics::LoggingFields fields); - - winrt::Windows::Foundation::Diagnostics::LoggingChannel g_calculatorProvider; - std::vector buttonLog; std::vector windowIdLog; - - GUID sessionGuid; uint64 currentWindowCount = 0; - - winrt::Windows::Foundation::Diagnostics::LoggingActivity m_appLaunchActivity; }; } diff --git a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp index a1031a1e5..4313e26fa 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp +++ b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp @@ -99,6 +99,8 @@ void GraphingSettingsViewModel::UpdateDisplayRange() } m_Graph->SetDisplayRanges(m_XMinValue, m_XMaxValue, m_YMinValue, m_YMaxValue); + + TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::Grid); } bool GraphingSettingsViewModel::HasError() diff --git a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h index 60c5e1685..cdead6fb1 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h @@ -2,6 +2,7 @@ // Licensed under the MIT License. #include "../Common/Utils.h" +#include "CalcViewModel/Common/TraceLogger.h" namespace CalculatorApp::ViewModel { @@ -226,9 +227,12 @@ namespace CalculatorApp::ViewModel if (value && m_Graph != nullptr && m_Graph->TrigUnitMode != (int)Graphing::EvalTrigUnitMode::Radians) { m_Graph->TrigUnitMode = (int)Graphing::EvalTrigUnitMode::Radians; + RaisePropertyChanged(L"TrigModeRadians"); RaisePropertyChanged(L"TrigModeDegrees"); RaisePropertyChanged(L"TrigModeGradians"); + + TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::TrigUnits); } } } @@ -244,9 +248,12 @@ namespace CalculatorApp::ViewModel if (value && m_Graph != nullptr && m_Graph->TrigUnitMode != (int)Graphing::EvalTrigUnitMode::Degrees) { m_Graph->TrigUnitMode = (int)Graphing::EvalTrigUnitMode::Degrees; + RaisePropertyChanged(L"TrigModeDegrees"); RaisePropertyChanged(L"TrigModeRadians"); RaisePropertyChanged(L"TrigModeGradians"); + + TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::TrigUnits); } } } @@ -262,9 +269,12 @@ namespace CalculatorApp::ViewModel if (value && m_Graph != nullptr && m_Graph->TrigUnitMode != (int)Graphing::EvalTrigUnitMode::Grads) { m_Graph->TrigUnitMode = (int)Graphing::EvalTrigUnitMode::Grads; + RaisePropertyChanged(L"TrigModeGradians"); RaisePropertyChanged(L"TrigModeDegrees"); RaisePropertyChanged(L"TrigModeRadians"); + + TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::TrigUnits); } } } diff --git a/src/Calculator.sln b/src/Calculator.sln index 717c6b8c9..ce6eb3b2e 100644 --- a/src/Calculator.sln +++ b/src/Calculator.sln @@ -25,6 +25,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphingImpl", "GraphingImp EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GraphControl", "GraphControl\GraphControl.vcxproj", "{E727A92B-F149-492C-8117-C039A298719B}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TraceLogging", "TraceLogging\TraceLogging.vcxproj", "{FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM = Debug|ARM @@ -173,6 +175,22 @@ Global {E727A92B-F149-492C-8117-C039A298719B}.Release|x64.Build.0 = Release|x64 {E727A92B-F149-492C-8117-C039A298719B}.Release|x86.ActiveCfg = Release|Win32 {E727A92B-F149-492C-8117-C039A298719B}.Release|x86.Build.0 = Release|Win32 + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Debug|ARM.ActiveCfg = Debug|ARM + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Debug|ARM.Build.0 = Debug|ARM + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Debug|ARM64.Build.0 = Debug|ARM64 + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Debug|x64.ActiveCfg = Debug|x64 + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Debug|x64.Build.0 = Debug|x64 + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Debug|x86.ActiveCfg = Debug|Win32 + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Debug|x86.Build.0 = Debug|Win32 + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Release|ARM.ActiveCfg = Release|ARM + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Release|ARM.Build.0 = Release|ARM + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Release|ARM64.ActiveCfg = Release|ARM64 + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Release|ARM64.Build.0 = Release|ARM64 + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Release|x64.ActiveCfg = Release|x64 + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Release|x64.Build.0 = Release|x64 + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Release|x86.ActiveCfg = Release|Win32 + {FC81FF41-02CD-4CD9-9BC5-45A1E39AC6ED}.Release|x86.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/src/Calculator/Calculator.vcxproj b/src/Calculator/Calculator.vcxproj index ae195362c..98f041ca8 100644 --- a/src/Calculator/Calculator.vcxproj +++ b/src/Calculator/Calculator.vcxproj @@ -17,7 +17,7 @@ black Always TemporaryKey.pfx - true + True False @@ -262,6 +262,7 @@ + App.xaml @@ -431,6 +432,7 @@ + Create Create diff --git a/src/Calculator/Calculator.vcxproj.filters b/src/Calculator/Calculator.vcxproj.filters index 5b6e9ec7e..6365b6f39 100644 --- a/src/Calculator/Calculator.vcxproj.filters +++ b/src/Calculator/Calculator.vcxproj.filters @@ -328,6 +328,7 @@ Common + @@ -435,6 +436,7 @@ Common + @@ -1537,5 +1539,7 @@ + + \ No newline at end of file diff --git a/src/Calculator/Controls/EquationTextBox.cpp b/src/Calculator/Controls/EquationTextBox.cpp index 48f84ec6e..5a607eb75 100644 --- a/src/Calculator/Controls/EquationTextBox.cpp +++ b/src/Calculator/Controls/EquationTextBox.cpp @@ -27,6 +27,7 @@ DEPENDENCY_PROPERTY_INITIALIZATION(EquationTextBox, EquationButtonContentIndex); DEPENDENCY_PROPERTY_INITIALIZATION(EquationTextBox, HasError); DEPENDENCY_PROPERTY_INITIALIZATION(EquationTextBox, IsAddEquationMode); DEPENDENCY_PROPERTY_INITIALIZATION(EquationTextBox, MathEquation); +DEPENDENCY_PROPERTY_INITIALIZATION(EquationTextBox, IsEquationLineDisabled); EquationTextBox::EquationTextBox() { @@ -69,9 +70,8 @@ void EquationTextBox::OnApplyTemplate() auto toolTip = ref new ToolTip(); auto equationButtonMessage = LocalizationStringUtil::GetLocalizedString( - m_equationButton->IsChecked->Value ? resProvider->GetResourceString(L"showEquationButtonToolTip") - : resProvider->GetResourceString(L"hideEquationButtonToolTip"), - EquationButtonContentIndex); + IsEquationLineDisabled ? resProvider->GetResourceString(L"showEquationButtonToolTip") + : resProvider->GetResourceString(L"hideEquationButtonToolTip"), EquationButtonContentIndex); toolTip->Content = equationButtonMessage; ToolTipService::SetToolTip(m_equationButton, toolTip); @@ -238,9 +238,8 @@ void EquationTextBox::OnEquationButtonClicked(Object ^ sender, RoutedEventArgs ^ auto resProvider = AppResourceProvider::GetInstance(); auto equationButtonMessage = LocalizationStringUtil::GetLocalizedString( - m_equationButton->IsChecked->Value ? resProvider->GetResourceString(L"showEquationButtonToolTip") - : resProvider->GetResourceString(L"hideEquationButtonToolTip"), - EquationButtonContentIndex); + IsEquationLineDisabled ? resProvider->GetResourceString(L"showEquationButtonToolTip") + : resProvider->GetResourceString(L"hideEquationButtonToolTip"), EquationButtonContentIndex); toolTip->Content = equationButtonMessage; ToolTipService::SetToolTip(m_equationButton, toolTip); @@ -269,9 +268,11 @@ void EquationTextBox::OnRemoveButtonClicked(Object ^ sender, RoutedEventArgs ^ e if (m_equationButton) { - m_equationButton->IsChecked = false; + IsEquationLineDisabled = false; } + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::RemoveFunction); + VisualStateManager::GoToState(this, "Normal", true); } @@ -280,6 +281,7 @@ void EquationTextBox::OnColorChooserButtonClicked(Object ^ sender, RoutedEventAr if (ColorChooserFlyout != nullptr && m_richEditBox != nullptr) { ColorChooserFlyout->ShowAt(m_richEditBox); + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::StylePicker); } } diff --git a/src/Calculator/Controls/EquationTextBox.h b/src/Calculator/Controls/EquationTextBox.h index 1a5e88135..cb768a6fb 100644 --- a/src/Calculator/Controls/EquationTextBox.h +++ b/src/Calculator/Controls/EquationTextBox.h @@ -6,6 +6,7 @@ #include "CalcViewModel/Common/Utils.h" #include "CalcViewModel/GraphingCalculator/EquationViewModel.h" #include "Calculator/Controls/MathRichEditBox.h" +#include "CalcViewModel/Common/TraceLogger.h" namespace CalculatorApp { @@ -24,6 +25,7 @@ namespace CalculatorApp DEPENDENCY_PROPERTY(Platform::String ^, MathEquation); DEPENDENCY_PROPERTY_WITH_CALLBACK(bool, HasError); DEPENDENCY_PROPERTY_WITH_CALLBACK(bool, IsAddEquationMode); + DEPENDENCY_PROPERTY(bool, IsEquationLineDisabled); PROPERTY_R(bool, HasFocus); diff --git a/src/Calculator/EquationStylePanelControl.xaml.cpp b/src/Calculator/EquationStylePanelControl.xaml.cpp index e143d07af..f35861be5 100644 --- a/src/Calculator/EquationStylePanelControl.xaml.cpp +++ b/src/Calculator/EquationStylePanelControl.xaml.cpp @@ -41,6 +41,8 @@ void EquationStylePanelControl::SelectionChanged(Object ^ /*sender */, Selection { SelectedColor = brush->Color; } + + TraceLogger::GetInstance()->LogGraphLineStyleChanged(LineStyleType::Color); } } diff --git a/src/Calculator/EquationStylePanelControl.xaml.h b/src/Calculator/EquationStylePanelControl.xaml.h index b3c3aabb0..4876e7be1 100644 --- a/src/Calculator/EquationStylePanelControl.xaml.h +++ b/src/Calculator/EquationStylePanelControl.xaml.h @@ -5,6 +5,7 @@ #include "EquationStylePanelControl.g.h" #include "CalcViewModel/Common/Utils.h" +#include "CalcViewModel/Common/TraceLogger.h" namespace CalculatorApp { diff --git a/src/Calculator/Utils/DispatcherTimerDelayer.cpp b/src/Calculator/Utils/DispatcherTimerDelayer.cpp new file mode 100644 index 000000000..219b416b5 --- /dev/null +++ b/src/Calculator/Utils/DispatcherTimerDelayer.cpp @@ -0,0 +1,39 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#include "pch.h" +#include "DispatcherTimerDelayer.h" + +using namespace CalculatorApp; +using namespace Windows::UI::Xaml; +using namespace Windows::Foundation; + +DispatcherTimerDelayer::DispatcherTimerDelayer(TimeSpan timeSpan) +{ + m_timer = ref new DispatcherTimer(); + m_timer->Interval = timeSpan; + auto interval = m_timer->Interval; + m_timer->Tick += ref new EventHandler(this, &DispatcherTimerDelayer::Timer_Tick); +} + +void DispatcherTimerDelayer::Timer_Tick(Object ^ sender, Object ^ e) +{ + m_timer->Stop(); + Action(this, nullptr); +} + +void DispatcherTimerDelayer::Start() +{ + m_timer->Start(); +} + +void DispatcherTimerDelayer::ResetAndStart() +{ + m_timer->Stop(); + m_timer->Start(); +} + +void DispatcherTimerDelayer::Stop() +{ + m_timer->Stop(); +} diff --git a/src/Calculator/Utils/DispatcherTimerDelayer.h b/src/Calculator/Utils/DispatcherTimerDelayer.h new file mode 100644 index 000000000..8b479181c --- /dev/null +++ b/src/Calculator/Utils/DispatcherTimerDelayer.h @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#pragma once + +#include "pch.h" + +namespace CalculatorApp +{ + public ref class DispatcherTimerDelayer sealed + { + public: + DispatcherTimerDelayer(Windows::Foundation::TimeSpan timeSpan); + + void Start(); + void ResetAndStart(); + void Stop(); + + event Windows::Foundation::EventHandler ^ Action; + + private: + void Timer_Tick(Platform::Object ^ sender, Platform::Object ^ e); + + Windows::UI::Xaml::DispatcherTimer ^ m_timer; + }; +} diff --git a/src/Calculator/Views/Calculator.xaml.cpp b/src/Calculator/Views/Calculator.xaml.cpp index af854d60c..b27274081 100644 --- a/src/Calculator/Views/Calculator.xaml.cpp +++ b/src/Calculator/Views/Calculator.xaml.cpp @@ -150,7 +150,6 @@ void Calculator::OnLoaded(_In_ Object ^, _In_ RoutedEventArgs ^) Platform::String ^ Calculator::GetCurrentLayoutState() { - if (IsProgrammer) { return L"Programmer"; @@ -195,7 +194,7 @@ void Calculator::UpdateViewState() void Calculator::AnimateCalculator(bool resultAnimate) { - static auto uiSettings = ref new UISettings(); + static auto uiSettings = ref new UISettings(); if (uiSettings->AnimationsEnabled) { m_doAnimate = true; @@ -703,6 +702,11 @@ void Calculator::OnMemoryAccessKeyInvoked(_In_ UIElement ^ sender, _In_ AccessKe void CalculatorApp::Calculator::OnVisualStateChanged(Platform::Object ^ sender, Windows::UI::Xaml::VisualStateChangedEventArgs ^ e) { + if (!IsStandard && !IsScientific && !IsProgrammer) + { + return; + } + auto mode = IsStandard ? ViewMode::Standard : IsScientific ? ViewMode::Scientific : ViewMode::Programmer; TraceLogger::GetInstance()->LogVisualStateChanged(mode, e->NewState->Name, IsAlwaysOnTop); } diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml index 682075486..b2fd608ce 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml @@ -15,6 +15,7 @@ + @@ -130,9 +131,11 @@ + VerticalAlignment="Stretch" + IsChecked="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=IsEquationLineDisabled, Mode=TwoWay}"> Source == EquationSubmissionSource::FOCUS_LOST && submission->HasTextChanged && eq->Expression != nullptr && eq->Expression->Length() > 0)) { + eq->IsLineEnabled = true; unsigned int index = 0; if (Equations->IndexOf(eq, &index)) { @@ -219,6 +220,8 @@ void EquationInputArea::EquationTextBox_EquationButtonClicked(Object ^ sender, R { auto eq = GetViewModelFromEquationTextBox(sender); eq->IsLineEnabled = !eq->IsLineEnabled; + + TraceLogger::GetInstance()->LogShowHideButtonClicked(eq->IsLineEnabled ? false : true); } void EquationInputArea::EquationTextBox_Loaded(Object ^ sender, RoutedEventArgs ^ e) @@ -333,21 +336,25 @@ void EquationInputArea::SubmitTextbox(TextBox ^ sender) { val = validateDouble(sender->Text, variableViewModel->Value); variableViewModel->Value = val; + TraceLogger::GetInstance()->LogVariableChanged(L"ValueTextBox", variableViewModel->Name); } else if (sender->Name == "MinTextBox") { val = validateDouble(sender->Text, variableViewModel->Min); variableViewModel->Min = val; + TraceLogger::GetInstance()->LogVariableSettingsChanged(L"MinTextBox"); } else if (sender->Name == "MaxTextBox") { val = validateDouble(sender->Text, variableViewModel->Max); variableViewModel->Max = val; + TraceLogger::GetInstance()->LogVariableSettingsChanged(L"MaxTextBox"); } else if (sender->Name == "StepTextBox") { val = validateDouble(sender->Text, variableViewModel->Step); variableViewModel->Step = val; + TraceLogger::GetInstance()->LogVariableSettingsChanged(L"StepTextBox"); } else { @@ -419,6 +426,50 @@ void EquationInputArea::EquationTextBox_EquationFormatRequested(Object ^ sender, EquationFormatRequested(sender, e); } +void EquationInputArea::Slider_ValueChanged(Object ^ sender, RangeBaseValueChangedEventArgs ^ e) +{ + if (variableSliders == nullptr) + { + variableSliders = ref new Map(); + } + + auto slider = static_cast(sender); + + // The slider value updates when the user uses the TextBox to change the variable value. + // Check the focus state so that we don't trigger the event when the user used the textbox to change the variable value. + if (slider->FocusState == Windows::UI::Xaml::FocusState::Unfocused) + { + return; + } + + auto variableVM = static_cast(slider->DataContext); + if (variableVM == nullptr) + { + return; + } + + auto name = variableVM->Name; + + if (!variableSliders->HasKey(name)) + { + TimeSpan timeSpan; + timeSpan.Duration = 10000000; // The duration is 1 second. TimeSpan durations are expressed in 100 nanosecond units. + DispatcherTimerDelayer ^ delayer = ref new DispatcherTimerDelayer(timeSpan); + delayer->Action += ref new EventHandler([this, name](Platform::Object ^ sender, Platform::Object ^ e) { + TraceLogger::GetInstance()->LogVariableChanged("Slider", name); + variableSliders->Remove(name); + }); + delayer->Start(); + variableSliders->Insert(name, delayer); + } + + else + { + auto delayer = variableSliders->Lookup(name); + delayer->ResetAndStart(); + } +} + EquationViewModel ^ EquationInputArea::GetViewModelFromEquationTextBox(Object ^ sender) { auto tb = static_cast(sender); diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h index bc86845d1..ac30b589c 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h @@ -12,6 +12,8 @@ #include "Controls/EquationTextBox.h" #include "Converters/BooleanNegationConverter.h" #include "Controls/MathRichEditBox.h" +#include "CalcViewModel/Common/TraceLogger.h" +#include "Utils/DispatcherTimerDelayer.h" namespace CalculatorApp { @@ -36,7 +38,6 @@ public static Windows::UI::Xaml::Media::SolidColorBrush ^ ToSolidColorBrush(Windows::UI::Color color) { return ref new Windows::UI::Xaml::Media::SolidColorBrush(color); } - private: void OnPropertyChanged(Platform::String ^ propertyName); void OnEquationsPropertyChanged(); @@ -65,6 +66,7 @@ public void SubmitTextbox(Windows::UI::Xaml::Controls::TextBox ^ textbox); void VariableAreaTapped(Platform::Object ^ sender, Windows::UI::Xaml::Input::TappedRoutedEventArgs ^ e); void EquationTextBox_EquationFormatRequested(Platform::Object ^ sender, CalculatorApp::Controls::MathRichEditBoxFormatRequest ^ e); + void Slider_ValueChanged(Platform::Object ^ sender, Windows::UI::Xaml::Controls::Primitives::RangeBaseValueChangedEventArgs ^ e); CalculatorApp::ViewModel::EquationViewModel ^ GetViewModelFromEquationTextBox(Platform::Object ^ sender); @@ -72,5 +74,6 @@ public int m_lastLineColorIndex; int m_lastFunctionLabelIndex; ViewModel::EquationViewModel ^ m_equationToFocus; + Platform::Collections::Map ^ variableSliders; }; } diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml index 432b6bcb5..4682c27eb 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml @@ -390,7 +390,7 @@ MaxWidth="420"/> - + diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp index 0a64613d5..1a2096f40 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp @@ -217,6 +217,7 @@ void CalculatorApp::GraphingCalculator::OnShareClick(Platform::Object ^ sender, { // Ask the OS to start a share action. DataTransferManager::ShowShareUI(); + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::Share); } // When share is invoked (by the user or programmatically) the event handler we registered will be called to populate the data package with the @@ -348,16 +349,19 @@ void GraphingCalculator::OnVariableChanged(Platform::Object ^ sender, VariableCh void GraphingCalculator::OnZoomInCommand(Object ^ /* parameter */) { GraphingControl->ZoomFromCenter(zoomInScale); + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::ZoomIn); } void GraphingCalculator::OnZoomOutCommand(Object ^ /* parameter */) { GraphingControl->ZoomFromCenter(zoomOutScale); + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::ZoomOut); } void GraphingCalculator::OnZoomResetCommand(Object ^ /* parameter */) { GraphingControl->ResetGrid(); + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::ZoomReset); } String ^ GraphingCalculator::GetTracingLegend(Platform::IBox ^ isTracing) @@ -525,6 +529,7 @@ void CalculatorApp::GraphingCalculator::ActiveTracing_Checked(Platform::Object ^ KeyboardShortcutManager::IgnoreEscape(false); TracePointer->Visibility = ::Visibility::Visible; + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::ActiveTracingChecked); } void CalculatorApp::GraphingCalculator::ActiveTracing_Unchecked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e) @@ -543,6 +548,7 @@ void CalculatorApp::GraphingCalculator::ActiveTracing_Unchecked(Platform::Object KeyboardShortcutManager::HonorEscape(); TracePointer->Visibility = ::Visibility::Collapsed; + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::ActiveTracingUnchecked); } void CalculatorApp::GraphingCalculator::ActiveTracing_KeyUp(Windows::UI::Core::CoreWindow ^ sender, Windows::UI::Core::KeyEventArgs ^ args) @@ -557,6 +563,7 @@ void CalculatorApp::GraphingCalculator::ActiveTracing_KeyUp(Windows::UI::Core::C void GraphingCalculator::GraphSettingsButton_Click(Object ^ sender, RoutedEventArgs ^ e) { DisplayGraphSettings(); + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::GraphSettings); } void GraphingCalculator::DisplayGraphSettings() @@ -676,3 +683,8 @@ void GraphingCalculator::GraphMenuFlyoutItem_Click(Object ^ sender, RoutedEventA dataPackage->SetBitmap(bitmapStream); ::Clipboard::SetContent(dataPackage); } + +void GraphingCalculator::OnVisualStateChanged(Object ^ sender, VisualStateChangedEventArgs ^ e) +{ + TraceLogger::GetInstance()->LogVisualStateChanged(ViewMode::Graphing, e->NewState->Name, false); +} diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h index e1662cc5a..9810ce883 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h @@ -9,6 +9,7 @@ #include "Views\GraphingCalculator\KeyGraphFeaturesPanel.xaml.h" #include "Views\GraphingCalculator\GraphingNumPad.xaml.h" #include "Views\GraphingCalculator\GraphingSettings.xaml.h" +#include "CalcViewModel/Common/TraceLogger.h" namespace CalculatorApp { @@ -97,6 +98,7 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo void OnHighContrastChanged(Windows::UI::ViewManagement::AccessibilitySettings ^ sender, Platform::Object ^ args); void OnEquationFormatRequested(Platform::Object ^ sender, CalculatorApp::Controls::MathRichEditBoxFormatRequest ^ e); void GraphMenuFlyoutItem_Click(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void OnVisualStateChanged(Platform::Object ^ sender, Windows::UI::Xaml::VisualStateChangedEventArgs ^ e); }; } diff --git a/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.cpp b/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.cpp index d3235af30..5c2fb55eb 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.cpp @@ -203,6 +203,7 @@ void GraphingNumPad::Button_Clicked(Platform::Object ^ sender, DependencyPropert if (mathRichEdit != nullptr && sender != nullptr) { auto id = button->ButtonId; + TraceLogger::GetInstance()->UpdateButtonUsage(id, CalculatorApp::Common::ViewMode::Graphing); auto output = buttonOutput.find(id); mathRichEdit->InsertText(std::get<0>(output->second), std::get<1>(output->second), std::get<2>(output->second)); } @@ -214,6 +215,7 @@ void GraphingNumPad::SubmitButton_Clicked(Platform::Object ^ /*sender*/, RoutedE if (mathRichEdit != nullptr) { mathRichEdit->SubmitEquation(CalculatorApp::Controls::EquationSubmissionSource::ENTER_KEY); + TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::Submit, CalculatorApp::Common::ViewMode::Graphing); } } @@ -224,6 +226,7 @@ void GraphingNumPad::ClearButton_Clicked(Platform::Object ^ /*sender*/, RoutedEv { mathRichEdit->MathText = L""; mathRichEdit->SubmitEquation(CalculatorApp::Controls::EquationSubmissionSource::PROGRAMMATIC); + TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::Clear, CalculatorApp::Common::ViewMode::Graphing); } } @@ -233,6 +236,7 @@ void GraphingNumPad::BackSpaceButton_Clicked(Platform::Object ^ /*sender*/, Rout if (mathRichEdit != nullptr) { mathRichEdit->BackSpace(); + TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::Backspace, CalculatorApp::Common::ViewMode::Graphing); } } diff --git a/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.h b/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.h index 37ec8a31c..35f4d7809 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml.h @@ -7,6 +7,7 @@ #include "CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.h" #include "Views/GraphingCalculator/EquationInputArea.xaml.h" #include "CalcViewModel/Common/CalculatorButtonUser.h" +#include "CalcViewModel/Common/TraceLogger.h" namespace CalculatorApp { diff --git a/src/Calculator/pch.h b/src/Calculator/pch.h index 4bf2fe600..13812fec7 100644 --- a/src/Calculator/pch.h +++ b/src/Calculator/pch.h @@ -41,6 +41,7 @@ #include "winrt/Windows.System.UserProfile.h" #include "winrt/Windows.UI.ViewManagement.h" #include "winrt/Windows.UI.Xaml.h" +#include "winrt/Windows.Foundation.h" // Project Headers #include "App.xaml.h" diff --git a/src/GraphControl/Control/Grapher.cpp b/src/GraphControl/Control/Grapher.cpp index a1fca8e90..4696cba0e 100644 --- a/src/GraphControl/Control/Grapher.cpp +++ b/src/GraphControl/Control/Grapher.cpp @@ -197,7 +197,16 @@ namespace GraphControl return; } - PlotGraph(true); + bool keepCurrentView = true; + + // If the equation has changed, the IsLineEnabled state is reset. + // This checks if the equation has been reset and sets keepCurrentView to false in this case. + if (!equation->HasGraphError && !equation->IsValidated && equation->IsLineEnabled) + { + keepCurrentView = false; + } + + PlotGraph(keepCurrentView); } KeyGraphFeaturesInfo ^ Grapher::AnalyzeEquation(Equation ^ equation) @@ -254,6 +263,25 @@ namespace GraphControl } } + int valid = 0; + int invalid = 0; + for (Equation ^ eq : Equations) + { + if (eq->HasGraphError) + { + invalid++; + } + if (eq->IsValidated) + { + valid++; + } + } + if (!m_trigUnitsChanged) + { + TraceLogger::GetInstance()->LogEquationCountChanged(valid, invalid); + } + + m_trigUnitsChanged = false; GraphPlottedEvent(this, ref new RoutedEventArgs()); } @@ -457,6 +485,11 @@ namespace GraphControl } } + if (Variables->Size != updatedVariables->Size) + { + TraceLogger::GetInstance()->LogVariableCountChanged(updatedVariables->Size); + } + Variables = updatedVariables; VariablesUpdated(this, Variables); } @@ -968,6 +1001,7 @@ optional>> Grapher::TryInitializeGraph(bo m_graph->GetRenderer()->GetDisplayRanges(xMin, xMax, yMin, yMax); auto initResult = m_graph->TryInitialize(graphingExp); m_graph->GetRenderer()->SetDisplayRanges(xMin, xMax, yMin, yMax); + return initResult; } else diff --git a/src/GraphControl/Control/Grapher.h b/src/GraphControl/Control/Grapher.h index e6cdedf05..3cbaf1d65 100644 --- a/src/GraphControl/Control/Grapher.h +++ b/src/GraphControl/Control/Grapher.h @@ -12,6 +12,7 @@ #include "Common.h" #include "Models/KeyGraphFeaturesInfo.h" #include +#include "Logger/TraceLogger.h" namespace GraphControl { @@ -126,6 +127,7 @@ public if (value != (int)m_solver->EvalOptions().GetTrigUnitMode()) { m_solver->EvalOptions().SetTrigUnitMode((Graphing::EvalTrigUnitMode)value); + m_trigUnitsChanged = true; PlotGraph(true); } } @@ -296,6 +298,7 @@ public void SetEquationsAsValid(); void SetEquationErrors(); std::optional>> TryInitializeGraph(bool keepCurrentView, _In_ const Graphing::IExpression* graphingExp = nullptr); + private: DX::RenderMain ^ m_renderMain = nullptr; @@ -317,6 +320,7 @@ public const std::shared_ptr m_graph; bool m_calculatedForceProportional = false; bool m_tracingTracking; + bool m_trigUnitsChanged; enum KeysPressedSlots { Left, diff --git a/src/GraphControl/GraphControl.vcxproj b/src/GraphControl/GraphControl.vcxproj index 460cbdcd0..0cf32b1bd 100644 --- a/src/GraphControl/GraphControl.vcxproj +++ b/src/GraphControl/GraphControl.vcxproj @@ -283,12 +283,18 @@ $(GraphingImplLibDir);%(AdditionalLibraryDirectories) + + + /DSEND_DIAGNOSTICS %(AdditionalOptions) + + + @@ -301,6 +307,7 @@ + @@ -322,6 +329,11 @@ {52E03A58-B378-4F50-8BFB-F659FB85E790} + + + {fc81ff41-02cd-4cd9-9bc5-45a1e39ac6ed} + + \ No newline at end of file diff --git a/src/GraphControl/GraphControl.vcxproj.filters b/src/GraphControl/GraphControl.vcxproj.filters index 2b7c4e99e..e9d9d8f97 100644 --- a/src/GraphControl/GraphControl.vcxproj.filters +++ b/src/GraphControl/GraphControl.vcxproj.filters @@ -32,6 +32,7 @@ Models + @@ -59,6 +60,7 @@ Models + @@ -66,9 +68,8 @@ - - - + + diff --git a/src/GraphControl/Logger/TraceLogger.cpp b/src/GraphControl/Logger/TraceLogger.cpp new file mode 100644 index 000000000..8654f2ea2 --- /dev/null +++ b/src/GraphControl/Logger/TraceLogger.cpp @@ -0,0 +1,89 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#include "pch.h" +#include "TraceLogger.h" + +using namespace TraceLogging; +using namespace Concurrency; +using namespace std; +using namespace Platform; +using namespace Windows::Foundation; +using namespace Windows::Foundation::Diagnostics; +using namespace Windows::Globalization; + +namespace GraphControl +{ + static reader_writer_lock s_traceLoggerLock; + + constexpr auto GRAPHING_MODE = L"Graphing"; + constexpr auto CALC_MODE = L"CalcMode"; + + // Diagnostics events. Uploaded to asimov. + constexpr auto EVENT_NAME_EQUATION_COUNT_CHANGED = L"EquationCountChanged"; + constexpr auto EVENT_NAME_FUNCTION_ANALYSIS_PERFORMED = L"FunctionAnalysisPerformed"; + constexpr auto EVENT_NAME_VARIABLES_COUNT_CHANGED = L"VariablesCountChanged"; + + TraceLogger ^ TraceLogger::GetInstance() + { + static TraceLogger ^ s_selfInstance = ref new TraceLogger(); + return s_selfInstance; + } + + void TraceLogger::LogEquationCountChanged(int currentValidEquations, int currentInvalidEquations) + { + static bool firstRun = true; + if (firstRun) + { + firstRun = false; + return; + } + + // Update the total valid/invalid equations to record the max value. + // Equations are added/removed/updated one at a time, so we know either + // currentValidEquations or currentInvalidEquations increased, + // but they cannot both increase at the same time + // If an equation was removed, do not decrement the total count. + static uint64 TotalValidEquations = 0; + static uint64 TotalInvalidEquations = 0; + static uint64 PreviousValidEquations = 0; + static uint64 PreviousInvalidEquations = 0; + + if (currentValidEquations > PreviousValidEquations) + { + TotalValidEquations++; + } + else if (currentInvalidEquations > PreviousInvalidEquations) + { + TotalInvalidEquations++; + } + + PreviousValidEquations = currentValidEquations; + PreviousInvalidEquations = currentInvalidEquations; + + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), StringReference(GRAPHING_MODE)); + fields->AddUInt64(StringReference(L"ConcurrentValidFunctions"), currentValidEquations); + fields->AddUInt64(StringReference(L"ConcurrentInvalidFunctions"), currentInvalidEquations); + fields->AddUInt64(StringReference(L"TotalValidFunctions"), TotalValidEquations); + fields->AddUInt64(StringReference(L"TotalInvalidFunctions"), TotalInvalidEquations); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_EQUATION_COUNT_CHANGED), fields); + } + + void TraceLogger::LogFunctionAnalysisPerformed(int analysisErrorType, uint32 tooComplexFlag) + { + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), StringReference(GRAPHING_MODE)); + fields->AddInt32(StringReference(L"AnalysisErrorType"), analysisErrorType); + fields->AddUInt32(StringReference(L"TooComplexFeatures"), tooComplexFlag); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_FUNCTION_ANALYSIS_PERFORMED), fields); + } + + void TraceLogger::LogVariableCountChanged(int variablesCount) + { + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), StringReference(GRAPHING_MODE)); + fields->AddInt64(StringReference(L"VariableCount"), variablesCount); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_VARIABLES_COUNT_CHANGED), fields); + } +} diff --git a/src/GraphControl/Logger/TraceLogger.h b/src/GraphControl/Logger/TraceLogger.h new file mode 100644 index 000000000..682c66875 --- /dev/null +++ b/src/GraphControl/Logger/TraceLogger.h @@ -0,0 +1,27 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#pragma once + +#include "Common.h" + +// A trace logging provider can only be instantiated and registered once per module. +// This class implements a singleton model ensure that only one instance is created. +namespace GraphControl +{ + + public ref class TraceLogger sealed + { + internal: + static TraceLogger ^ GetInstance(); + + void LogEquationCountChanged(int currentValidEquations, int currentInvalidEquations); + void LogFunctionAnalysisPerformed(int analysisErrorType, uint32 tooComplexFlag); + void LogVariableCountChanged(int variablesCount); + + private: + TraceLogger() + { + } + }; +} diff --git a/src/GraphControl/Models/KeyGraphFeaturesInfo.cpp b/src/GraphControl/Models/KeyGraphFeaturesInfo.cpp index 3d5a7d209..ca48f5c95 100644 --- a/src/GraphControl/Models/KeyGraphFeaturesInfo.cpp +++ b/src/GraphControl/Models/KeyGraphFeaturesInfo.cpp @@ -59,6 +59,8 @@ KeyGraphFeaturesInfo ^ KeyGraphFeaturesInfo::Create(IGraphFunctionAnalysisData d res->ObliqueAsymptotes = ConvertWStringVector(data.ObliqueAsymptotes); res->TooComplexFeatures = data.TooComplexFeatures; res->AnalysisError = CalculatorApp::AnalysisErrorType::NoError; + + TraceLogger::GetInstance()->LogFunctionAnalysisPerformed(CalculatorApp::AnalysisErrorType::NoError, res->TooComplexFeatures); return res; } @@ -66,5 +68,7 @@ KeyGraphFeaturesInfo ^ KeyGraphFeaturesInfo::Create(CalculatorApp::AnalysisError { auto res = ref new KeyGraphFeaturesInfo(); res->AnalysisError = type; + + TraceLogger::GetInstance()->LogFunctionAnalysisPerformed(type, 0); return res; } diff --git a/src/GraphControl/pch.h b/src/GraphControl/pch.h index 286138408..790610387 100644 --- a/src/GraphControl/pch.h +++ b/src/GraphControl/pch.h @@ -1,3 +1,6 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + #pragma once //C4453: A '[WebHostHidden]' type should not be used on the published surface of a public type that is not '[WebHostHidden]' diff --git a/src/GraphControl/winrtHeaders.h b/src/GraphControl/winrtHeaders.h index 971dfd361..3730cb593 100644 --- a/src/GraphControl/winrtHeaders.h +++ b/src/GraphControl/winrtHeaders.h @@ -3,6 +3,7 @@ #include #include #include +#include #include template diff --git a/src/TraceLogging/TraceLogging.vcxproj b/src/TraceLogging/TraceLogging.vcxproj new file mode 100644 index 000000000..ba0a960ea --- /dev/null +++ b/src/TraceLogging/TraceLogging.vcxproj @@ -0,0 +1,294 @@ + + + + + Debug + ARM + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + Release + ARM + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {fc81ff41-02cd-4cd9-9bc5-45a1e39ac6ed} + WindowsRuntimeComponent + TraceLogging + en-US + 14.0 + true + Windows Store + 10.0.18362.0 + 10.0.17134.0 + 10.0 + + + + DynamicLibrary + true + v142 + + + DynamicLibrary + true + v142 + + + DynamicLibrary + true + v142 + + + DynamicLibrary + true + v142 + + + DynamicLibrary + false + true + v142 + + + DynamicLibrary + false + true + v142 + + + DynamicLibrary + false + true + v142 + + + DynamicLibrary + false + true + v142 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + false + + + false + + + false + + + false + + + false + + + false + + + false + + + + Use + _WINRT_DLL;%(PreprocessorDefinitions) + pch.h + $(IntDir)pch.pch + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + /bigobj /await /std:c++17 /utf-8 %(AdditionalOptions) + 28204 + + + Console + false + + + + + Use + _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions) + pch.h + $(IntDir)pch.pch + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + /bigobj %(AdditionalOptions) + 28204 + + + Console + false + + + + + Use + _WINRT_DLL;%(PreprocessorDefinitions) + pch.h + $(IntDir)pch.pch + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + /bigobj %(AdditionalOptions) + 28204 + + + Console + false + + + + + Use + _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions) + pch.h + $(IntDir)pch.pch + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + /bigobj %(AdditionalOptions) + 28204 + + + Console + false + + + + + Use + _WINRT_DLL;%(PreprocessorDefinitions) + pch.h + $(IntDir)pch.pch + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + /bigobj %(AdditionalOptions) + 28204 + + + Console + false + + + + + Use + _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions) + pch.h + $(IntDir)pch.pch + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + /bigobj %(AdditionalOptions) + 28204 + + + Console + false + + + + + Use + _WINRT_DLL;%(PreprocessorDefinitions) + pch.h + $(IntDir)pch.pch + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + /bigobj %(AdditionalOptions) + 28204 + + + Console + false + + + + + Use + _WINRT_DLL;NDEBUG;%(PreprocessorDefinitions) + pch.h + $(IntDir)pch.pch + $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) + /bigobj %(AdditionalOptions) + 28204 + + + Console + false + + + + + /DSEND_DIAGNOSTICS %(AdditionalOptions) + + + + + + + + + Create + Create + Create + Create + Create + Create + Create + Create + + + + + + + \ No newline at end of file diff --git a/src/TraceLogging/TraceLogging.vcxproj.filters b/src/TraceLogging/TraceLogging.vcxproj.filters new file mode 100644 index 000000000..23e4274c1 --- /dev/null +++ b/src/TraceLogging/TraceLogging.vcxproj.filters @@ -0,0 +1,17 @@ + + + + + 32f35fa0-613c-4f4e-b062-c61ab420e23b + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tga;tiff;tif;png;wav;mfcribbon-ms + + + + + + + + + + + \ No newline at end of file diff --git a/src/TraceLogging/TraceLoggingCommon.cpp b/src/TraceLogging/TraceLoggingCommon.cpp new file mode 100644 index 000000000..715bb8ce6 --- /dev/null +++ b/src/TraceLogging/TraceLoggingCommon.cpp @@ -0,0 +1,88 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#include "pch.h" +#include "TraceLoggingCommon.h" + +using namespace TraceLogging; +using namespace std; +using namespace Platform;; +using namespace Windows::Foundation; +using namespace Windows::Foundation::Diagnostics; + +#ifdef SEND_DIAGNOSTICS +// c.f. WINEVENT_KEYWORD_RESERVED_63-56 0xFF00000000000000 // Bits 63-56 - channel keywords +// c.f. WINEVENT_KEYWORD_* 0x00FF000000000000 // Bits 55-48 - system-reserved keywords +constexpr int64_t MICROSOFT_KEYWORD_LEVEL_1 = 0x0000800000000000; // Bit 47 +constexpr int64_t MICROSOFT_KEYWORD_LEVEL_2 = 0x0000400000000000; // Bit 46 +constexpr int64_t MICROSOFT_KEYWORD_LEVEL_3 = 0x0000200000000000; // Bit 45 +#else +// define all Keyword options as 0 when we do not want to upload app diagnostics +constexpr int64_t MICROSOFT_KEYWORD_LEVEL_1 = 0; +constexpr int64_t MICROSOFT_KEYWORD_LEVEL_2 = 0; +constexpr int64_t MICROSOFT_KEYWORD_LEVEL_3 = 0; +#endif + +constexpr auto SESSION_GUID = L"SessionGuid"; +constexpr auto PDT_PRIVACY_DATA_TAG = L"PartA_PrivTags"; +constexpr auto PDT_PRODUCT_AND_SERVICE_USAGE = 0x0000'0000'0200'0000u; + +TraceLoggingCommon::TraceLoggingCommon() + : g_calculatorProvider( + ref new LoggingChannel( + L"MicrosoftCalculator", + ref new LoggingChannelOptions(GUID{ 0x4f50731a, 0x89cf, 0x4782, 0xb3, 0xe0, 0xdc, 0xe8, 0xc9, 0x4, 0x76, 0xba }), + GUID{ 0x905ca09, 0x610e, 0x401e, 0xb6, 0x50, 0x2f, 0x21, 0x29, 0x80, 0xb9, 0xe0 })) + , // Unique providerID {0905CA09-610E-401E-B650-2F212980B9E0} + m_appLaunchActivity{ nullptr } +{ + CoCreateGuid(&sessionGuid); +} + + TraceLoggingCommon ^ TraceLoggingCommon::GetInstance() +{ + static TraceLoggingCommon ^ s_selfInstance = ref new TraceLoggingCommon(); + return s_selfInstance; +} + +bool TraceLoggingCommon::GetTraceLoggingProviderEnabled() +{ + return g_calculatorProvider->Enabled; +} + +void TraceLoggingCommon::LogLevel1Event(String ^ eventName, LoggingFields ^ fields) +{ + if (!GetTraceLoggingProviderEnabled()) + { + return; + } + + fields->AddGuid(ref new String(SESSION_GUID), sessionGuid); + fields->AddUInt64(ref new String(PDT_PRIVACY_DATA_TAG), PDT_PRODUCT_AND_SERVICE_USAGE); + + g_calculatorProvider->LogEvent(eventName, fields, LoggingLevel::Verbose, ref new LoggingOptions(MICROSOFT_KEYWORD_LEVEL_1)); +} + +void TraceLoggingCommon::LogLevel2Event(String ^ eventName, LoggingFields ^ fields) +{ + if (!GetTraceLoggingProviderEnabled()) + { + return; + } + + fields->AddGuid(ref new String(SESSION_GUID), sessionGuid); + fields->AddUInt64(ref new String(PDT_PRIVACY_DATA_TAG), PDT_PRODUCT_AND_SERVICE_USAGE); + g_calculatorProvider->LogEvent(eventName, fields, LoggingLevel::Verbose, ref new LoggingOptions(MICROSOFT_KEYWORD_LEVEL_2)); +} + +void TraceLoggingCommon::LogLevel3Event(String ^ eventName, LoggingFields ^ fields) +{ + if (!GetTraceLoggingProviderEnabled()) + { + return; + } + + fields->AddGuid(ref new String(SESSION_GUID), sessionGuid); + fields->AddUInt64(ref new String(PDT_PRIVACY_DATA_TAG), PDT_PRODUCT_AND_SERVICE_USAGE); + g_calculatorProvider->LogEvent(eventName, fields, LoggingLevel::Verbose, ref new LoggingOptions(MICROSOFT_KEYWORD_LEVEL_3)); +} diff --git a/src/TraceLogging/TraceLoggingCommon.h b/src/TraceLogging/TraceLoggingCommon.h new file mode 100644 index 000000000..c81253d57 --- /dev/null +++ b/src/TraceLogging/TraceLoggingCommon.h @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#pragma once + +namespace TraceLogging +{ + public ref class TraceLoggingCommon sealed + { + public: + static TraceLoggingCommon ^ GetInstance(); + + // As mentioned in Microsoft's Privacy Statement(https://privacy.microsoft.com/en-US/privacystatement#maindiagnosticsmodule), + // sampling is involved in Microsoft's diagnostic data collection process. + // These keywords provide additional input into how frequently an event might be sampled. + // The lower the level of the keyword, the higher the possibility that the corresponding event may be sampled. + void LogLevel1Event(Platform::String ^ eventName, Windows::Foundation::Diagnostics::LoggingFields ^ fields); + void LogLevel2Event(Platform::String ^ eventName, Windows::Foundation::Diagnostics::LoggingFields ^ fields); + void LogLevel3Event(Platform::String ^ eventName, Windows::Foundation::Diagnostics::LoggingFields ^ fields); + + bool GetTraceLoggingProviderEnabled(); + + private: + TraceLoggingCommon(); + + + Windows::Foundation::Diagnostics::LoggingChannel ^ g_calculatorProvider; + Windows::Foundation::Diagnostics::LoggingActivity ^ m_appLaunchActivity; + GUID sessionGuid; + }; +} diff --git a/src/TraceLogging/pch.cpp b/src/TraceLogging/pch.cpp new file mode 100644 index 000000000..b175e3fd2 --- /dev/null +++ b/src/TraceLogging/pch.cpp @@ -0,0 +1,4 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#include "pch.h" diff --git a/src/TraceLogging/pch.h b/src/TraceLogging/pch.h new file mode 100644 index 000000000..f1d2ac395 --- /dev/null +++ b/src/TraceLogging/pch.h @@ -0,0 +1,10 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#pragma once + +#include +#include + +// C++\WinRT Headers +#include "Windows.Foundation.Diagnostics.h" From 0490d8cd20043384875422d8228665bad5ef90b5 Mon Sep 17 00:00:00 2001 From: Scott Freeman Date: Fri, 13 Mar 2020 14:06:20 -0400 Subject: [PATCH 25/76] Reducing the number of wstring copies when constructing Unit and Category (#936) --- src/CalcManager/UnitConverter.h | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/src/CalcManager/UnitConverter.h b/src/CalcManager/UnitConverter.h index 9d65324ec..d97e9ce20 100644 --- a/src/CalcManager/UnitConverter.h +++ b/src/CalcManager/UnitConverter.h @@ -6,8 +6,8 @@ #include #include #include -#include "sal_cross_platform.h" // for SAL -#include // for std::shared_ptr +#include "sal_cross_platform.h" // for SAL +#include // for std::shared_ptr namespace UnitConversionManager { @@ -18,11 +18,11 @@ namespace UnitConversionManager Unit() { } - Unit(int id, std::wstring name, std::wstring abbreviation, bool isConversionSource, bool isConversionTarget, bool isWhimsical) + Unit(int id, std::wstring_view name, std::wstring abbreviation, bool isConversionSource, bool isConversionTarget, bool isWhimsical) : id(id) , name(name) , accessibleName(name) - , abbreviation(abbreviation) + , abbreviation(std::move(abbreviation)) , isConversionSource(isConversionSource) , isConversionTarget(isConversionTarget) , isWhimsical(isWhimsical) @@ -31,23 +31,26 @@ namespace UnitConversionManager Unit( int id, - std::wstring currencyName, - std::wstring countryName, + std::wstring_view currencyName, + std::wstring_view countryName, std::wstring abbreviation, bool isRtlLanguage, bool isConversionSource, bool isConversionTarget) : id(id) - , abbreviation(abbreviation) + , abbreviation(std::move(abbreviation)) , isConversionSource(isConversionSource) , isConversionTarget(isConversionTarget) , isWhimsical(false) { - std::wstring nameValue1 = isRtlLanguage ? currencyName : countryName; - std::wstring nameValue2 = isRtlLanguage ? countryName : currencyName; + auto nameValue1 = isRtlLanguage ? currencyName : countryName; + auto nameValue2 = isRtlLanguage ? countryName : currencyName; - name = nameValue1 + L" - " + nameValue2; - accessibleName = nameValue1 + L" " + nameValue2; + name = nameValue1; + name.append(L" - ").append(nameValue2); + + accessibleName = nameValue1; + accessibleName.append(1, L' ').append(nameValue2); } int id; @@ -84,7 +87,7 @@ namespace UnitConversionManager Category(int id, std::wstring name, bool supportsNegative) : id(id) - , name(name) + , name(std::move(name)) , supportsNegative(supportsNegative) { } From 41dcbf53ec2c07e4e9ceea930cc100fb19122328 Mon Sep 17 00:00:00 2001 From: Matt Cooley Date: Fri, 13 Mar 2020 12:40:57 -0700 Subject: [PATCH 26/76] Remove CMakeLists for now (#1086) --- src/CMakeLists.txt | 11 ----------- src/CalcManager/CEngine/CMakeLists.txt | 14 -------------- src/CalcManager/CMakeLists.txt | 11 ----------- src/CalcManager/Ratpack/CMakeLists.txt | 14 -------------- 4 files changed, 50 deletions(-) delete mode 100644 src/CMakeLists.txt delete mode 100644 src/CalcManager/CEngine/CMakeLists.txt delete mode 100644 src/CalcManager/CMakeLists.txt delete mode 100644 src/CalcManager/Ratpack/CMakeLists.txt diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt deleted file mode 100644 index ef9032690..000000000 --- a/src/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -cmake_minimum_required(VERSION 3.13) -project(calculator CXX) -set(CMAKE_CXX_STANDARD 17) - -if(CMAKE_CXX_COMPILER MATCHES ".*clang") - # Clang disagress with libstdc++ about constexpr-ness of wstring_view - # See https://github.com/Microsoft/calculator/pull/321 - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") -endif() - -add_subdirectory(CalcManager) diff --git a/src/CalcManager/CEngine/CMakeLists.txt b/src/CalcManager/CEngine/CMakeLists.txt deleted file mode 100644 index ba4348ffd..000000000 --- a/src/CalcManager/CEngine/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -target_sources(CalcManager PRIVATE - calc.cpp - CalcInput.cpp - CalcUtils.cpp - History.cpp - Number.cpp - Rational.cpp - RationalMath.cpp - scicomm.cpp - scidisp.cpp - scifunc.cpp - scioper.cpp - sciset.cpp -) diff --git a/src/CalcManager/CMakeLists.txt b/src/CalcManager/CMakeLists.txt deleted file mode 100644 index c02bc78d2..000000000 --- a/src/CalcManager/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -add_library(CalcManager - CalculatorHistory.cpp - CalculatorManager.cpp - ExpressionCommand.cpp - pch.cpp - UnitConverter.cpp -) -target_include_directories(CalcManager PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) - -add_subdirectory(Ratpack) -add_subdirectory(CEngine) diff --git a/src/CalcManager/Ratpack/CMakeLists.txt b/src/CalcManager/Ratpack/CMakeLists.txt deleted file mode 100644 index 3fbd7ae31..000000000 --- a/src/CalcManager/Ratpack/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -target_sources(CalcManager PRIVATE - basex.cpp - conv.cpp - exp.cpp - fact.cpp - itrans.cpp - itransh.cpp - logic.cpp - num.cpp - rat.cpp - support.cpp - trans.cpp - transh.cpp -) From f527dce88d5606dd2b95593586963de12a17b8af Mon Sep 17 00:00:00 2001 From: pi1024e <49824824+pi1024e@users.noreply.github.com> Date: Mon, 16 Mar 2020 12:29:58 -0400 Subject: [PATCH 27/76] Use static_cast instead of C-style cast in UnitConverter.cpp (#1089) --- src/CalcManager/UnitConverter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CalcManager/UnitConverter.cpp b/src/CalcManager/UnitConverter.cpp index 2d738a6c9..baeecdbb6 100644 --- a/src/CalcManager/UnitConverter.cpp +++ b/src/CalcManager/UnitConverter.cpp @@ -209,7 +209,7 @@ vector UnitConverter::StringToVector(wstring_view w, wstring_view delim while (delimiterIndex != wstring_view::npos) { serializedTokens.emplace_back(w.substr(startIndex, delimiterIndex - startIndex)); - startIndex = delimiterIndex + (int)delimiter.size(); + startIndex = delimiterIndex + static_cast(delimiter.size()); delimiterIndex = w.find(delimiter, startIndex); } if (addRemainder) From 76fa670f929d01afa607b5377299a110adc275ee Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Mon, 16 Mar 2020 11:54:19 -0700 Subject: [PATCH 28/76] Support mouse gestures when active tracing is enabled (#1064) * Make the pointer follow the mouse * Only render when necessary * Move trace rendering to background thread --- src/GraphControl/Control/Grapher.cpp | 52 +++++++++++++++++-- src/GraphControl/Control/Grapher.h | 1 + src/GraphControl/DirectX/RenderMain.cpp | 66 +++++++++++++++++++++++-- src/GraphControl/DirectX/RenderMain.h | 9 +++- 4 files changed, 121 insertions(+), 7 deletions(-) diff --git a/src/GraphControl/Control/Grapher.cpp b/src/GraphControl/Control/Grapher.cpp index 4696cba0e..da7113874 100644 --- a/src/GraphControl/Control/Grapher.cpp +++ b/src/GraphControl/Control/Grapher.cpp @@ -93,11 +93,19 @@ namespace GraphControl { if (auto renderer = m_graph->GetRenderer()) { + m_renderMain->GetCriticalSection().lock(); + if (SUCCEEDED(renderer->ScaleRange(centerX, centerY, scale))) { + m_renderMain->GetCriticalSection().unlock(); + m_renderMain->RunRenderPass(); GraphViewChangedEvent(this, ref new RoutedEventArgs()); } + else + { + m_renderMain->GetCriticalSection().unlock(); + } } } } @@ -612,9 +620,33 @@ namespace GraphControl { if (m_renderMain) { - PointerPoint ^ currPoint = e->GetCurrentPoint(/* relativeTo */ this); - m_renderMain->PointerLocation = currPoint->Position; - UpdateTracingChanged(); + Point currPosition = e->GetCurrentPoint(/* relativeTo */ this)->Position; + + if (m_renderMain->ActiveTracing) + { + PointerValueChangedEvent(currPosition); + ActiveTraceCursorPosition = currPosition; + + if (m_cachedCursor == nullptr) + { + m_cachedCursor = ::CoreWindow::GetForCurrentThread()->PointerCursor; + ::CoreWindow::GetForCurrentThread()->PointerCursor = nullptr; + } + } + else if (m_cachedCursor != nullptr) + { + m_renderMain->PointerLocation = currPosition; + + ::CoreWindow::GetForCurrentThread()->PointerCursor = m_cachedCursor; + m_cachedCursor = nullptr; + + UpdateTracingChanged(); + } + else + { + m_renderMain->PointerLocation = currPosition; + UpdateTracingChanged(); + } e->Handled = true; } @@ -628,6 +660,12 @@ namespace GraphControl TracingChangedEvent(false); e->Handled = true; } + + if (m_cachedCursor != nullptr) + { + ::CoreWindow::GetForCurrentThread()->PointerCursor = m_cachedCursor; + m_cachedCursor = nullptr; + } } void Grapher::OnPointerWheelChanged(PointerRoutedEventArgs ^ e) @@ -699,11 +737,15 @@ namespace GraphControl translationX /= -width; translationY /= height; + m_renderMain->GetCriticalSection().lock(); + if (FAILED(renderer->MoveRangeByRatio(translationX, translationY))) { + m_renderMain->GetCriticalSection().unlock(); return; } + m_renderMain->GetCriticalSection().unlock(); needsRenderPass = true; } @@ -717,11 +759,15 @@ namespace GraphControl const auto& pos = e->Position; const auto [centerX, centerY] = PointerPositionToGraphPosition(pos.X, pos.Y, width, height); + m_renderMain->GetCriticalSection().lock(); + if (FAILED(renderer->ScaleRange(centerX, centerY, scale))) { + m_renderMain->GetCriticalSection().unlock(); return; } + m_renderMain->GetCriticalSection().unlock(); needsRenderPass = true; } diff --git a/src/GraphControl/Control/Grapher.h b/src/GraphControl/Control/Grapher.h index 3cbaf1d65..d1c443a77 100644 --- a/src/GraphControl/Control/Grapher.h +++ b/src/GraphControl/Control/Grapher.h @@ -333,6 +333,7 @@ public bool m_KeysPressed[5]; bool m_Moving; Windows::UI::Xaml::DispatcherTimer ^ m_TracingTrackingTimer; + Windows::UI::Core::CoreCursor ^ m_cachedCursor; public: Windows::Storage::Streams::RandomAccessStreamReference ^ GetGraphBitmapStream(); diff --git a/src/GraphControl/DirectX/RenderMain.cpp b/src/GraphControl/DirectX/RenderMain.cpp index 169af46b0..8f2747866 100644 --- a/src/GraphControl/DirectX/RenderMain.cpp +++ b/src/GraphControl/DirectX/RenderMain.cpp @@ -86,7 +86,12 @@ namespace GraphControl::DX { m_Tracing = false; } - RunRenderPass(); + + bool wasPointRendered = m_Tracing; + if (CanRenderPoint() || wasPointRendered) + { + RunRenderPassAsync(); + } } } @@ -95,7 +100,12 @@ namespace GraphControl::DX if (m_pointerLocation != location) { m_pointerLocation = location; - RunRenderPass(); + + bool wasPointRendered = m_Tracing; + if (CanRenderPoint() || wasPointRendered) + { + RunRenderPassAsync(); + } } } @@ -104,7 +114,12 @@ namespace GraphControl::DX if (m_drawActiveTracing != value) { m_drawActiveTracing = value; - RunRenderPass(); + + bool wasPointRendered = m_Tracing; + if (CanRenderPoint() || wasPointRendered) + { + RunRenderPassAsync(); + } } } @@ -127,6 +142,51 @@ namespace GraphControl::DX } } + bool RenderMain::CanRenderPoint() + { + if (m_drawNearestPoint || m_drawActiveTracing) + { + Point trackPoint = m_pointerLocation; + + if (m_drawActiveTracing) + { + trackPoint = m_activeTracingPointerLocation; + } + + if (!m_criticalSection.try_lock()) + { + return false; + } + + m_criticalSection.unlock(); + + critical_section::scoped_lock lock(m_criticalSection); + + int formulaId = -1; + float nearestPointLocationX, nearestPointLocationY; + double nearestPointValueX, nearestPointValueY, rhoValueOut, thetaValueOut, tValueOut; + m_Tracing = m_graph->GetRenderer()->GetClosePointData( + trackPoint.X, + trackPoint.Y, + formulaId, + nearestPointLocationX, + nearestPointLocationY, + nearestPointValueX, + nearestPointValueY, + rhoValueOut, + thetaValueOut, + tValueOut) + == S_OK; + m_Tracing = m_Tracing && !isnan(nearestPointLocationX) && !isnan(nearestPointLocationY); + } + else + { + m_Tracing = false; + } + + return m_Tracing; + } + bool RenderMain::RunRenderPass() { // Non async render passes cancel if they can't obtain the lock immediatly diff --git a/src/GraphControl/DirectX/RenderMain.h b/src/GraphControl/DirectX/RenderMain.h index f46471130..96f18c01c 100644 --- a/src/GraphControl/DirectX/RenderMain.h +++ b/src/GraphControl/DirectX/RenderMain.h @@ -45,6 +45,8 @@ namespace GraphControl::DX void CreateWindowSizeDependentResources(); + bool RenderMain::CanRenderPoint(); + bool RunRenderPass(); Windows::Foundation::IAsyncAction ^ RunRenderPassAsync(bool allowCancel = true); @@ -78,7 +80,12 @@ namespace GraphControl::DX if (m_activeTracingPointerLocation != newValue) { m_activeTracingPointerLocation = newValue; - RunRenderPass(); + + bool wasPointRendered = m_Tracing; + if (CanRenderPoint() || wasPointRendered) + { + RunRenderPassAsync(); + } } } } From 319f0e850c44b4afad799d800c4e47677054ee76 Mon Sep 17 00:00:00 2001 From: Rudy Huyn Date: Mon, 16 Mar 2020 12:52:29 -0700 Subject: [PATCH 29/76] Don't display the history button when the panel disappears (#1081) --- src/Calculator/Views/Calculator.xaml.cpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/Calculator/Views/Calculator.xaml.cpp b/src/Calculator/Views/Calculator.xaml.cpp index b27274081..40de04490 100644 --- a/src/Calculator/Views/Calculator.xaml.cpp +++ b/src/Calculator/Views/Calculator.xaml.cpp @@ -407,10 +407,6 @@ void Calculator::UpdateHistoryState() { // flyout view DockHistoryHolder->Child = nullptr; - if (!IsProgrammer) - { - HistoryButton->Visibility = ::Visibility::Visible; - } } } From d14423d0f1a51bb96069c23157173ff01cea2bb0 Mon Sep 17 00:00:00 2001 From: pi1024e <49824824+pi1024e@users.noreply.github.com> Date: Mon, 16 Mar 2020 18:52:48 -0400 Subject: [PATCH 30/76] Merge initializers and assignments (#1088) --- src/CalcManager/CEngine/scicomm.cpp | 64 +++++++++++---------------- src/CalcManager/CalculatorHistory.cpp | 16 +++---- src/CalcManager/Ratpack/conv.cpp | 24 +++------- src/CalcManager/Ratpack/exp.cpp | 18 +++----- src/CalcManager/Ratpack/fact.cpp | 9 +--- src/CalcManager/Ratpack/logic.cpp | 6 +-- src/CalcManager/Ratpack/num.cpp | 55 +++++++++-------------- src/CalcManager/Ratpack/support.cpp | 7 +-- 8 files changed, 69 insertions(+), 130 deletions(-) diff --git a/src/CalcManager/CEngine/scicomm.cpp b/src/CalcManager/CEngine/scicomm.cpp index f7509ab3b..b73867140 100644 --- a/src/CalcManager/CEngine/scicomm.cpp +++ b/src/CalcManager/CEngine/scicomm.cpp @@ -36,18 +36,15 @@ namespace IDC_RSHF,3, IDC_LSHF,3, IDC_RSHFL,3, IDC_MOD,3, IDC_DIV,3, IDC_MUL,3, IDC_PWR,4, IDC_ROOT,4, IDC_LOGBASEX,4 }; - unsigned int iPrec; - iPrec = 0; - while ((iPrec < size(rgbPrec)) && (nopCode != rgbPrec[iPrec])) + for (unsigned int iPrec = 0; iPrec < size(rgbPrec); iPrec += 2) { - iPrec += 2; - } - if (iPrec >= size(rgbPrec)) - { - iPrec = 0; + if (nopCode == rgbPrec[iPrec]) + { + return rgbPrec[iPrec + 1]; + } } - return rgbPrec[iPrec + 1]; + return 0; } } @@ -104,8 +101,6 @@ void CCalcEngine::ProcessCommand(OpCode wParam) void CCalcEngine::ProcessCommandWorker(OpCode wParam) { - int nx, ni; - // Save the last command. Some commands are not saved in this manor, these // commands are: // Inv, Deg, Rad, Grad, Stat, FE, MClear, Back, and Exp. The excluded @@ -163,14 +158,11 @@ void CCalcEngine::ProcessCommandWorker(OpCode wParam) DisplayNum(); // Causes 3.000 to shrink to 3. on first op. } } - else + else if (IsDigitOpCode(wParam) || wParam == IDC_PNT) { - if (IsDigitOpCode(wParam) || wParam == IDC_PNT) - { - m_bRecord = true; - m_input.Clear(); - CheckAndAddLastBinOpToHistory(); - } + m_bRecord = true; + m_input.Clear(); + CheckAndAddLastBinOpToHistory(); } // Interpret digit keys. @@ -203,7 +195,6 @@ void CCalcEngine::ProcessCommandWorker(OpCode wParam) // Change the operation if last input was operation. if (IsBinOpCode(m_nLastCom)) { - int nPrev; bool fPrecInvToHigher = false; // Is Precedence Inversion from lower to higher precedence happening ?? m_nOpCode = (int)wParam; @@ -214,9 +205,9 @@ void CCalcEngine::ProcessCommandWorker(OpCode wParam) // Here * is m_nPrevOpCode, m_currentVal is 2 (by 1*2), m_nLastCom is +, m_nOpCode is ^ if (m_fPrecedence && 0 != m_nPrevOpCode) { - nPrev = NPrecedenceOfOp(m_nPrevOpCode); - nx = NPrecedenceOfOp(m_nLastCom); - ni = NPrecedenceOfOp(m_nOpCode); + int nPrev = NPrecedenceOfOp(m_nPrevOpCode); + int nx = NPrecedenceOfOp(m_nLastCom); + int ni = NPrecedenceOfOp(m_nOpCode); if (nx <= nPrev && ni > nPrev) // condition for Precedence Inversion { fPrecInvToHigher = true; @@ -243,8 +234,8 @@ void CCalcEngine::ProcessCommandWorker(OpCode wParam) { DoPrecedenceCheckAgain: - nx = NPrecedenceOfOp((int)wParam); - ni = NPrecedenceOfOp(m_nOpCode); + int nx = NPrecedenceOfOp((int)wParam); + int ni = NPrecedenceOfOp(m_nOpCode); if ((nx > ni) && m_fPrecedence) { @@ -492,8 +483,8 @@ void CCalcEngine::ProcessCommandWorker(OpCode wParam) m_lastVal = m_precedenceVals[m_precedenceOpCount]; // Precedence Inversion check - ni = NPrecedenceOfOp(m_nPrevOpCode); - nx = NPrecedenceOfOp(m_nOpCode); + int ni = NPrecedenceOfOp(m_nPrevOpCode); + int nx = NPrecedenceOfOp(m_nOpCode); if (ni <= nx) { m_HistoryCollector.EnclosePrecInversionBrackets(); @@ -518,20 +509,15 @@ void CCalcEngine::ProcessCommandWorker(OpCode wParam) case IDC_OPENP: case IDC_CLOSEP: - nx = 0; - if (wParam == IDC_OPENP) - { - nx = 1; - } // -IF- the Paren holding array is full and we try to add a paren // -OR- the paren holding array is empty and we try to remove a // paren // -OR- the precedence holding array is full - if ((m_openParenCount >= MAXPRECDEPTH && nx) || (!m_openParenCount && !nx) + if ((m_openParenCount >= MAXPRECDEPTH && (wParam == IDC_OPENP)) || (!m_openParenCount && (wParam != IDC_OPENP)) || ((m_precedenceOpCount >= MAXPRECDEPTH && m_nPrecOp[m_precedenceOpCount - 1] != 0))) { - if (!m_openParenCount && !nx) + if (!m_openParenCount && (wParam != IDC_OPENP)) { m_pCalcDisplay->OnNoRightParenAdded(); } @@ -540,7 +526,7 @@ void CCalcEngine::ProcessCommandWorker(OpCode wParam) break; } - if (nx) + if (wParam == IDC_OPENP) { CheckAndAddLastBinOpToHistory(); m_HistoryCollector.AddOpenBraceToHistory(); @@ -588,8 +574,8 @@ void CCalcEngine::ProcessCommandWorker(OpCode wParam) for (m_nOpCode = m_nPrecOp[--m_precedenceOpCount]; m_nOpCode; m_nOpCode = m_nPrecOp[--m_precedenceOpCount]) { // Precedence Inversion check - ni = NPrecedenceOfOp(m_nPrevOpCode); - nx = NPrecedenceOfOp(m_nOpCode); + int ni = NPrecedenceOfOp(m_nPrevOpCode); + int nx = NPrecedenceOfOp(m_nOpCode); if (ni <= nx) { m_HistoryCollector.EnclosePrecInversionBrackets(); @@ -952,7 +938,7 @@ static const std::unordered_map operatorStringTable = { IDC_SECH, { SIDS_SECH, SIDS_ASECH } }, { IDC_CSCH, { SIDS_CSCH, SIDS_ACSCH } }, { IDC_COTH, { SIDS_COTH, SIDS_ACOTH } }, - + { IDC_LN, { L"", SIDS_POWE } }, { IDC_SQR, { SIDS_SQR } }, { IDC_CUB, { SIDS_CUBE } }, @@ -971,8 +957,8 @@ static const std::unordered_map operatorStringTable = { IDC_RSHFL, { SIDS_RSH } }, { IDC_RORC, { SIDS_ROR } }, { IDC_ROLC, { SIDS_ROL } }, - { IDC_CUBEROOT, {SIDS_CUBEROOT} }, - { IDC_MOD, {SIDS_MOD, L"", L"", L"", L"", L"", SIDS_PROGRAMMER_MOD} }, + { IDC_CUBEROOT, { SIDS_CUBEROOT } }, + { IDC_MOD, { SIDS_MOD, L"", L"", L"", L"", L"", SIDS_PROGRAMMER_MOD } }, }; wstring_view CCalcEngine::OpCodeToUnaryString(int nOpCode, bool fInv, ANGLE_TYPE angletype) diff --git a/src/CalcManager/CalculatorHistory.cpp b/src/CalcManager/CalculatorHistory.cpp index 6c9a002b1..384db076e 100644 --- a/src/CalcManager/CalculatorHistory.cpp +++ b/src/CalcManager/CalculatorHistory.cpp @@ -41,7 +41,6 @@ unsigned int CalculatorHistory::AddToHistory( _In_ shared_ptr>> const& commands, wstring_view result) { - unsigned int addedIndex; shared_ptr spHistoryItem = make_shared(); spHistoryItem->historyItemVector.spTokens = tokens; @@ -53,9 +52,7 @@ unsigned int CalculatorHistory::AddToHistory( // in the history doesn't get broken for RTL languages spHistoryItem->historyItemVector.expression = L'\u202d' + generatedExpression + L'\u202c'; spHistoryItem->historyItemVector.result = wstring(result); - addedIndex = AddItem(spHistoryItem); - - return addedIndex; + return AddItem(spHistoryItem); } unsigned int CalculatorHistory::AddItem(_In_ shared_ptr const& spHistoryItem) @@ -66,19 +63,18 @@ unsigned int CalculatorHistory::AddItem(_In_ shared_ptr const& spHi } m_historyItems.push_back(spHistoryItem); - unsigned int lastIndex = static_cast(m_historyItems.size() - 1); - return lastIndex; + return static_cast(m_historyItems.size() - 1); } bool CalculatorHistory::RemoveItem(unsigned int uIdx) { - if (uIdx > m_historyItems.size() - 1) + if (uIdx < m_historyItems.size()) { - return false; + m_historyItems.erase(m_historyItems.begin() + uIdx); + return true; } - m_historyItems.erase(m_historyItems.begin() + uIdx); - return true; + return false; } vector> const& CalculatorHistory::GetHistory() diff --git a/src/CalcManager/Ratpack/conv.cpp b/src/CalcManager/Ratpack/conv.cpp index ab7aba058..5578b0545 100644 --- a/src/CalcManager/Ratpack/conv.cpp +++ b/src/CalcManager/Ratpack/conv.cpp @@ -303,17 +303,13 @@ PRAT numtorat(_In_ PNUMBER pin, uint32_t radix) PNUMBER nRadixxtonum(_In_ PNUMBER a, uint32_t radix, int32_t precision) { - uint32_t bitmask; - uint32_t cdigits; - MANTTYPE* ptr; - PNUMBER sum = i32tonum(0, radix); PNUMBER powofnRadix = i32tonum(BASEX, radix); // A large penalty is paid for conversion of digits no one will see anyway. // limit the digits to the minimum of the existing precision or the // requested precision. - cdigits = precision + 1; + uint32_t cdigits = precision + 1; if (cdigits > (uint32_t)a->cdigit) { cdigits = (uint32_t)a->cdigit; @@ -323,10 +319,10 @@ PNUMBER nRadixxtonum(_In_ PNUMBER a, uint32_t radix, int32_t precision) numpowi32(&powofnRadix, a->exp + (a->cdigit - cdigits), radix, precision); // Loop over all the relative digits from MSD to LSD - for (ptr = &(a->mant[a->cdigit - 1]); cdigits > 0; ptr--, cdigits--) + for (MANTTYPE* ptr = &(a->mant[a->cdigit - 1]); cdigits > 0; ptr--, cdigits--) { // Loop over all the bits from MSB to LSB - for (bitmask = BASEX / 2; bitmask > 0; bitmask /= 2) + for (uint32_t bitmask = BASEX / 2; bitmask > 0; bitmask /= 2) { addnum(&sum, sum, radix); if (*ptr & bitmask) @@ -368,9 +364,7 @@ PNUMBER numtonRadixx(_In_ PNUMBER a, uint32_t radix) ptrdigit += a->cdigit - 1; PNUMBER thisdigit = nullptr; // thisdigit holds the current digit of a - // being summed into result. - int32_t idigit; // idigit is the iterate of digits in a. - for (idigit = 0; idigit < a->cdigit; idigit++) + for (int32_t idigit = 0; idigit < a->cdigit; idigit++) { mulnumx(&pnumret, num_radix); // WARNING: @@ -628,11 +622,10 @@ PNUMBER StringToNumber(wstring_view numberString, uint32_t radix, int32_t precis MANTTYPE* pmant = pnumret->mant + numberString.length() - 1; uint8_t state = START; // state is the state of the input state machine. - wchar_t curChar; for (const auto& c : numberString) { // If the character is the decimal separator, use L'.' for the purposes of the state machine. - curChar = (c == g_decimalSeparator ? L'.' : c); + wchar_t curChar = (c == g_decimalSeparator ? L'.' : c); // Switch states based on the character we encountered switch (curChar) @@ -1032,13 +1025,10 @@ int32_t numtoi32(_In_ PNUMBER pnum, uint32_t radix) bool stripzeroesnum(_Inout_ PNUMBER pnum, int32_t starting) { - MANTTYPE* pmant; - int32_t cdigits; bool fstrip = false; - // point pmant to the LeastCalculatedDigit - pmant = pnum->mant; - cdigits = pnum->cdigit; + MANTTYPE* pmant = pnum->mant; + int32_t cdigits = pnum->cdigit; // point pmant to the LSD if (cdigits > starting) { diff --git a/src/CalcManager/Ratpack/exp.cpp b/src/CalcManager/Ratpack/exp.cpp index 23257f731..b4020d45c 100644 --- a/src/CalcManager/Ratpack/exp.cpp +++ b/src/CalcManager/Ratpack/exp.cpp @@ -63,7 +63,6 @@ void exprat(_Inout_ PRAT* px, uint32_t radix, int32_t precision) { PRAT pwr = nullptr; PRAT pint = nullptr; - int32_t intpwr; if (rat_gt(*px, rat_max_exp, precision) || rat_lt(*px, rat_min_exp, precision)) { @@ -76,7 +75,7 @@ void exprat(_Inout_ PRAT* px, uint32_t radix, int32_t precision) intrat(&pint, radix, precision); - intpwr = rattoi32(pint, radix, precision); + const int32_t intpwr = rattoi32(pint, radix, precision); ratpowi32(&pwr, intpwr, precision); subrat(px, pint, precision); @@ -153,7 +152,6 @@ void _lograt(PRAT* px, int32_t precision) void lograt(_Inout_ PRAT* px, int32_t precision) { - bool fneglog; PRAT pwr = nullptr; // pwr is the large scaling factor. PRAT offset = nullptr; // offset is the incremental scaling factor. @@ -164,12 +162,10 @@ void lograt(_Inout_ PRAT* px, int32_t precision) } // Get number > 1, for scaling - fneglog = rat_lt(*px, rat_one, precision); + bool fneglog = rat_lt(*px, rat_one, precision); if (fneglog) { - // WARNING: This is equivalent to doing *px = 1 / *px - PNUMBER pnumtemp = nullptr; - pnumtemp = (*px)->pp; + PNUMBER pnumtemp = (*px)->pp; (*px)->pp = (*px)->pq; (*px)->pq = pnumtemp; } @@ -178,10 +174,7 @@ void lograt(_Inout_ PRAT* px, int32_t precision) // log(x*2^(BASEXPWR*k)) = BASEXPWR*k*log(2)+log(x) if (LOGRAT2(*px) > 1) { - // Take advantage of px's base BASEX to scale quickly down to - // a reasonable range. - int32_t intpwr; - intpwr = LOGRAT2(*px) - 1; + const int32_t intpwr = LOGRAT2(*px) - 1; (*px)->pq->exp += intpwr; pwr = i32torat(intpwr * BASEXPWR); mulrat(&pwr, ln_two, precision); @@ -448,10 +441,9 @@ void powratcomp(_Inout_ PRAT* px, _In_ PRAT y, uint32_t radix, int32_t precision { // If power is an integer let ratpowi32 deal with it. PRAT iy = nullptr; - int32_t inty; DUPRAT(iy, y); subrat(&iy, podd, precision); - inty = rattoi32(iy, radix, precision); + int32_t inty = rattoi32(iy, radix, precision); PRAT plnx = nullptr; DUPRAT(plnx, *px); diff --git a/src/CalcManager/Ratpack/fact.cpp b/src/CalcManager/Ratpack/fact.cpp index c026e536a..f0905e4fd 100644 --- a/src/CalcManager/Ratpack/fact.cpp +++ b/src/CalcManager/Ratpack/fact.cpp @@ -67,13 +67,9 @@ void _gamma(PRAT* pn, uint32_t radix, int32_t precision) PRAT sum = nullptr; PRAT err = nullptr; PRAT mpy = nullptr; - PRAT ratprec = nullptr; - PRAT ratRadix = nullptr; - int32_t oldprec; // Set up constants and initial conditions - oldprec = precision; - ratprec = i32torat(oldprec); + PRAT ratprec = i32torat(precision); // Find the best 'A' for convergence to the required precision. a = i32torat(radix); @@ -102,7 +98,7 @@ void _gamma(PRAT* pn, uint32_t radix, int32_t precision) exprat(&tmp, radix, precision); mulrat(&term, tmp, precision); lograt(&term, precision); - ratRadix = i32torat(radix); + const auto ratRadix = i32torat(radix); DUPRAT(tmp, ratRadix); lograt(&tmp, precision); subrat(&term, tmp, precision); @@ -173,7 +169,6 @@ void _gamma(PRAT* pn, uint32_t radix, int32_t precision) mulrat(&sum, mpy, precision); // And cleanup - precision = oldprec; destroyrat(ratprec); destroyrat(err); destroyrat(term); diff --git a/src/CalcManager/Ratpack/logic.cpp b/src/CalcManager/Ratpack/logic.cpp index c9094f339..197bda902 100644 --- a/src/CalcManager/Ratpack/logic.cpp +++ b/src/CalcManager/Ratpack/logic.cpp @@ -21,7 +21,6 @@ void lshrat(_Inout_ PRAT* pa, _In_ PRAT b, uint32_t radix, int32_t precision) { PRAT pwr = nullptr; - int32_t intb; intrat(pa, radix, precision); if (!zernum((*pa)->pp)) @@ -32,7 +31,7 @@ void lshrat(_Inout_ PRAT* pa, _In_ PRAT b, uint32_t radix, int32_t precision) // Don't attempt lsh of anything big throw(CALC_E_DOMAIN); } - intb = rattoi32(b, radix, precision); + const int32_t intb = rattoi32(b, radix, precision); DUPRAT(pwr, rat_two); ratpowi32(&pwr, intb, precision); mulrat(pa, pwr, precision); @@ -44,7 +43,6 @@ void rshrat(_Inout_ PRAT* pa, _In_ PRAT b, uint32_t radix, int32_t precision) { PRAT pwr = nullptr; - int32_t intb; intrat(pa, radix, precision); if (!zernum((*pa)->pp)) @@ -55,7 +53,7 @@ void rshrat(_Inout_ PRAT* pa, _In_ PRAT b, uint32_t radix, int32_t precision) // Don't attempt rsh of anything big and negative. throw(CALC_E_DOMAIN); } - intb = rattoi32(b, radix, precision); + const int32_t intb = rattoi32(b, radix, precision); DUPRAT(pwr, rat_two); ratpowi32(&pwr, intb, precision); divrat(pa, pwr, precision); diff --git a/src/CalcManager/Ratpack/num.cpp b/src/CalcManager/Ratpack/num.cpp index c45610524..6055e41d3 100644 --- a/src/CalcManager/Ratpack/num.cpp +++ b/src/CalcManager/Ratpack/num.cpp @@ -67,8 +67,7 @@ void _addnum(PNUMBER* pa, PNUMBER b, uint32_t radix) MANTTYPE* pcha; // pcha is a pointer to the mantissa of a. MANTTYPE* pchb; // pchb is a pointer to the mantissa of b. MANTTYPE* pchc; // pchc is a pointer to the mantissa of c. - int32_t cdigits; // cdigits is the max count of the digits results - // used as a counter. + int32_t cdigits; // cdigits is the max count of the digits results used as a counter. int32_t mexp; // mexp is the exponent of the result. MANTTYPE da; // da is a single 'digit' after possible padding. MANTTYPE db; // db is a single 'digit' after possible padding. @@ -558,48 +557,34 @@ bool equnum(_In_ PNUMBER a, _In_ PNUMBER b) bool lessnum(_In_ PNUMBER a, _In_ PNUMBER b) { - int32_t diff; - MANTTYPE* pa; - MANTTYPE* pb; - int32_t cdigits; - int32_t ccdigits; - MANTTYPE da; - MANTTYPE db; - - diff = (a->cdigit + a->exp) - (b->cdigit + b->exp); + int32_t diff = (a->cdigit + a->exp) - (b->cdigit + b->exp); if (diff < 0) { // The exponent of a is less than b return true; } - else + if (diff > 0) { - if (diff > 0) - { - return false; - } - else + return false; + } + MANTTYPE* pa = a->mant; + MANTTYPE* pb = b->mant; + pa += a->cdigit - 1; + pb += b->cdigit - 1; + int32_t cdigits = max(a->cdigit, b->cdigit); + int32_t ccdigits = cdigits; + for (; cdigits > 0; cdigits--) + { + MANTTYPE da = ((cdigits > (ccdigits - a->cdigit)) ? *pa-- : 0); + MANTTYPE db = ((cdigits > (ccdigits - b->cdigit)) ? *pb-- : 0); + diff = da - db; + if (diff) { - pa = a->mant; - pb = b->mant; - pa += a->cdigit - 1; - pb += b->cdigit - 1; - cdigits = max(a->cdigit, b->cdigit); - ccdigits = cdigits; - for (; cdigits > 0; cdigits--) - { - da = ((cdigits > (ccdigits - a->cdigit)) ? *pa-- : 0); - db = ((cdigits > (ccdigits - b->cdigit)) ? *pb-- : 0); - diff = da - db; - if (diff) - { - return (diff < 0); - } - } - // In this case, they are equal. - return false; + return (diff < 0); } } + // In this case, they are equal. + return false; } //---------------------------------------------------------------------------- diff --git a/src/CalcManager/Ratpack/support.cpp b/src/CalcManager/Ratpack/support.cpp index 81c737f5f..ef9e41063 100644 --- a/src/CalcManager/Ratpack/support.cpp +++ b/src/CalcManager/Ratpack/support.cpp @@ -596,15 +596,13 @@ void _dumprawrat(_In_ const wchar_t* varname, _In_ PRAT rat, wostream& out) void _dumprawnum(_In_ const wchar_t* varname, _In_ PNUMBER num, wostream& out) { - int i; - out << L"NUMBER " << varname << L" = {\n"; out << L"\t" << num->sign << L",\n"; out << L"\t" << num->cdigit << L",\n"; out << L"\t" << num->exp << L",\n"; out << L"\t{ "; - for (i = 0; i < num->cdigit; i++) + for (int i = 0; i < num->cdigit; i++) { out << L" " << num->mant[i] << L","; } @@ -681,10 +679,9 @@ void trimit(_Inout_ PRAT* px, int32_t precision) { if (!g_ftrueinfinite) { - int32_t trim; PNUMBER pp = (*px)->pp; PNUMBER pq = (*px)->pq; - trim = g_ratio * (min((pp->cdigit + pp->exp), (pq->cdigit + pq->exp)) - 1) - precision; + int32_t trim = g_ratio * (min((pp->cdigit + pp->exp), (pq->cdigit + pq->exp)) - 1) - precision; if (trim > g_ratio) { trim /= g_ratio; From 172bf08122a745279187c2f3ff43a6a50637939b Mon Sep 17 00:00:00 2001 From: pi1024e <49824824+pi1024e@users.noreply.github.com> Date: Mon, 16 Mar 2020 19:02:51 -0400 Subject: [PATCH 31/76] No need to invoke the compare method when we have an overloaded == operator. (#1091) --- src/CalcManager/UnitConverter.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/CalcManager/UnitConverter.cpp b/src/CalcManager/UnitConverter.cpp index baeecdbb6..c39d6d851 100644 --- a/src/CalcManager/UnitConverter.cpp +++ b/src/CalcManager/UnitConverter.cpp @@ -244,9 +244,9 @@ Unit UnitConverter::StringToUnit(wstring_view w) serializedUnit.name = Unquote(tokenList[1]); serializedUnit.accessibleName = serializedUnit.name; serializedUnit.abbreviation = Unquote(tokenList[2]); - serializedUnit.isConversionSource = (tokenList[3].compare(L"1") == 0); - serializedUnit.isConversionTarget = (tokenList[4].compare(L"1") == 0); - serializedUnit.isWhimsical = (tokenList[5].compare(L"1") == 0); + serializedUnit.isConversionSource = (tokenList[3] == L"1"); + serializedUnit.isConversionTarget = (tokenList[4] == L"1"); + serializedUnit.isWhimsical = (tokenList[5] == L"1"); return serializedUnit; } @@ -256,7 +256,7 @@ Category UnitConverter::StringToCategory(wstring_view w) assert(tokenList.size() == EXPECTEDSERIALIZEDCATEGORYTOKENCOUNT); Category serializedCategory; serializedCategory.id = wcstol(Unquote(tokenList[0]).c_str(), nullptr, 10); - serializedCategory.supportsNegative = (tokenList[1].compare(L"1") == 0); + serializedCategory.supportsNegative = (tokenList[1] == L"1"); serializedCategory.name = Unquote(tokenList[2]); return serializedCategory; } @@ -896,7 +896,7 @@ void UnitConverter::Calculate() else { int currentNumberSignificantDigits = GetNumberDigits(m_currentDisplay); - int precision = 0; + int precision; if (abs(returnValue) < OPTIMALDECIMALALLOWED) { precision = MAXIMUMDIGITSALLOWED; From 1b72ecb6b3a700852e522b1f768613c0ceb6e91e Mon Sep 17 00:00:00 2001 From: pi1024e <49824824+pi1024e@users.noreply.github.com> Date: Tue, 17 Mar 2020 12:56:54 -0400 Subject: [PATCH 32/76] Remove unused "this" in async lambda expression (#1094) --- src/CalcManager/UnitConverter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/CalcManager/UnitConverter.cpp b/src/CalcManager/UnitConverter.cpp index c39d6d851..05242a081 100644 --- a/src/CalcManager/UnitConverter.cpp +++ b/src/CalcManager/UnitConverter.cpp @@ -559,7 +559,7 @@ future> UnitConverter::RefreshCurrencyRatios() } shared_future sharedLoadResult = loadDataResult.share(); - return async([this, currencyDataLoader, sharedLoadResult]() { + return async([currencyDataLoader, sharedLoadResult]() { sharedLoadResult.wait(); bool didLoad = sharedLoadResult.get(); wstring timestamp; From 28dbdb3d946a3c4ad23e5a79457d509ae12ebb51 Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Tue, 17 Mar 2020 11:27:00 -0700 Subject: [PATCH 33/76] Persist variable settings after graph is plotted (#1055) * Allow copying graph as image * Persist variables * Revert "Allow copying graph as image" This reverts commit 4fc9d798bc5f3ff82efc4fb00140103213fb81e2. * fix binding bug * undo cert change * fix animation * remove extra lines * remove overrides * undo key comment --- .../GraphingCalculatorViewModel.cpp | 7 +- .../GraphingCalculatorViewModel.h | 2 +- .../GraphingCalculator/VariableViewModel.h | 74 +++++++++++++++---- .../GraphingCalculator/EquationInputArea.xaml | 17 +++-- src/GraphControl/Control/Grapher.cpp | 27 +++---- src/GraphControl/Control/Grapher.h | 13 ++-- src/GraphControl/GraphControl.vcxproj | 1 + src/GraphControl/GraphControl.vcxproj.filters | 5 +- src/GraphControl/Models/Variable.h | 26 +++++++ src/Settings.XamlStyler | 3 +- 10 files changed, 125 insertions(+), 50 deletions(-) create mode 100644 src/GraphControl/Models/Variable.h diff --git a/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.cpp b/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.cpp index 974cf8f85..4e6056124 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.cpp +++ b/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.cpp @@ -10,6 +10,7 @@ using namespace Platform::Collections; using namespace Windows::Foundation; using namespace Windows::Foundation::Collections; using namespace Windows::UI::Xaml::Data; +using namespace GraphControl; namespace CalculatorApp::ViewModel { @@ -24,12 +25,12 @@ namespace CalculatorApp::ViewModel { } - void GraphingCalculatorViewModel::UpdateVariables(IMap ^ variables) + void GraphingCalculatorViewModel::UpdateVariables(IMap ^ variables) { Variables->Clear(); - for (auto var : variables) + for (auto variablePair : variables) { - auto variable = ref new VariableViewModel(var->Key, var->Value); + auto variable = ref new VariableViewModel(variablePair->Key, variablePair->Value); variable->VariableUpdated += ref new EventHandler([this, variable](Object ^ sender, VariableChangedEventArgs e) { VariableUpdated(variable, VariableChangedEventArgs{ e.variableName, e.newValue }); }); diff --git a/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.h b/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.h index 78e89479b..eabd88e96 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/GraphingCalculatorViewModel.h @@ -24,7 +24,7 @@ namespace CalculatorApp::ViewModel event Windows::Foundation::EventHandler ^ VariableUpdated; - void UpdateVariables(Windows::Foundation::Collections::IMap ^ variables); + void UpdateVariables(Windows::Foundation::Collections::IMap ^ variables); void SetSelectedEquation(EquationViewModel ^ equation); private: diff --git a/src/CalcViewModel/GraphingCalculator/VariableViewModel.h b/src/CalcViewModel/GraphingCalculator/VariableViewModel.h index 4d9240e83..b412073fe 100644 --- a/src/CalcViewModel/GraphingCalculator/VariableViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/VariableViewModel.h @@ -18,47 +18,89 @@ public [Windows::UI::Xaml::Data::Bindable] public ref class VariableViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged { public: - VariableViewModel(Platform::String ^ name, double value) + VariableViewModel(Platform::String ^ name, GraphControl::Variable ^ variable) : m_Name(name) - , m_Value(value) + , m_variable{ variable } , m_SliderSettingsVisible(false) - , m_Min(0.0) - , m_Step(0.1) - , m_Max(2.0) { } OBSERVABLE_OBJECT(); OBSERVABLE_PROPERTY_R(Platform::String ^, Name); - OBSERVABLE_PROPERTY_RW(double, Min); - OBSERVABLE_PROPERTY_RW(double, Step); - OBSERVABLE_PROPERTY_RW(double, Max); OBSERVABLE_PROPERTY_RW(bool, SliderSettingsVisible); + property double Min + { + double get() + { + return m_variable->Min; + } + void set(double value) + { + if (m_variable->Min != value) + { + m_variable->Min = value; + RaisePropertyChanged("Min"); + } + } + } + + property double Step + { + double get() + { + return m_variable->Step; + } + void set(double value) + { + if (m_variable->Step != value) + { + m_variable->Step = value; + RaisePropertyChanged("Step"); + } + } + } + + property double Max + { + double get() + { + return m_variable->Max; + } + void set(double value) + { + if (m_variable->Max != value) + { + m_variable->Max = value; + RaisePropertyChanged("Max"); + } + } + } + event Windows::Foundation::EventHandler ^ VariableUpdated; property double Value { double get() { - return m_Value; + return m_variable->Value; } void set(double value) { - if (value < Min) + if (value < m_variable->Min) { - Min = value; + m_variable->Min = value; RaisePropertyChanged(L"Min"); } - else if (value > Max) + else if (value > m_variable->Max) { - Max = value; + m_variable->Max = value; RaisePropertyChanged(L"Max"); } - if (Value != value) + if (m_variable->Value != value) { - m_Value = value; + m_variable->Value = value; VariableUpdated(this, VariableChangedEventArgs{ Name, value }); RaisePropertyChanged(L"Value"); } @@ -66,6 +108,6 @@ public } private: - double m_Value; + GraphControl::Variable ^ m_variable; }; } diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml index b2fd608ce..55491b4b3 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml @@ -132,11 +132,11 @@ Margin="8,0,8,-6" VerticalAlignment="Center" DataContext="{x:Bind}" - Maximum="{x:Bind Max, Mode=TwoWay}" - Minimum="{x:Bind Min, Mode=TwoWay}" StepFrequency="{x:Bind Step, Mode=TwoWay}" ValueChanged="Slider_ValueChanged" - Value="{x:Bind Value, Mode=TwoWay}"/> + Value="{x:Bind Value, Mode=TwoWay}" + Maximum="{x:Bind Max, Mode=TwoWay}" + Minimum="{x:Bind Min, Mode=TwoWay}"/> - + - + @@ -882,10 +882,11 @@ + + + - - - + diff --git a/src/GraphControl/Control/Grapher.cpp b/src/GraphControl/Control/Grapher.cpp index da7113874..a796dfd3d 100644 --- a/src/GraphControl/Control/Grapher.cpp +++ b/src/GraphControl/Control/Grapher.cpp @@ -442,9 +442,9 @@ namespace GraphControl { critical_section::scoped_lock lock(m_renderMain->GetCriticalSection()); - for (auto variable : Variables) + for (auto variablePair : Variables) { - graph->SetArgValue(variable->Key->Data(), variable->Value); + graph->SetArgValue(variablePair->Key->Data(), variablePair->Value->Value); } } } @@ -470,7 +470,7 @@ namespace GraphControl void Grapher::UpdateVariables() { - auto updatedVariables = ref new Map(); + auto updatedVariables = ref new Map(); if (m_graph) { @@ -483,12 +483,19 @@ namespace GraphControl auto key = ref new String(graphVar->GetVariableName().data()); double value = 1.0; + Variable ^ variable; + if (Variables->HasKey(key)) { - value = Variables->Lookup(key); + variable = Variables->Lookup(key); + } + + if (variable == nullptr) + { + variable = ref new Variable(1.0); } - updatedVariables->Insert(key, value); + updatedVariables->Insert(key, variable); } } } @@ -504,17 +511,11 @@ namespace GraphControl void Grapher::SetVariable(Platform::String ^ variableName, double newValue) { - if (Variables->HasKey(variableName)) + if (!Variables->HasKey(variableName)) { - if (Variables->Lookup(variableName) == newValue) - { - return; - } - - Variables->Remove(variableName); + Variables->Insert(variableName, ref new Variable(newValue)); } - Variables->Insert(variableName, newValue); if (m_graph != nullptr && m_renderMain != nullptr) { diff --git a/src/GraphControl/Control/Grapher.h b/src/GraphControl/Control/Grapher.h index d1c443a77..5ca446aee 100644 --- a/src/GraphControl/Control/Grapher.h +++ b/src/GraphControl/Control/Grapher.h @@ -4,9 +4,10 @@ #pragma once #include "DirectX/RenderMain.h" -#include "../Models/Equation.h" -#include "../Models/EquationCollection.h" -#include "../Utils.h" +#include "Models/Equation.h" +#include "Models/EquationCollection.h" +#include "Models/Variable.h" +#include "Utils.h" #include "IGraphAnalyzer.h" #include "IMathSolver.h" #include "Common.h" @@ -43,9 +44,9 @@ public DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(bool, ForceProportionalAxes, true); DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(bool, UseCommaDecimalSeperator, false); DEPENDENCY_PROPERTY_WITH_DEFAULT( - SINGLE_ARG(Windows::Foundation::Collections::IObservableMap ^), + SINGLE_ARG(Windows::Foundation::Collections::IObservableMap ^), Variables, - SINGLE_ARG(ref new Platform::Collections::Map())); + SINGLE_ARG(ref new Platform::Collections::Map())); DEPENDENCY_PROPERTY_R_WITH_DEFAULT_AND_CALLBACK(GraphControl::EquationCollection ^, Equations, nullptr); DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(Windows::UI::Color, AxesColor, Windows::UI::Colors::Transparent); DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(Windows::UI::Color, GraphBackground, Windows::UI::Colors::Transparent); @@ -105,7 +106,7 @@ public } } - event Windows::Foundation::EventHandler ^> ^ VariablesUpdated; + event Windows::Foundation::EventHandler ^> ^ VariablesUpdated; void SetVariable(Platform::String ^ variableName, double newValue); Platform::String ^ ConvertToLinear(Platform::String ^ mmlString); Platform::String ^ FormatMathML(Platform::String ^ mmlString); diff --git a/src/GraphControl/GraphControl.vcxproj b/src/GraphControl/GraphControl.vcxproj index 0cf32b1bd..7a64af776 100644 --- a/src/GraphControl/GraphControl.vcxproj +++ b/src/GraphControl/GraphControl.vcxproj @@ -300,6 +300,7 @@ + diff --git a/src/GraphControl/GraphControl.vcxproj.filters b/src/GraphControl/GraphControl.vcxproj.filters index e9d9d8f97..60ea5d322 100644 --- a/src/GraphControl/GraphControl.vcxproj.filters +++ b/src/GraphControl/GraphControl.vcxproj.filters @@ -60,6 +60,9 @@ Models + + Models + @@ -70,7 +73,5 @@ - - \ No newline at end of file diff --git a/src/GraphControl/Models/Variable.h b/src/GraphControl/Models/Variable.h new file mode 100644 index 000000000..536edef25 --- /dev/null +++ b/src/GraphControl/Models/Variable.h @@ -0,0 +1,26 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#pragma once +#include "Utils.h" + +namespace GraphControl +{ +public + ref class Variable sealed + { + public: + PROPERTY_RW(double, Value); + PROPERTY_RW(double, Step); + PROPERTY_RW(double, Min); + PROPERTY_RW(double, Max); + + Variable(double value) + : m_Value{ value } + , m_Step{ 0.1 } + , m_Min{ 0.0 } + , m_Max{ 2.0 } + { + } + }; +} diff --git a/src/Settings.XamlStyler b/src/Settings.XamlStyler index 07bd12eb1..2c919209a 100644 --- a/src/Settings.XamlStyler +++ b/src/Settings.XamlStyler @@ -19,7 +19,8 @@ "*:*, *", "PageSource, PageIndex, Offset, Color, TargetName, Property, Value, StartPoint, EndPoint", "mc:Ignorable, d:IsDataSource, d:LayoutOverrides, d:IsStaticText", - "IsEnabled, x:Load, Load" + "IsEnabled, x:Load, Load", + "Value, Maximum, Minimum" ], "OrderAttributesByName": true, "PutEndingBracketOnNewLine": false, From 2d7133f5b73f608ab3d0b40a9296ae464b42c6a0 Mon Sep 17 00:00:00 2001 From: Matt Cooley Date: Mon, 23 Mar 2020 07:42:54 -0700 Subject: [PATCH 34/76] Update TemporaryKey.pfx (#1100) --- src/Calculator/TemporaryKey.pfx | Bin 2917 -> 2917 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/Calculator/TemporaryKey.pfx b/src/Calculator/TemporaryKey.pfx index b10fa3462d7c39f6d32bb1bb41ff26dda365577e..156a470f7c07aee51e1a679d909c710fc45aa2a3 100644 GIT binary patch delta 2645 zcmV-b3aa(x7UdR@Xn#S#j&tX``Y8ee2haq91lZ!4gw)hf%jLdgGxx)mc7e5 zf-}Lf-sFBB=5Y#5lw$ zO?_ra1srgC2+vm`Qi3gMl{ON3QHrrL79}`a(d=J1^;;KU8s=N?HY`n&te%9s0^nq4 zBwFEq!NgIS=QZQ1M#4{Fb~WvVht1vGLW24+lizI%(tqfhwBprg0CF&sieJha}u=Pa-n|vgG9WV2jj?4=jmI;!5AVOi`uAw3~S)`m)Y~2 zfl%x&SmWdm1d}$EkEKO6;R$K*H+0{$d6%U6&{B|}ZAVM!ED zF%4C+klh=+eHqB@YYxHfdR#0s5qkElCi?K=&7vdTni3eotjlo6PN^aeD%{;0zDE21 zg}<$|9qYqoa4ts_7X9?2Q?>&zJ?hwuf3R%m+J9!TdWZ=wb~4)Rk1eoG z(0>OfH|GDihblN=7L5r!;Ji|*Yod{lQRHhl{uPU*FoHJ2T_-2itSAUzF z35sQVVpw%pt`-KsWLXe&x`r#~Z8x?zn1dF14rZmh*6!lvv)l(>!&}4cA$W-&&xMqp z^gNC?09AR}FD)$!@p=)2vU~U$S!5c@y$X^{Sk=$Z;Abpbz$>6otLxkRo)?mexzKMooi($0R#bpHBDQG|B=32hf0m1gN+f&@lRH;#MoV-DZaz z%?~ZNzDsI6VpKWd*U=}=iLhMdfN+&%p$A+-G|t0sS-=j&3pQ^o;(K*tV9QPy)^Ku* zxd_4}>qqL-V=N`rL2dB|EP|PD(9WuMm2y-P-)5Sx7 zQ&3IS<)LS4DFW&_qaIEoB>vFGtyR5FCA?pbnU^1iem%^TrG5$gKqSsbgeC}h9*Gcs z4+(&oEgSwpbH%02yI1Je5o{E{1-OP9b|oC|GjiAvZ_vk+vvTvrI}fJjry+7@w*!?u zxcw3+dr!}5Z0k;V>WMBG6Ms5z$dG92M2Q{G|Zx54@tN^Qqx085__<(ez?guJ?|bRDGhE!)Vs$;1@RS#@payiyV0bX z6n=r);Ae{04#>~5tF>5W^9^15@h+7$ppwX1=RL@7F0uwSmfjw{1Y1^21;ksxaZaWn~{x4`iDs_nC!;*W~x4w2{rrC5mp(6TQDz$9ykiI@PLW@34;^wRkGJ`Yl9|tw$bp*YmBI&pnpC?l=j#0qu4$g2k$&( zq(#6s*dX}KV5K)*+6DfcD$GDnv$vwOEmrjC4Kz5({4j?~@twALt_MikTso>>VhT5y z=#MsmdpZDm|1`KDAFG1ghG`-tWagSAYvi+ppw8_uP5D?5<|H*>r|&;~Iehx=ux}Qr z?2&+g5}N-^I)66FBJ8LOl>(b}>KE6)_ick5TE47UwikfFtQuHS;8>ve8M%sY7<0?X zHoHdz3?YDTa?nx638`V3R|Lw2Weg_);?dne5v?9mD=!m{+pbv_wQz@vgolSs(azkw zQ?L~8iWc5cqSS|%<=;nS!-|5L9F`iW=s|pL=YK=oRl%*LeT;+QscCEc8~hwB z3mcs^zfvNv#8|Y;4q)ciJ)MxL4c5#O-WwaI%v`D-*Xjh1_HTYdzH~?DYDylbPAUcv zwSkV|nA{icdVjVj9Mipte~>?N=u;R+3q*kxkA8y>;Z1{>73_nzSbH$Xp^v4B@>shx zip&ybPk&F)=Q^QmJyCy-kk~NREa!ON z1sHr7+l~ZK6`R@|mX*>6a$uPk8AKc_fAK&EBWi<2)`0+?&l8FFh-BG$>kU)>c}P-3 zP$^~X?lG%`X5wJv@gIyOiz*e6&PPUED*kp$4Ss=MVB1`Gn{>B6JBns}tcf}@#T1{r zJSO82?W`bQ6)_X)mOe*L4keimwo`@AxU%yi6QFK-fnXPDwRsZB_B&QEJ1`$G2L=Tz z4g&%j1Qb-A|EJ|V5)~U2>R`rLR;r4`A`Ao+CWffGZ&+E6kEu3db+@p9mmZwI0s;rn DE*juH delta 2645 zcmV-b3aa(x7UdR@Xn(>&>C6QfF&_c~2haq91lZ6EZtNfY#z3CD5(k!EwNz*(hheDO z0L*&W=%KJ#SX66YKqt)yoo2Kp;_U^ym4f8Kq^O)CO-&_&W$=aewbTy`O})(}6}`sV zO`WA~qhvC1#@!J^OTb9>Pb%y|eZmWxIc9uES96AXhw4w(g@1NVsik0OKHBKBDDAY# zrmj`rT}%2i2?e_%;4Z==&)=N!aBZ%!X@$V0q_hdhHR+iIPrI9oZ}*y(DKsJ3|3!<7 z-P{6yztk-+v^uDvv<00x!cJNy35q);P#4BFc?L-vyxii^`hT@L5j3AaaHPNk!W$YW zW&sQ|;S8A=qksCxnIR>4r85!Ki+GCsXrJ!@UN|1|!fa}w@dm-NV?cD=Xp1~7@ae~4 z`~s6widM&w+O7of)=fPl!ETgjd6eY@=|G_|;$$yKCt*8Ysvh)iCM%xI0F)P|^c3A% z9zmPZYxDw%2f3GW&8bmq;}zWp#Q))+S0s$~6EDIh8-Je(06P!sm-4l@mQkyu$*!08 zbT{k@GeooG?^f^gnGFbHN@R18BJzNJF=v7kngT`wc%Kx~rX9Bz9tH69#oV$$F8%yC zbEmcv?cv>)1Fj@cn ztLh%<@{)Yl08_ri|KFg1GZwRGKyAD|#?4D@it&_A0>RFV>LGzHmXv6eDOJ-q4WKnW zUTTRX3GJ4M_TsT5Bzu~MJ}hks{ADjK*2ibXnt$Dl?Nf}(#45uJ;}-^tjgwFtx83oR zP^p75Njp6cSRaO+Wr`H@;6A-%_k=aUxFVUesV%lCV4Ly)3v}yKUEV%onL=Y7sH{+i z672E+6GNFJzze+OT?fF2SHTZ=A_?&`(+@0I2e4yJTwO}ZvP@$gx<{I%wAx!C<2PUW ziht7m)Z>FB$64?dPoWK%N*;9`TPx*qeBm+KI^ zy=Kwx@C~HP`n3Jk`+DoKO2XRnS|n&dXsW|f7yQ|!jS%EtKJ`!o!KqSLaXrmUJO0V= z_M}$bGcT7Sbxdb4>4$1@SHAS9Z-}EasLf{%u4t847UXq z`5mg^R^Rl_F7VmsnHJqy;v4N}-Ff+ zgsDqy8m}~a>y~{6O@yx!G5R+cfHu}ASqA~rHyPN~8>rUX3Amj%+0_(<01!0oNPnGh zlf!U5K9*Hw;r}BX~-*zw#9Hrn7zEJ;321 zw4bH#eXV(+KQjg&ibEJG_!&<;y^CVb_`V9DpI@c|=|j& ztU%th%|R^hSpl{XSYyb0Y0GG}rGKeD__pEZ>jwm~oL;9wIh?*$>zHX(^N94MA>Saz zI)z+JE*C`XZr8TPf`BIBXL@RkF3B3B$TVGQuKylBsa+^FRA&pk5Vj2r(;88xUZz}? zgK9M5-aR~ETuc=J-G^XuH$HvtYY^7rfL)s5ycf#NU?1_>($0R#bpH*rED@V@bC6D@~i6aw9A?qqb>h&t9&3UFS~n2&$knm zS{10cAAe1l;=M(bkOpTnXVA8K!l!>&a&gpNs^-lgEb&vQ$8h^Jhn4MVApTlBclln&S zLPXu71*#4IR>P_`>~_Xvj~_%nmHJLBR>XWelzJ)cJfXHL|NgqoqL)r+b*ZA@h^70? zsQj5;gBJy=kR{J->c5v)>c4@s)Ky5+$Flu@z?`Bb47e|~j=hclJOfWDV1ZKXgE5)K z6IPGt1=Ln!@qfMgOGXjNx2M2wr%>GacTw%x!Z!0a07Y0-?p21lsu}N3HmiJXHI$?X zis_S2=bEj74Gsvqfgr7!MYf#toisjr+B>wHG$FU|TXT-F(=e93Jw6-!BvwVI| z8BrWI(ZHp#i+OEd#zualbQ*2zTN>UE$kmcWAX?(pX@79EdzVdC4o}`2>;r>^(WwQ~ zfSm(VOobmfvmn;e$PxtmkOHV^xTM?}HWP6TmtiYT7^LK1^LE2kVMuLM+X2L!q>Rz~ z?tYRDk51&=Y$!21R~B=+9NgKFTbE*+m>65SNuagKJGBO zrc(5^D1XsQ;JbvgmYn~dsTQ+f%~F#pwI1Yn30R@%NPgK<%0z;ko<)@gi2c;aoy&XY z6ozTtwj-?e*zPjA`f3$fzA}sWKmi;@0EWgoGDm&gkLsNt&~`@Mn|;Wyd=^`RtB@`) z;}Z1e@P%ia+RxB@V^Pr?F#(Qif>>^zW;@)Xf_~Gr1bH!{K$iQ-7s2dAX3S{@DI6wv zGo;u{!ebvP!i~lm*bXgH$4kyESXxZzo>f^`VhH37tXPKT>eQ5uPYpCMJ1`$G2L=Tz z4g&%j1Qdg{Z(IyIOWYwlWnPBan~uzKYFq>q+sXA&xnOoY*Atk69GG37?gDiV0s;rn DAo=-~ From 475aafdbc4b3f3ec18246f44ac9baecdf80cca84 Mon Sep 17 00:00:00 2001 From: pi1024e <49824824+pi1024e@users.noreply.github.com> Date: Mon, 23 Mar 2020 11:44:06 -0400 Subject: [PATCH 35/76] Replace old C headers with the C++ ones (#1099) --- src/CalcManager/pch.h | 2 +- src/CalculatorUnitTests/pch.h | 2 +- src/GraphControl/pch.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/CalcManager/pch.h b/src/CalcManager/pch.h index 288bbc91e..9c71ff3a5 100644 --- a/src/CalcManager/pch.h +++ b/src/CalcManager/pch.h @@ -21,6 +21,6 @@ #include #include #include -#include +#include #include #include diff --git a/src/CalculatorUnitTests/pch.h b/src/CalculatorUnitTests/pch.h index b4137b224..e24dd5304 100644 --- a/src/CalculatorUnitTests/pch.h +++ b/src/CalculatorUnitTests/pch.h @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/GraphControl/pch.h b/src/GraphControl/pch.h index 790610387..21f160824 100644 --- a/src/GraphControl/pch.h +++ b/src/GraphControl/pch.h @@ -17,7 +17,7 @@ #include #include #include -#include +#include #include #include #include From 2b9e2009450c2d40d20043520bc7260d13c3d765 Mon Sep 17 00:00:00 2001 From: Rudy Huyn Date: Mon, 23 Mar 2020 17:37:22 -0700 Subject: [PATCH 36/76] remove the password from the certificate (#1105) --- src/Calculator/TemporaryKey.pfx | Bin 2917 -> 2471 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/src/Calculator/TemporaryKey.pfx b/src/Calculator/TemporaryKey.pfx index 156a470f7c07aee51e1a679d909c710fc45aa2a3..6f836ee749c1e4d874f1decfa5ba6bc9ec35210d 100644 GIT binary patch literal 2471 zcmeHJX;c$g8ckIe$igN8ksS>^iUO4o!3|Ni4h)JUghiBwhJZ0Z3}B-U0aAc0!3GX4 zY$6e8P}zhQTE)<)D5!v~46=zVVp=7NARx-pl^Mt5{Frm*U;pVJ@5jCOy?Wod=e~Oi zg7GCFfQDc^7l$`H&Nx1&0w@8+Fn%uv#(N<&6M``t|4YJrgMl%t5!w)0x;WzJQzQa_ zE{4&g5R4we5k8Z6ZRA_%P7I8`hwyhG7_2Tvg8&Gs^O^-k`|D3t+AB@%xa69h0;znt z1R!EjP&AbY;c;j-2B!(KSyW9(LjjaY1na`heR7Y@FNfLBLkzk$cfK7`hVz<;Yt-61X0IP&WH?-FVJA}u4`-@NtVn=i=>*Ce*W_eBi# zgClHSSdp&g0~?j)x3`6xKK&e;{X{JA3O^%GrL@gnuWOoF;bM9)*Z~l3-!kSVEGu~Z zCdk~3U!M{gQ9Nd`eYuck$pD=Lg`|da0rFXyIzO(>J?6PLb6|58Z;grsTmDo_#8~-y zZRm;9GROEa`s1~WRT~H#-{C_eAR0gcC7uxTUwJT41At`=1`R4DK$=Jz3`{X3h=5aG zj{~q+B{Ui$DM(GlCJ;hF1`4E#(Z-PV4M>|s z`-t(>e_U6ixH0%*-yl*;s*ZkJosQLhSsXt{($Rm>x+rsCY6d(J7F&3xT(HK8((AfA zX#CpC`~EuVlvgjaZzdN@!~4ywJX<|lg=3Xxm!u9JJAEH@XZr+RY=L&71csrulmsck zW-?4`*GID9yjn7O0gTzlV+{p)ewX~C(?VdN)hqL4y_I#LlScne)z44a20|}Zw~)UjE2Exg+^8xLM(3qf zr=&gGUiWN8Zi8K32H#7WmT*lsy-HL`s$u9%kz#6QN^|@Kfd$mx9M}ZhwW7Hz4(ex( zETjjYRN5ahE^v2t8Jc+@!}xGG{hTVNv6>`C#qi9mwg+Brozp#paVoK$LC^de8WL1X zxNjlX3s{^J%!Wo@CighLb1ZG_3urwzbfwAZhQmu4tD>jLI=C-!#JS)}RK75zxveGs zoDGx*Qj`lT6CP!y@)EyYKY34ZAu$@sC|7f^A??U-b0wW@FE#eKfAVXSf~&;M|?^z8MYIp=;n>qg|^II1a@^)G5ZsGli-qLj1unFI)h8XHpkB))N@v1U6g zMu@D&XzEX!Hs`mUJ7CPjDi^jj!QxpctDz-FFYds29Tm}1rL zcOjXHs_i=w$8|GF4-ft|sl}zCe}`GHN_3rN&a^}a)K49+WPV8E=Sc{OIwe^e?W5V- z4B)74=N!kKv8GUy?Advb(K}styg^Zd`CHSBu;)JQ8ciEnt=`sV`5jvIIn^nH^f4ce z6GzJ~Qzfk!%1nR7rIEXC{9Oboy^xd?>N%f{?wXpAcft*3&f3JgF-rtlTEcdZ3Axhl z_Dimjv$<~s8%d}h2cZmf6HLy}gFlev=Q;VOpG*JNF2u;1bN?yy9*m_KDPa{hh{1Z` zE$fi(CDnk@2o(((kG5D1+sfV2 zLUBN!sb8K4?$Uc&bEYU{`oq4X3z}2j3w!*dxDUE-mR6@t$|m0Is1@gY8ee`Dbn2G= zRKen5xOae&HBPf6Q;ywmp4VQxQ87b0$tHwp_H@qa-~yxCrw3Ra4kA!S!^gUi?-swt6 z?loHw~!2&1ggk)JC9#Bm^~jQRsd+x}Jn literal 2917 zcmZWqcR1T^7ygMz#0ZH^%vQZdG>X`2)~H!6QB-Oct!RwKj>ITxl&Vo%)#%XLyC|i$ z*K5?O8l`GhU-hAUX|H!&-}PP3b)Ivd`#$G9=dbf%D9qPEbo3YsvmgW}6>S*(os|ws zmrr4agDK2RG#Y}TK-m6Af&gF&!x4tUuurpZ5az$CSeWQQ`4sRmh5|mopdd_t)3oMr zFr#)`qVG!6fg}h79R^dtlM9)VV>TO75^DY+UpQ09Y}-%~()pO}@tTGA4I3&d#iN5% zy=^;_y`iIw59IL5MaX<(3Mb}eSqwVX75PMbw|Po6Hk^Fe(x*z1Z-2E^0WvzGOp-Ge zT4qvnbHD82Wiu5;y}aE^39!u@R?8dQju+V3d)$WUqvputL{`3|YGgaY0T(a6a27CZ z<9+3w5KyV`bc+R92XjfatMNS?spXzsY2Ec#zFgCwvt{t3+e6T#!Rl-5?ZyO?5ye)W zRoG^*>jCTB<>{=0ZI#!oDrw4+O49vaM^utOCsivvk@yWEnH2H7aNA?WoRJ?9L?tHz z)cd}UIL6mzC4SO24voDtAhnhPoLtpnQTDhipVIQP3V~ zSY(i8+^cik;>va->yFBQ+VSA|KiO?zWlU3^t4@7lBB>7}&(5eP!dyf#k{CN;c1!}kKaf_cX zvU-kK5Ozq_YtDi$_E@ZZw(Dx=6+^{Om6BP!=D(-E-_4G&SeL~uF0p}Av1v)g`q+;! zk8klwU28fr`YSW7PVD@J{k=y@Ei68rhME(My34wHO9vJHCS#e^ge0y|zvTxLA}uA_ zwftcng0sHD`DB7-vrsqxHt6^?w$CQnP+Zrv?79)BnH=kt%H&yr=1{(#4KH~6Mv%RX zJR)fC*_ngwg@M9Tb6H5OIiTZ}P2UoFvmcC<>YinkSrV1bC@z_n{K}Lz z+T&2ek@66)!t#}6W!U%*ICPL%tup8?Og7-$)Or&7rRgwKLg~{cPGc^ER$=_agi=8@~1Y;nRj5k!RUq} zO3Ruxskm@J{s-Mxrc`;rB~7K=s8NyWrf8i|l%LoS4X$&RYuwJh2_H%>p4g6;jPt0f zEZ>pqxTdpoEo}P=q2{`_po_I{S>1b5@Mh3wuyd_nTXhxnQB;Pd-~KDImSEq99*%_? zm>yx;0tIe$eZf} zTyj(Fu(PwCx&xf3lN_b#*9_yHWXoGx?z<)A**waI#kmGM;rwwgxFKyWw(Ne5(b6lo zlxmeSsN8{Yx8kPp&4uNv8R)e)c5gOBNwLC1Q4eyzsV6D{R|4OkMWdN^f)J6F!TWr+ zF8sYMOerR~v7w=PcNx1j>3oZ)U#5?8c~asUhRIBYSgzYXYAgGx4ddRanIIBI{0Zt6 zr@?RL&~EMSfT}1RHnsPz`q}8cM1;vjl9zm~mStS>6wDS7oRezD<|TPFhvZ=GJu9pK z*clL!MbIO(wK|1JMfp{N7INj-u)ME@vAa`*29Gs z6KN}c>!10d5ZczCr%^K?I)LWJ{#EGy{~stCsOC$nRp|Zs50EL~(t5sO%z@{EwRGdG zTMTM|4PDoI(No>&vdYJa5sAUrm-fqKpETD3sJ)KD;2VN%8@!VlOOROz_IJkjnemMK z5aSydJ5GNwSQ~Yg5g*gOwF8x*WDV17^z3CO!-D8bQ;>usz&lv5} z4Y#r|9a}DN_ml*!sT2vBiJd+ke*64Ni`I@0Vnm<4swIxrSWG4)Fr&bYnyVTg8d@2zoy4TUC zY1IEf{uXRLT)ab zjpox)?ddg1qg;jl!s~2C^%|E(b&Zh0FDt_8-zjNq35iRxdh7ks)UD63!*zGZe=fOc zjdt)&o za^H*D?m9#JA1kb?E1z;zo_rc!8PSK<$KXgmo z^|5{%c2Z=&A78BGFvW13E!D4OUR76Ejkf-_%BrCJ?g$fOypvNK_yTG;Wv^Q9=)|Oy zv6_U92v!AxP88}zgr8DoqCLdKT|Q-<_FAfn%pcsqnEnUH{^_(LzGUlss7lDe=1T&1 z+4_Al8JTrrqKbVdwqDAd272Vb#xwEy`z)ZDZ z+hhP{5hW9d!AM849+xL zz2w}ARNd3YTO9HC^G z1#%Q$UlOb6#8vmf@t?*ua+1qf$NQ0U0suLmaW+@4CDX{K9H=9B6n+&qC65 zeN*mfq}u|1X-D{;c)S!>@}R*5d#U4qi>wjX@YD8p9{JU2s>Qj5Jd0I5*TtFFq<&@* zvGGjAkxPza?V+ZD8C*OQUTYOKRA0F(#*yzG6oKdQs0l>A+f%c~s9}ULPzZxGoF2pv z=DeJ9QnIX$ Date: Tue, 24 Mar 2020 09:42:30 -0700 Subject: [PATCH 37/76] Added Graphing Mode Jumplist Icons (#1107) * Added Graphing jumplist icons to the assets folder and Calculator project * Remove extra copy lines for the graphing engine dlls --- .../Assets/Graphing.targetsize-16.png | Bin 0 -> 164 bytes .../Graphing.targetsize-16_contrast-black.png | Bin 0 -> 164 bytes .../Graphing.targetsize-16_contrast-white.png | Bin 0 -> 160 bytes .../Assets/Graphing.targetsize-20.png | Bin 0 -> 187 bytes .../Graphing.targetsize-20_contrast-black.png | Bin 0 -> 187 bytes .../Graphing.targetsize-20_contrast-white.png | Bin 0 -> 174 bytes .../Assets/Graphing.targetsize-24.png | Bin 0 -> 215 bytes .../Graphing.targetsize-24_contrast-black.png | Bin 0 -> 215 bytes .../Graphing.targetsize-24_contrast-white.png | Bin 0 -> 202 bytes .../Assets/Graphing.targetsize-32.png | Bin 0 -> 274 bytes .../Graphing.targetsize-32_contrast-black.png | Bin 0 -> 274 bytes .../Graphing.targetsize-32_contrast-white.png | Bin 0 -> 255 bytes .../Assets/Graphing.targetsize-64.png | Bin 0 -> 496 bytes .../Graphing.targetsize-64_contrast-black.png | Bin 0 -> 496 bytes .../Graphing.targetsize-64_contrast-white.png | Bin 0 -> 460 bytes src/Calculator/Calculator.vcxproj | 17 +++++- src/Calculator/Calculator.vcxproj.filters | 49 ++++++++++++++++-- 17 files changed, 61 insertions(+), 5 deletions(-) create mode 100644 src/Calculator/Assets/Graphing.targetsize-16.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-16_contrast-black.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-16_contrast-white.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-20.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-20_contrast-black.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-20_contrast-white.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-24.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-24_contrast-black.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-24_contrast-white.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-32.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-32_contrast-black.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-32_contrast-white.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-64.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-64_contrast-black.png create mode 100644 src/Calculator/Assets/Graphing.targetsize-64_contrast-white.png diff --git a/src/Calculator/Assets/Graphing.targetsize-16.png b/src/Calculator/Assets/Graphing.targetsize-16.png new file mode 100644 index 0000000000000000000000000000000000000000..485e73498529ddbd8e77b806ad016a96f932dc0f GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6vOQfKLp08}UOXszK!L;Mplajj+JT{vQR1M6H^W2*<^xObL^8=Q__kN2;DFc$ z-MBdQ*aIq0Tav|$3pgd+_b2`~W|TR;{X}+v=MCYl^??q-m+qI_izfc_tTwS+0koFE M)78&qol`;+09oQVRsaA1 literal 0 HcmV?d00001 diff --git a/src/Calculator/Assets/Graphing.targetsize-16_contrast-black.png b/src/Calculator/Assets/Graphing.targetsize-16_contrast-black.png new file mode 100644 index 0000000000000000000000000000000000000000..485e73498529ddbd8e77b806ad016a96f932dc0f GIT binary patch literal 164 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6vOQfKLp08}UOXszK!L;Mplajj+JT{vQR1M6H^W2*<^xObL^8=Q__kN2;DFc$ z-MBdQ*aIq0Tav|$3pgd+_b2`~W|TR;{X}+v=MCYl^??q-m+qI_izfc_tTwS+0koFE M)78&qol`;+09oQVRsaA1 literal 0 HcmV?d00001 diff --git a/src/Calculator/Assets/Graphing.targetsize-16_contrast-white.png b/src/Calculator/Assets/Graphing.targetsize-16_contrast-white.png new file mode 100644 index 0000000000000000000000000000000000000000..467880450d7c6c399b9004861570c07887f805f4 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6(mh=qLp09!PCO`hK!Jm0yNTCg zW3SydQ#?$L9cZ_l_Auaw;H?+)WJO;JbGW==P!90l9qumHCcw9M)4FP=(shcB{A;(h zOY?r#p3res^z&_ztuuQv?`?QK^DW=;>r=JfeSPNf{QRxwmU>r9!#+N@bQT3#$>8bg K=d#Wzp$Pz+MLt*n literal 0 HcmV?d00001 diff --git a/src/Calculator/Assets/Graphing.targetsize-20.png b/src/Calculator/Assets/Graphing.targetsize-20.png new file mode 100644 index 0000000000000000000000000000000000000000..9b1754ed8e23953261192d32ab8da704febfbe80 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc0wmQNuC@WGCQlc~5RHjTC!ZEPpuoYZ*?Z|l z&m}W<(Wxm)lWp`ZHvb8oa7&QoNvOmh#*IQ9%ykTb%Sn9j`H$O zpK?s@8vo<;fQN@(2y-yS%uxTn>WK0R;|mWq@TlyuY(LJJ!u-#}aZT2Nph>#r`Hg~K zT+_p}BCc;ZlyrVtqbTnJUMq9Uy(v$Hq@SJO>{XxhJVSuR^z7`nfj^}0uD{7WFVdQ&MBb@07aHS-~a#s literal 0 HcmV?d00001 diff --git a/src/Calculator/Assets/Graphing.targetsize-24.png b/src/Calculator/Assets/Graphing.targetsize-24.png new file mode 100644 index 0000000000000000000000000000000000000000..2670817a174672dde77e45ed40518b6b83357512 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+id7dtgAr`0iPKo9_s=(nADdnA< zzIjWr{Sw`<-v*g_|0Et?WOU<=mTqg@%f+;hsY8{4v5ND7%)@?%yzf@p3@exe?oR2j zQV>#jcIveh;}5nMHBs#*6SFu?5+*&;T<;-kyZ|Fzz0<67mPS Ol)=;0&t;ucLK6VW@>2N# literal 0 HcmV?d00001 diff --git a/src/Calculator/Assets/Graphing.targetsize-24_contrast-black.png b/src/Calculator/Assets/Graphing.targetsize-24_contrast-black.png new file mode 100644 index 0000000000000000000000000000000000000000..2670817a174672dde77e45ed40518b6b83357512 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+id7dtgAr`0iPKo9_s=(nADdnA< zzIjWr{Sw`<-v*g_|0Et?WOU<=mTqg@%f+;hsY8{4v5ND7%)@?%yzf@p3@exe?oR2j zQV>#jcIveh;}5nMHBs#*6SFu?5+*&;T<;-kyZ|Fzz0<67mPS Ol)=;0&t;ucLK6VW@>2N# literal 0 HcmV?d00001 diff --git a/src/Calculator/Assets/Graphing.targetsize-24_contrast-white.png b/src/Calculator/Assets/Graphing.targetsize-24_contrast-white.png new file mode 100644 index 0000000000000000000000000000000000000000..f603fc856775b7533ff419578b9d44df1dbcec9c GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+iiJmTwAr_~%273w}P~do+Y12FZ zY37#z?u^3MO5(>AC$Okg6_gnIuRFufu!)^PGg0)w5-}V04XQ;<8}~`AsJO)G$U33o zW7pN_=N7BpmwWI8Jo4n9;kP-IO+e&d3_l<9{Ddoc z&4*9LWj@{&QSxW?bpFJ@6RMZj*IqPl_Fn@O1TaS?83{1OSlA BOmYAK literal 0 HcmV?d00001 diff --git a/src/Calculator/Assets/Graphing.targetsize-32.png b/src/Calculator/Assets/Graphing.targetsize-32.png new file mode 100644 index 0000000000000000000000000000000000000000..b8ae7bb5ad29d1bd4e9d1c73ca56a925496fbe84 GIT binary patch literal 274 zcmV+t0qy>YP)kdg0002lNkl;&2eSU?P3C(=z}dU0Nu>p92tN0k91qd(aR7 zU?Cv$0c-)#0MMAf{fHA@1VE~}wBKHUY1Tm|H(o13=MX2rVeX`}`&*D5AWqwOucJa9 zz^#3sjS_$d*h`1(-#mbxl5gW`y1}*sWCMtF=ZZ{5fbFu--C$N?Ia~sYMoTsZA=x^N z_B^|rq`W|kXNcR*e*5?$PySG?2t)I>P~@lP!J@?RM3PQ*ph1t^pUU3=+*;28e)&4T Y02w)XyJ7dt8~^|S07*qoM6N<$f{252{{R30 literal 0 HcmV?d00001 diff --git a/src/Calculator/Assets/Graphing.targetsize-32_contrast-black.png b/src/Calculator/Assets/Graphing.targetsize-32_contrast-black.png new file mode 100644 index 0000000000000000000000000000000000000000..b8ae7bb5ad29d1bd4e9d1c73ca56a925496fbe84 GIT binary patch literal 274 zcmV+t0qy>YP)kdg0002lNkl;&2eSU?P3C(=z}dU0Nu>p92tN0k91qd(aR7 zU?Cv$0c-)#0MMAf{fHA@1VE~}wBKHUY1Tm|H(o13=MX2rVeX`}`&*D5AWqwOucJa9 zz^#3sjS_$d*h`1(-#mbxl5gW`y1}*sWCMtF=ZZ{5fbFu--C$N?Ia~sYMoTsZA=x^N z_B^|rq`W|kXNcR*e*5?$PySG?2t)I>P~@lP!J@?RM3PQ*ph1t^pUU3=+*;28e)&4T Y02w)XyJ7dt8~^|S07*qoM6N<$f{252{{R30 literal 0 HcmV?d00001 diff --git a/src/Calculator/Assets/Graphing.targetsize-32_contrast-white.png b/src/Calculator/Assets/Graphing.targetsize-32_contrast-white.png new file mode 100644 index 0000000000000000000000000000000000000000..8dd829ac8dd74dff58700277311eb02c5cdebc37 GIT binary patch literal 255 zcmVkdg0002SNklBJUVQ%8wT6ZQcohAOKhfs2(&_&GvxG zpAIbm-2u9JMS!HY1>i7;`wk`S04!b`LL&(q05oqUs|(WS%rowBX$0W4_iET$_Sk$@ zgTz^qYva`*uG(@okO3@37)Mm&OocH5auabPjpkeDv-QW4G{$}Kc8(D99(X(R_CY4{ z7>*r>^*b%EQS=_1D)Fp7+^s93NqH~4%1;2U%=-ZU93Su_F6s;_uKWN1002ovPDHLk FV1oDpW?TRO literal 0 HcmV?d00001 diff --git a/src/Calculator/Assets/Graphing.targetsize-64.png b/src/Calculator/Assets/Graphing.targetsize-64.png new file mode 100644 index 0000000000000000000000000000000000000000..e347e193fb5774f313fd3a8793c629c0c9f5a293 GIT binary patch literal 496 zcmV5bq*LdZ^i7ZQ375ZEwA}lY4e&Vt&r>cv%K9?20qy~i zy8(U=Z-5B^6_uoUS^)5rkxb?Qr2v$Sid88OP%@R!I53Iu#!mn=%!fl^KNSQxxIT^W zmS7N|GS4S(P*8#~fXX~I141zg!T_G33QXVt-~g3*sefk-!3F>VsLeyUL6`yn0QA?P z2(|_Q04?D`UB2%t1p$<*f{Q79fMDCu2tab>)(?ekLnDBEq4iQ$PZ|RN5-qnKiaG-@ zfb7uGKrpWn3P2@&PNCp)07d{jIr&kib219BU^Hzt@WcCq5by;E906D|p1X;8RTd1q zK#@8?%ROLgLl=P8`JgjN%AgyrlA_K3vl=`AUJ-_aNp6J0n+L4xrq@st%0oz80GiE) z-U^#)p)skZ03Zm7bdLNr9k(?Ru9o-Qlx~3k m0PtsL1AHF9{^#^t0e%2%uHD=m99sVX00005bq*LdZ^i7ZQ375ZEwA}lY4e&Vt&r>cv%K9?20qy~i zy8(U=Z-5B^6_uoUS^)5rkxb?Qr2v$Sid88OP%@R!I53Iu#!mn=%!fl^KNSQxxIT^W zmS7N|GS4S(P*8#~fXX~I141zg!T_G33QXVt-~g3*sefk-!3F>VsLeyUL6`yn0QA?P z2(|_Q04?D`UB2%t1p$<*f{Q79fMDCu2tab>)(?ekLnDBEq4iQ$PZ|RN5-qnKiaG-@ zfb7uGKrpWn3P2@&PNCp)07d{jIr&kib219BU^Hzt@WcCq5by;E906D|p1X;8RTd1q zK#@8?%ROLgLl=P8`JgjN%AgyrlA_K3vl=`AUJ-_aNp6J0n+L4xrq@st%0oz80GiE) z-U^#)p)skZ03Zm7bdLNr9k(?Ru9o-Qlx~3k m0PtsL1AHF9{^#^t0e%2%uHD=m99sVX0000zMcYn;k50lThf7Rr%a-l7eLv3{&;2ZbcL3z40d_CE z05Sm5B6aI z-=cv@!BGGiIEx^#9_8^%&5<~z*!%!=aY1Tq1O#9dfPn3BDcB2uejSP+R-vC?iz~$t z*bN1sOT)!7+(IBrfWAw`+N~}H+xz7kt%hI<(9-TTDcBaEmAIcF2qI{1&}vdJB0#$= z$r(*1C!+urN7K;&Z#V!yfWRJrn&Y`^XjfH%9tFYya+NSoMzH|6Fb3l3uZQ+ksmP~j zn$bM~xI_lJd + + + + + + + + + + + + + + + @@ -971,4 +986,4 @@ - \ No newline at end of file + diff --git a/src/Calculator/Calculator.vcxproj.filters b/src/Calculator/Calculator.vcxproj.filters index 6365b6f39..7782ca138 100644 --- a/src/Calculator/Calculator.vcxproj.filters +++ b/src/Calculator/Calculator.vcxproj.filters @@ -1525,6 +1525,51 @@ Assets + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + @@ -1537,9 +1582,5 @@ - - - - \ No newline at end of file From 980b60f271664bc5cc07462e995c58e293e50cc9 Mon Sep 17 00:00:00 2001 From: Stephanie Anderl <46726333+sanderl@users.noreply.github.com> Date: Tue, 24 Mar 2020 10:40:32 -0700 Subject: [PATCH 38/76] Update calc version to 2002 (#1108) --- build/pipelines/azure-pipelines.release.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build/pipelines/azure-pipelines.release.yaml b/build/pipelines/azure-pipelines.release.yaml index e81c33964..0b3092ba3 100644 --- a/build/pipelines/azure-pipelines.release.yaml +++ b/build/pipelines/azure-pipelines.release.yaml @@ -9,8 +9,8 @@ pr: none variables: versionMajor: 10 - versionMinor: 2001 - versionBuild: $[counter('10.2001.*', 0)] + versionMinor: 2002 + versionBuild: $[counter('10.2002.*', 0)] versionPatch: 0 name: '$(versionMajor).$(versionMinor).$(versionBuild).$(versionPatch)' From 15944fcd10e650efe94d319599767fe3ead4617f Mon Sep 17 00:00:00 2001 From: Rudy Huyn Date: Tue, 24 Mar 2020 11:39:59 -0700 Subject: [PATCH 39/76] Add dual-screen support to Calculator (#1027) --- src/CalcViewModel/CalcViewModel.vcxproj | 2 + .../CalcViewModel.vcxproj.filters | 9 + .../Utils/DeviceFamilyHelper.cpp | 54 + src/CalcViewModel/Utils/DeviceFamilyHelper.h | 31 + src/Calculator/App.xaml | 125 +- src/Calculator/Calculator.vcxproj | 8 +- src/Calculator/Calculator.vcxproj.filters | 13 +- src/Calculator/Controls/TwoPaneViewCX.cpp | 487 ++++++ src/Calculator/Controls/TwoPaneViewCX.h | 116 ++ src/Calculator/MultiTrigger.cpp | 0 src/Calculator/MultiTrigger.h | 0 src/Calculator/Package.appxmanifest | 2 +- src/Calculator/Views/Calculator.xaml | 1480 +++++++++-------- src/Calculator/Views/Calculator.xaml.cpp | 5 + src/Calculator/Views/Calculator.xaml.h | 1 + .../GraphingCalculator/EquationInputArea.xaml | 15 - .../GraphingCalculator.xaml | 532 +++--- .../GraphingCalculator.xaml.cpp | 12 +- .../GraphingCalculator.xaml.h | 6 +- .../ApplicationViewModeTrigger.cpp | 80 + .../ApplicationViewModeTrigger.h | 40 + src/Calculator/Views/TitleBar.xaml.cpp | 33 +- src/Calculator/Views/TitleBar.xaml.h | 1 + src/Calculator/Views/UnitConverter.xaml | 602 +++---- src/Calculator/Views/UnitConverter.xaml.h | 1 + src/Calculator/packages.config | 2 +- src/Calculator/pch.h | 1 + 27 files changed, 2395 insertions(+), 1263 deletions(-) create mode 100644 src/CalcViewModel/Utils/DeviceFamilyHelper.cpp create mode 100644 src/CalcViewModel/Utils/DeviceFamilyHelper.h create mode 100644 src/Calculator/Controls/TwoPaneViewCX.cpp create mode 100644 src/Calculator/Controls/TwoPaneViewCX.h create mode 100644 src/Calculator/MultiTrigger.cpp create mode 100644 src/Calculator/MultiTrigger.h create mode 100644 src/Calculator/Views/StateTriggers/ApplicationViewModeTrigger.cpp create mode 100644 src/Calculator/Views/StateTriggers/ApplicationViewModeTrigger.h diff --git a/src/CalcViewModel/CalcViewModel.vcxproj b/src/CalcViewModel/CalcViewModel.vcxproj index c2a69b5c0..41d46c5ab 100644 --- a/src/CalcViewModel/CalcViewModel.vcxproj +++ b/src/CalcViewModel/CalcViewModel.vcxproj @@ -334,6 +334,7 @@ + @@ -374,6 +375,7 @@ + diff --git a/src/CalcViewModel/CalcViewModel.vcxproj.filters b/src/CalcViewModel/CalcViewModel.vcxproj.filters index 7a0619ee4..c9408c826 100644 --- a/src/CalcViewModel/CalcViewModel.vcxproj.filters +++ b/src/CalcViewModel/CalcViewModel.vcxproj.filters @@ -13,6 +13,9 @@ {cf7dca32-9727-4f98-83c3-1c0ca7dd1e0c} + + {68bb415f-fcb1-4759-b0a7-c5caf9d72396} + @@ -86,6 +89,9 @@ GraphingCalculator + + Utils + @@ -199,6 +205,9 @@ Common + + Utils + diff --git a/src/CalcViewModel/Utils/DeviceFamilyHelper.cpp b/src/CalcViewModel/Utils/DeviceFamilyHelper.cpp new file mode 100644 index 000000000..49fd51be7 --- /dev/null +++ b/src/CalcViewModel/Utils/DeviceFamilyHelper.cpp @@ -0,0 +1,54 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#include "pch.h" +#include "DeviceFamilyHelper.h" + +using namespace CalculatorApp::ViewModel::Utils; +using namespace Windows::System::Profile; + +bool DeviceFamilyHelper::m_isInit{ false }; +DeviceFamily DeviceFamilyHelper::m_deviceFamily{ DeviceFamily::Unknown }; + +DeviceFamily DeviceFamilyHelper::GetDeviceFamily() +{ + if (!m_isInit) + { + InitDeviceFamily(); + m_isInit = true; + } + return m_deviceFamily; +} + +void DeviceFamilyHelper::InitDeviceFamily() +{ + auto deviceFamily = AnalyticsInfo::VersionInfo->DeviceFamily; + if (deviceFamily == L"Windows.Desktop") + { + m_deviceFamily = DeviceFamily::Desktop; + } + else if (deviceFamily == L"Windows.Core") + { + m_deviceFamily = DeviceFamily::WindowsCore; + } + else if (deviceFamily == L"Windows.Xbox") + { + m_deviceFamily = DeviceFamily::Xbox; + } + else if (deviceFamily == L"Windows.Team") + { + m_deviceFamily = DeviceFamily::SurfaceHub; + } + else if (deviceFamily == L"Windows.Holographic") + { + m_deviceFamily = DeviceFamily::HoloLens; + } + else if (deviceFamily == L"Windows.Mobile") + { + m_deviceFamily = DeviceFamily::Mobile; + } + else + { + m_deviceFamily = DeviceFamily::Unknown; + } +} diff --git a/src/CalcViewModel/Utils/DeviceFamilyHelper.h b/src/CalcViewModel/Utils/DeviceFamilyHelper.h new file mode 100644 index 000000000..4811cd3b8 --- /dev/null +++ b/src/CalcViewModel/Utils/DeviceFamilyHelper.h @@ -0,0 +1,31 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#pragma once + +namespace CalculatorApp::ViewModel::Utils +{ + public enum class DeviceFamily + { + Unknown, + Desktop, + Mobile, + Xbox, + SurfaceHub, + HoloLens, + WindowsCore, + }; + + public ref class DeviceFamilyHelper sealed + { + private: + DeviceFamilyHelper() {} + public: + static DeviceFamily GetDeviceFamily(); + private: + static void InitDeviceFamily(); + private: + static bool m_isInit; + static DeviceFamily m_deviceFamily; + }; +} diff --git a/src/Calculator/App.xaml b/src/Calculator/App.xaml index 50472efd6..f12d09217 100644 --- a/src/Calculator/App.xaml +++ b/src/Calculator/App.xaml @@ -3,6 +3,8 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:Controls="using:CalculatorApp.Controls" xmlns:common="using:CalculatorApp.Common" + xmlns:contract7NotPresent="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractNotPresent(Windows.Foundation.UniversalApiContract,7)" + xmlns:contract7Present="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract,7)" xmlns:local="using:CalculatorApp"> @@ -84,7 +86,7 @@ - + 0,0,0,0 @@ -163,6 +165,7 @@ + 0,1,0,0 @@ -197,6 +200,7 @@ + @@ -1764,6 +1768,125 @@ + + diff --git a/src/Calculator/Calculator.vcxproj b/src/Calculator/Calculator.vcxproj index eb39777f8..6bca12fc7 100644 --- a/src/Calculator/Calculator.vcxproj +++ b/src/Calculator/Calculator.vcxproj @@ -252,6 +252,7 @@ + @@ -329,6 +330,7 @@ Views\OperatorsPanel.xaml + @@ -422,6 +424,7 @@ + @@ -505,6 +508,7 @@ Views\OperatorsPanel.xaml + @@ -976,7 +980,7 @@ - + @@ -984,6 +988,6 @@ - + diff --git a/src/Calculator/Calculator.vcxproj.filters b/src/Calculator/Calculator.vcxproj.filters index 7782ca138..7803c6c54 100644 --- a/src/Calculator/Calculator.vcxproj.filters +++ b/src/Calculator/Calculator.vcxproj.filters @@ -329,6 +329,12 @@ + + Controls + + + Views\StateTriggers + @@ -437,6 +443,12 @@ + + Controls + + + Views\StateTriggers + @@ -522,7 +534,6 @@ Views\GraphingCalculator - diff --git a/src/Calculator/Controls/TwoPaneViewCX.cpp b/src/Calculator/Controls/TwoPaneViewCX.cpp new file mode 100644 index 000000000..d117ce2bf --- /dev/null +++ b/src/Calculator/Controls/TwoPaneViewCX.cpp @@ -0,0 +1,487 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See LICENSE in the project root for license information. + +#include "pch.h" +#include "TwoPaneViewCX.h" +#include "Utils/VisualTree.h" +#include + +using namespace std; +using namespace Platform; +using namespace CalculatorApp::Controls; +using namespace Calculator::Utils; +using namespace Windows::Foundation; +using namespace Windows::UI::ViewManagement; +using namespace Windows::UI::Xaml; +using namespace Windows::UI::Xaml::Controls; +using Windows::Foundation::Metadata::ApiInformation; +namespace MUXC = Microsoft::UI::Xaml::Controls; + +StringReference c_pane1ScrollViewerName(L"PART_Pane1ScrollViewer"); +StringReference c_pane2ScrollViewerName(L"PART_Pane2ScrollViewer"); +StringReference c_columnLeftName(L"PART_ColumnLeft"); +StringReference c_columnMiddleName(L"PART_ColumnMiddle"); +StringReference c_columnRightName(L"PART_ColumnRight"); +StringReference c_rowTopName(L"PART_RowTop"); +StringReference c_rowMiddleName(L"PART_RowMiddle"); +StringReference c_rowBottomName(L"PART_RowBottom"); + +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, Pane1); +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, Pane2); +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, Pane1Length); +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, Pane2Length); +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, Pane1MinLength); +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, Pane2MinLength); +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, Pane1MaxLength); +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, Pane2MaxLength); +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, PanePriority); +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, Mode); +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, WideModeConfiguration); +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, TallModeConfiguration); +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, MinWideModeWidth); +DEPENDENCY_PROPERTY_INITIALIZATION(TwoPaneViewCX, MinTallModeHeight); + +TwoPaneViewCX::TwoPaneViewCX() +{ + this->DefaultStyleKey = L"CalculatorApp.Controls.TwoPaneViewCX"; + this->SizeChanged += ref new Windows::UI::Xaml::SizeChangedEventHandler(this, &TwoPaneViewCX::OnSizeChanged); + m_windowSizeChangedToken = Window::Current->SizeChanged += + ref new Windows::UI::Xaml::WindowSizeChangedEventHandler(this, &TwoPaneViewCX::OnWindowSizeChanged); +} + +TwoPaneViewCX::~TwoPaneViewCX() +{ + Window::Current->SizeChanged -= m_windowSizeChangedToken; +} + +void TwoPaneViewCX::OnApplyTemplate() +{ + m_loaded = true; + this->SetScrollViewerProperties(c_pane1ScrollViewerName); + this->SetScrollViewerProperties(c_pane2ScrollViewerName); + + if (auto column = dynamic_cast(this->GetTemplateChild(c_columnLeftName))) + { + m_columnLeft = column; + } + if (auto column = dynamic_cast(this->GetTemplateChild(c_columnMiddleName))) + { + m_columnMiddle = column; + } + if (auto column = dynamic_cast(this->GetTemplateChild(c_columnRightName))) + { + m_columnRight = column; + } + if (auto row = dynamic_cast(this->GetTemplateChild(c_rowTopName))) + { + m_rowTop = row; + } + if (auto row = dynamic_cast(this->GetTemplateChild(c_rowMiddleName))) + { + m_rowMiddle = row; + } + if (auto row = dynamic_cast(this->GetTemplateChild(c_rowBottomName))) + { + m_rowBottom = row; + } +} + +void TwoPaneViewCX::UpdateMode() +{ + // Don't bother running this logic until after we hit OnApplyTemplate. + if (!m_loaded) + return; + + double controlWidth = this->ActualWidth; + double controlHeight = this->ActualHeight; + + ViewMode newMode = (this->PanePriority == MUXC::TwoPaneViewPriority::Pane1) ? ViewMode::Pane1Only : ViewMode::Pane2Only; + + // Calculate new mode + Rect rcControl = GetControlRect(); + auto info = this->GetDisplayRegionHelperInfo(); + bool isInMultipleRegions = IsInMultipleRegions(info, rcControl); + + if (isInMultipleRegions) + { + if (info.Mode == MUXC::TwoPaneViewMode::Wide) + { + // Regions are laid out horizontally + if (this->WideModeConfiguration != MUXC::TwoPaneViewWideModeConfiguration::SinglePane) + { + newMode = (this->WideModeConfiguration == MUXC::TwoPaneViewWideModeConfiguration::LeftRight) ? ViewMode::LeftRight : ViewMode::RightLeft; + } + } + else if (info.Mode == MUXC::TwoPaneViewMode::Tall) + { + // Regions are laid out vertically + if (this->TallModeConfiguration != MUXC::TwoPaneViewTallModeConfiguration::SinglePane) + { + newMode = (this->TallModeConfiguration == MUXC::TwoPaneViewTallModeConfiguration::TopBottom) ? ViewMode::TopBottom : ViewMode::BottomTop; + } + } + } + else + { + // One region + if (controlWidth > this->MinWideModeWidth && this->WideModeConfiguration != MUXC::TwoPaneViewWideModeConfiguration::SinglePane) + { + // Split horizontally + newMode = (this->WideModeConfiguration == MUXC::TwoPaneViewWideModeConfiguration::LeftRight) ? ViewMode::LeftRight : ViewMode::RightLeft; + } + else if (controlHeight > this->MinTallModeHeight && this->TallModeConfiguration != MUXC::TwoPaneViewTallModeConfiguration::SinglePane) + { + // Split vertically + newMode = (this->TallModeConfiguration == MUXC::TwoPaneViewTallModeConfiguration::TopBottom) ? ViewMode::TopBottom : ViewMode::BottomTop; + } + } + + // Update row/column sizes (this may need to happen even if the mode doesn't change) + UpdateRowsColumns(newMode, info, rcControl); + + // Update mode if necessary + if (newMode != m_currentMode) + { + m_currentMode = newMode; + + auto newViewMode = MUXC::TwoPaneViewMode::SinglePane; + + switch (m_currentMode) + { + case ViewMode::Pane1Only: + VisualStateManager::GoToState(this, L"ViewMode_OneOnly", true); + break; + case ViewMode::Pane2Only: + VisualStateManager::GoToState(this, L"ViewMode_TwoOnly", true); + break; + case ViewMode::LeftRight: + VisualStateManager::GoToState(this, L"ViewMode_LeftRight", true); + newViewMode = MUXC::TwoPaneViewMode::Wide; + break; + case ViewMode::RightLeft: + VisualStateManager::GoToState(this, L"ViewMode_RightLeft", true); + newViewMode = MUXC::TwoPaneViewMode::Wide; + break; + case ViewMode::TopBottom: + VisualStateManager::GoToState(this, L"ViewMode_TopBottom", true); + newViewMode = MUXC::TwoPaneViewMode::Tall; + break; + case ViewMode::BottomTop: + VisualStateManager::GoToState(this, L"ViewMode_BottomTop", true); + newViewMode = MUXC::TwoPaneViewMode::Tall; + break; + } + + if (newViewMode != this->Mode) + { + SetValue(s_ModeProperty, newViewMode); + this->ModeChanged(this, this); + } + } +} + +void TwoPaneViewCX::UpdateRowsColumns(ViewMode newMode, DisplayRegionHelperInfo info, Rect rcControl) +{ + if (m_columnLeft && m_columnMiddle && m_columnRight && m_rowTop && m_rowMiddle && m_rowBottom) + { + // Reset split lengths + this->m_columnMiddle->Width = GridLengthHelper::FromPixels(0); + this->m_rowMiddle->Height = GridLengthHelper::FromPixels(0); + + // Set columns lengths + if (newMode == ViewMode::LeftRight || newMode == ViewMode::RightLeft) + { + if (newMode == ViewMode::LeftRight) + { + this->m_columnLeft->MinWidth = this->Pane1MinLength; + this->m_columnLeft->MaxWidth = this->Pane1MaxLength; + this->m_columnLeft->Width = this->Pane1Length; + this->m_columnRight->MinWidth = this->Pane2MinLength; + this->m_columnRight->MaxWidth = this->Pane2MaxLength; + this->m_columnRight->Width = this->Pane2Length; + } + else + { + this->m_columnLeft->MinWidth = this->Pane2MinLength; + this->m_columnLeft->MaxWidth = this->Pane2MaxLength; + this->m_columnLeft->Width = this->Pane2Length; + this->m_columnRight->MinWidth = this->Pane1MinLength; + this->m_columnRight->MaxWidth = this->Pane1MaxLength; + this->m_columnRight->Width = this->Pane1Length; + } + } + else + { + this->m_columnLeft->MinWidth = 0.0; + this->m_columnRight->MinWidth = 0.0; + this->m_columnLeft->MaxWidth = std::numeric_limits::max(); + this->m_columnRight->MaxWidth = std::numeric_limits::max(); + this->m_columnLeft->Width = GridLengthHelper::FromValueAndType(1, GridUnitType::Star); + this->m_columnRight->Width = GridLengthHelper::FromPixels(0); + } + + // Set row lengths + if (newMode == ViewMode::TopBottom || newMode == ViewMode::BottomTop) + { + if (newMode == ViewMode::TopBottom) + { + this->m_rowTop->MinHeight = this->Pane1MinLength; + this->m_rowTop->MaxHeight = this->Pane1MaxLength; + this->m_rowTop->Height = this->Pane1Length; + this->m_rowBottom->MinHeight = this->Pane2MinLength; + this->m_rowBottom->MaxHeight = this->Pane2MaxLength; + this->m_rowBottom->Height = this->Pane2Length; + } + else + { + this->m_rowTop->MinHeight = this->Pane2MinLength; + this->m_rowTop->MaxHeight = this->Pane2MaxLength; + this->m_rowTop->Height = this->Pane2Length; + this->m_rowBottom->MinHeight = this->Pane1MinLength; + this->m_rowBottom->MaxHeight = this->Pane1MaxLength; + this->m_rowBottom->Height = this->Pane1Length; + } + } + else + { + this->m_rowTop->MinHeight = 0.0; + this->m_rowBottom->MinHeight = 0.0; + this->m_rowTop->MaxHeight = std::numeric_limits::max(); + this->m_rowBottom->MaxHeight = std::numeric_limits::max(); + this->m_rowTop->Height = GridLengthHelper::FromValueAndType(1, GridUnitType::Star); + this->m_rowBottom->Height = GridLengthHelper::FromPixels(0); + } + + // Handle regions + if (IsInMultipleRegions(info, rcControl) && newMode != ViewMode::Pane1Only && newMode != ViewMode::Pane2Only) + { + Rect rc1 = info.Regions[0]; + Rect rc2 = info.Regions[1]; + Rect rcWindow = Window::Current->Bounds; + + if (info.Mode == MUXC::TwoPaneViewMode::Wide) + { + this->m_columnMiddle->Width = GridLengthHelper::FromPixels(rc2.X - rc1.Width); + + this->m_columnLeft->MinWidth = 0.0; + this->m_columnRight->MinWidth = 0.0; + this->m_columnLeft->MaxWidth = std::numeric_limits::max(); + this->m_columnRight->MaxWidth = std::numeric_limits::max(); + this->m_columnLeft->Width = GridLengthHelper::FromPixels(rc1.Width - rcControl.X); + this->m_columnRight->Width = GridLengthHelper::FromPixels(rc2.Width - ((rcWindow.Width - rcControl.Width) - rcControl.X)); + } + else + { + this->m_rowMiddle->Height = GridLengthHelper::FromPixels(rc2.Y - rc1.Height); + + this->m_rowTop->MinHeight = 0.0; + this->m_rowBottom->MinHeight = 0.0; + this->m_rowTop->MaxHeight = std::numeric_limits::max(); + this->m_rowBottom->MaxHeight = std::numeric_limits::max(); + this->m_rowTop->Height = GridLengthHelper::FromPixels(rc1.Height - rcControl.Y); + this->m_rowBottom->Height = GridLengthHelper::FromPixels(rc2.Height - ((rcWindow.Height - rcControl.Height) - rcControl.Y)); + } + } + } +} + +Rect TwoPaneViewCX::GetControlRect() +{ + // Find out where this control is in the window + auto transform = TransformToVisual(Window::Current->Content); + return transform->TransformBounds(RectHelper::FromCoordinatesAndDimensions(0, 0, (float)this->ActualWidth, (float)this->ActualHeight)); +} + +bool TwoPaneViewCX::IsInMultipleRegions(DisplayRegionHelperInfo info, Rect rcControl) +{ + bool isInMultipleRegions = false; + + if (info.Mode != MUXC::TwoPaneViewMode::SinglePane) + { + Rect rc1 = info.Regions[0]; + Rect rc2 = info.Regions[1]; + + if (info.Mode == MUXC::TwoPaneViewMode::Wide) + { + // Check that the control is over the split + if (rcControl.X < rc1.Width && rcControl.X + rcControl.Width > rc2.X) + { + isInMultipleRegions = true; + } + } + else if (info.Mode == MUXC::TwoPaneViewMode::Tall) + { + // Check that the control is over the split + if (rcControl.Y < rc1.Height && rcControl.Y + rcControl.Height > rc2.Y) + { + isInMultipleRegions = true; + } + } + } + + return isInMultipleRegions; +} + +void TwoPaneViewCX::OnSizeChanged(Platform::Object ^ /*sender*/, Windows::UI::Xaml::SizeChangedEventArgs ^ /*e*/) +{ + this->UpdateMode(); +} + +void TwoPaneViewCX::OnWindowSizeChanged(Platform::Object ^ /*sender*/, Windows::UI::Core::WindowSizeChangedEventArgs ^ /*e*/) +{ + this->UpdateMode(); +} + +void TwoPaneViewCX::OnPane1LengthPropertyChanged(GridLength /*oldValue*/, GridLength /*newValue*/) +{ + this->UpdateMode(); +} + +void TwoPaneViewCX::OnPane2LengthPropertyChanged(GridLength /*oldValue*/, GridLength /*newValue*/) +{ + this->UpdateMode(); +} + +void TwoPaneViewCX::OnPane1MinLengthPropertyChanged(double /*oldValue*/, double /*newValue*/) +{ + this->UpdateMode(); +} + +void TwoPaneViewCX::OnPane2MinLengthPropertyChanged(double /*oldValue*/, double /*newValue*/) +{ + this->UpdateMode(); +} + +void TwoPaneViewCX::OnPane1MaxLengthPropertyChanged(double /*oldValue*/, double /*newValue*/) +{ + this->UpdateMode(); +} + +void TwoPaneViewCX::OnPane2MaxLengthPropertyChanged(double /*oldValue*/, double /*newValue*/) +{ + this->UpdateMode(); +} + +void TwoPaneViewCX::OnMinTallModeHeightPropertyChanged(double /*oldValue*/, double newValue) +{ + auto clampedValue = max(0.0, newValue); + if (clampedValue != newValue) + { + this->MinTallModeHeight = clampedValue; + return; + } + this->UpdateMode(); +} + +void TwoPaneViewCX::OnMinWideModeWidthPropertyChanged(double /*oldValue*/, double newValue) +{ + auto clampedValue = max(0.0, newValue); + if (clampedValue != newValue) + { + this->MinWideModeWidth = clampedValue; + return; + } + this->UpdateMode(); +} + +void TwoPaneViewCX::OnWideModeConfigurationPropertyChanged( + MUXC::TwoPaneViewWideModeConfiguration /*oldValue*/, + MUXC::TwoPaneViewWideModeConfiguration /*newValue*/) +{ + this->UpdateMode(); +} + +void TwoPaneViewCX::OnTallModeConfigurationPropertyChanged( + MUXC::TwoPaneViewTallModeConfiguration /*oldValue*/, + MUXC::TwoPaneViewTallModeConfiguration /*newValue*/) +{ + this->UpdateMode(); +} + +void TwoPaneViewCX::OnPanePriorityPropertyChanged(MUXC::TwoPaneViewPriority /*oldValue*/, MUXC::TwoPaneViewPriority /*newValue*/) +{ + this->UpdateMode(); +} + +TwoPaneViewCX::DisplayRegionHelperInfo TwoPaneViewCX::GetDisplayRegionHelperInfo() +{ + DisplayRegionHelperInfo info; + info.Mode = MUXC::TwoPaneViewMode::SinglePane; + + if (!Windows::Foundation::Metadata::ApiInformation::IsMethodPresent(L"Windows.UI.ViewManagement.ApplicationView", L"GetDisplayRegions")) + { + return info; + } + + // ApplicationView::GetForCurrentView throws on failure; in that case we just won't do anything. + ApplicationView ^ view; + try + { + view = ApplicationView::GetForCurrentView(); + } + catch (...) + { + } + + if (view && (int)view->ViewMode == 2 /*ApplicationViewMode::Spanning*/) + { + auto regions = view->GetDisplayRegions(); + if (regions->Size == 2) + { + auto region1 = regions->GetAt(0); + auto region2 = regions->GetAt(1); + info.Regions = ref new Array(2); + info.Regions[0] = RectHelper::FromCoordinatesAndDimensions( + region1->WorkAreaOffset.X, region1->WorkAreaOffset.Y, region1->WorkAreaSize.Width, region1->WorkAreaSize.Height); + info.Regions[1] = RectHelper::FromCoordinatesAndDimensions( + region2->WorkAreaOffset.X, region2->WorkAreaOffset.Y, region2->WorkAreaSize.Width, region2->WorkAreaSize.Height); + + // Determine orientation. If neither of these are true, default to doing nothing. + if (info.Regions[0].X < info.Regions[1].X && info.Regions[0].Y == info.Regions[1].Y) + { + // Double portrait + info.Mode = MUXC::TwoPaneViewMode::Wide; + } + else if (info.Regions[0].X == info.Regions[1].X && info.Regions[0].Y < info.Regions[1].Y) + { + // Double landscape + info.Mode = MUXC::TwoPaneViewMode::Tall; + } + } + } + return info; +} + +void TwoPaneViewCX::SetScrollViewerProperties(String ^ scrollViewerName) +{ + if (ApiInformation::IsApiContractPresent(L"Windows.Foundation.UniversalApiContract", 7)) + { + if (auto scrollViewer = dynamic_cast(this->GetTemplateChild(scrollViewerName))) + { + if (ApiInformation::IsPropertyPresent(L"Windows.UI.Xaml.Controls.ScrollContentPresenter", L"SizesContentToTemplatedParent")) + { + scrollViewer->Loaded += ref new RoutedEventHandler(this, &TwoPaneViewCX::OnScrollViewerLoaded); + } + + if (ApiInformation::IsPropertyPresent(L"Windows.UI.Xaml.Controls.ScrollViewer", L"ReduceViewportForCoreInputViewOcclusions")) + { + scrollViewer->ReduceViewportForCoreInputViewOcclusions = true; + } + } + } +} + +void TwoPaneViewCX::OnScrollViewerLoaded(Object ^ sender, RoutedEventArgs ^ e) +{ + if (auto scrollViewer = dynamic_cast(sender)) + { + auto scrollContentPresenterFE = VisualTree::FindDescendantByName(scrollViewer, L"ScrollContentPresenter"); + if (scrollContentPresenterFE) + { + if (auto scrollContentPresenter = dynamic_cast(scrollContentPresenterFE)) + { + scrollContentPresenter->SizesContentToTemplatedParent = true; + } + } + } +} diff --git a/src/Calculator/Controls/TwoPaneViewCX.h b/src/Calculator/Controls/TwoPaneViewCX.h new file mode 100644 index 000000000..d3f79326a --- /dev/null +++ b/src/Calculator/Controls/TwoPaneViewCX.h @@ -0,0 +1,116 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. See LICENSE in the project root for license information. + +#pragma once +#include "CalcViewModel/Common/Utils.h" + +namespace CalculatorApp::Controls +{ + ref class TwoPaneViewCX; +public + interface class ITwoPaneViewCX + { + event Windows::Foundation::TypedEventHandler ^ ModeChanged; + }; + + // We can't use the TwoPaneView control from the SDK or from Microsoft.UI.Xaml because of a bug with C++ apps. + // (see this issue: https://github.com/microsoft/microsoft-ui-xaml/pull/2045) + // This class is a C++/CX port of the C++/WinRT version of Microsoft.UI.Xaml (commit b3a2e45) which include the patch to fix the crash. + // This fork adds also 4 new properties Pane1MinLength, Pane2MinLength, Pane1MaxLength, Pane2MaxLength +public + ref class TwoPaneViewCX sealed : public Windows::UI::Xaml::Controls::Control, [Windows::Foundation::Metadata::Default] ITwoPaneViewCX + { + enum class ViewMode + { + Pane1Only, + Pane2Only, + LeftRight, + RightLeft, + TopBottom, + BottomTop, + None + }; + + struct DisplayRegionHelperInfo + { + Microsoft::UI::Xaml::Controls::TwoPaneViewMode Mode = Microsoft::UI::Xaml::Controls::TwoPaneViewMode::SinglePane; + Platform::Array ^ Regions; + }; + + public: + DEPENDENCY_PROPERTY_OWNER(TwoPaneViewCX); + DEPENDENCY_PROPERTY(Windows::UI::Xaml::UIElement ^, Pane1); + DEPENDENCY_PROPERTY(Windows::UI::Xaml::UIElement ^, Pane2); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK( + Windows::UI::Xaml::GridLength, + Pane1Length, + Windows::UI::Xaml::GridLengthHelper::FromValueAndType(1, Windows::UI::Xaml::GridUnitType::Auto)); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK( + Windows::UI::Xaml::GridLength, + Pane2Length, + Windows::UI::Xaml::GridLengthHelper::FromValueAndType(1, Windows::UI::Xaml::GridUnitType::Star)); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(double, Pane1MinLength, 0.0); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(double, Pane2MinLength, 0.0); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(double, Pane1MaxLength, std::numeric_limits::max()); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(double, Pane2MaxLength, std::numeric_limits::max()); + + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(Microsoft::UI::Xaml::Controls::TwoPaneViewPriority, + PanePriority, + Microsoft::UI::Xaml::Controls::TwoPaneViewPriority::Pane1); + DEPENDENCY_PROPERTY(Microsoft::UI::Xaml::Controls::TwoPaneViewMode, Mode); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK( + Microsoft::UI::Xaml::Controls::TwoPaneViewWideModeConfiguration, + WideModeConfiguration, + Microsoft::UI::Xaml::Controls::TwoPaneViewWideModeConfiguration::LeftRight); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK( + Microsoft::UI::Xaml::Controls::TwoPaneViewTallModeConfiguration, + TallModeConfiguration, + Microsoft::UI::Xaml::Controls::TwoPaneViewTallModeConfiguration::TopBottom); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(double, MinWideModeWidth, 641); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(double, MinTallModeHeight, 641); + + TwoPaneViewCX(); + virtual ~TwoPaneViewCX(); + void OnApplyTemplate() override; + virtual event Windows::Foundation::TypedEventHandler ^ ModeChanged; + + private: + void UpdateRowsColumns(ViewMode newMode, DisplayRegionHelperInfo info, Windows::Foundation::Rect rcControl); + void UpdateMode(); + bool IsInMultipleRegions(DisplayRegionHelperInfo info, Windows::Foundation::Rect rcControl); + void SetScrollViewerProperties(Platform::String ^ scrollViewerName); + Windows::Foundation::Rect GetControlRect(); + DisplayRegionHelperInfo GetDisplayRegionHelperInfo(); + + void OnSizeChanged(Platform::Object ^ sender, Windows::UI::Xaml::SizeChangedEventArgs ^ e); + void OnWindowSizeChanged(Platform::Object ^ sender, Windows::UI::Core::WindowSizeChangedEventArgs ^ e); + void OnPane1LengthPropertyChanged(Windows::UI::Xaml::GridLength oldValue, Windows::UI::Xaml::GridLength newValue); + void OnPane2LengthPropertyChanged(Windows::UI::Xaml::GridLength oldValue, Windows::UI::Xaml::GridLength newValue); + void OnPane1MinLengthPropertyChanged(double oldValue, double newValue); + void OnPane2MinLengthPropertyChanged(double oldValue, double newValue); + void OnPane1MaxLengthPropertyChanged(double oldValue, double newValue); + void OnPane2MaxLengthPropertyChanged(double oldValue, double newValue); + void + OnPanePriorityPropertyChanged(Microsoft::UI::Xaml::Controls::TwoPaneViewPriority oldValue, Microsoft::UI::Xaml::Controls::TwoPaneViewPriority newValue); + void OnMinTallModeHeightPropertyChanged(double oldValue, double newValue); + void OnMinWideModeWidthPropertyChanged(double oldValue, double newValue); + void OnWideModeConfigurationPropertyChanged( + Microsoft::UI::Xaml::Controls::TwoPaneViewWideModeConfiguration oldValue, + Microsoft::UI::Xaml::Controls::TwoPaneViewWideModeConfiguration newValue); + void OnTallModeConfigurationPropertyChanged( + Microsoft::UI::Xaml::Controls::TwoPaneViewTallModeConfiguration oldValue, + Microsoft::UI::Xaml::Controls::TwoPaneViewTallModeConfiguration newValue); + void OnScrollViewerLoaded(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + + private: + Windows::UI::Xaml::Controls::ColumnDefinition ^ m_columnLeft; + Windows::UI::Xaml::Controls::ColumnDefinition ^ m_columnMiddle; + Windows::UI::Xaml::Controls::ColumnDefinition ^ m_columnRight; + Windows::UI::Xaml::Controls::RowDefinition ^ m_rowTop; + Windows::UI::Xaml::Controls::RowDefinition ^ m_rowMiddle; + Windows::UI::Xaml::Controls::RowDefinition ^ m_rowBottom; + Windows::Foundation::EventRegistrationToken m_windowSizeChangedToken; + ViewMode m_currentMode{ ViewMode::None }; + bool m_loaded{ false }; + }; +} diff --git a/src/Calculator/MultiTrigger.cpp b/src/Calculator/MultiTrigger.cpp new file mode 100644 index 000000000..e69de29bb diff --git a/src/Calculator/MultiTrigger.h b/src/Calculator/MultiTrigger.h new file mode 100644 index 000000000..e69de29bb diff --git a/src/Calculator/Package.appxmanifest b/src/Calculator/Package.appxmanifest index 76d1c97f0..db28a9672 100644 --- a/src/Calculator/Package.appxmanifest +++ b/src/Calculator/Package.appxmanifest @@ -8,7 +8,7 @@ Assets\CalculatorStoreLogo.png - + diff --git a/src/Calculator/Views/Calculator.xaml b/src/Calculator/Views/Calculator.xaml index 71dddefa8..274ee6ea8 100644 --- a/src/Calculator/Views/Calculator.xaml +++ b/src/Calculator/Views/Calculator.xaml @@ -8,6 +8,7 @@ xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="using:CalculatorApp" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:triggers="using:CalculatorApp.Views.StateTriggers" Loaded="OnLoaded" mc:Ignorable="d"> @@ -382,15 +383,7 @@ Icon="Paste"/> - - - - - - @@ -415,18 +408,13 @@ - + - + - - - - - @@ -460,12 +448,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -476,7 +496,7 @@ - + @@ -487,8 +507,8 @@ - - + + @@ -516,11 +536,18 @@ - + + + + + + + + - + @@ -529,7 +556,7 @@ - + @@ -539,8 +566,6 @@ - - @@ -574,704 +599,751 @@ - - - - - - - - - + + + + + + + + + + + - - - + + + - - + + - + - + - - + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - + + + + - - - - - - - - - - + + + + + + + + - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + 4,4,0,0 + 0,0,4,4 + 4,0,0,4 + 0,4,4,0 + + + + 4,4,0,0 + 0,0,4,4 + 4,0,0,4 + 0,4,4,0 + + + + 0 + 0 + 0 + 0 + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - + - - - - - - + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - + - + + + diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp index 1a2096f40..8619f1e55 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp @@ -49,8 +49,9 @@ using namespace Windows::UI::Xaml::Media; using namespace Windows::UI::Xaml::Media::Imaging; using namespace Windows::UI::Popups; using namespace Windows::UI::ViewManagement; +namespace MUXC = Microsoft::UI::Xaml::Controls; -constexpr auto sc_ViewModelPropertyName = L"ViewModel"; + constexpr auto sc_ViewModelPropertyName = L"ViewModel"; DEPENDENCY_PROPERTY_INITIALIZATION(GraphingCalculator, IsSmallState); DEPENDENCY_PROPERTY_INITIALIZATION(GraphingCalculator, GraphControlAutomationName); @@ -434,9 +435,9 @@ void GraphingCalculator::OnKeyGraphFeaturesClosed(Object ^ sender, RoutedEventAr ViewModel->SelectedEquation->GraphEquation->IsSelected = false; } -Visibility GraphingCalculator::ShouldDisplayPanel(bool isSmallState, bool isEquationModeActivated, bool isGraphPanel) +MUXC::TwoPaneViewPriority GraphingCalculator::GetPanePriority(bool isEquationModeActivated) { - return (!isSmallState || isEquationModeActivated ^ isGraphPanel) ? ::Visibility::Visible : ::Visibility::Collapsed; + return isEquationModeActivated ? MUXC::TwoPaneViewPriority::Pane2 : MUXC::TwoPaneViewPriority::Pane1; } Platform::String ^ GraphingCalculator::GetInfoForSwitchModeToggleButton(bool isChecked) @@ -573,7 +574,10 @@ void GraphingCalculator::DisplayGraphSettings() auto flyoutGraphSettings = ref new Flyout(); flyoutGraphSettings->Content = graphSettings; flyoutGraphSettings->Closing += ref new TypedEventHandler(this, &GraphingCalculator::OnSettingsFlyout_Closing); - flyoutGraphSettings->ShowAt(GraphSettingsButton); + + auto options = ref new FlyoutShowOptions(); + options->Placement = FlyoutPlacementMode::BottomEdgeAlignedRight; + flyoutGraphSettings->ShowAt(GraphSettingsButton, options); } void CalculatorApp::GraphingCalculator::AddTracePointerShadow() diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h index 9810ce883..5e1988a29 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h @@ -9,7 +9,9 @@ #include "Views\GraphingCalculator\KeyGraphFeaturesPanel.xaml.h" #include "Views\GraphingCalculator\GraphingNumPad.xaml.h" #include "Views\GraphingCalculator\GraphingSettings.xaml.h" -#include "CalcViewModel/Common/TraceLogger.h" +#include "Views\StateTriggers\ApplicationViewModeTrigger.h" +#include "Controls\TwoPaneViewCX.h" +#include "CalcViewModel\Common\TraceLogger.h" namespace CalculatorApp { @@ -36,7 +38,7 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo void set(CalculatorApp::ViewModel::GraphingCalculatorViewModel^ vm); } - static Windows::UI::Xaml::Visibility ShouldDisplayPanel(bool isSmallState, bool isEquationModeActivated, bool isGraphPanel); + static Microsoft::UI::Xaml::Controls::TwoPaneViewPriority GetPanePriority(bool isEquationModeActivated); static Platform::String ^ GetInfoForSwitchModeToggleButton(bool isChecked); static Windows::UI::Xaml::Visibility ManageEditVariablesButtonVisibility(unsigned int numberOfVariables); static Platform::String ^ GetTracingLegend(Platform::IBox ^ isTracing); diff --git a/src/Calculator/Views/StateTriggers/ApplicationViewModeTrigger.cpp b/src/Calculator/Views/StateTriggers/ApplicationViewModeTrigger.cpp new file mode 100644 index 000000000..fb7c947ae --- /dev/null +++ b/src/Calculator/Views/StateTriggers/ApplicationViewModeTrigger.cpp @@ -0,0 +1,80 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#include "pch.h" +#include "ApplicationViewModeTrigger.h" +using namespace CalculatorApp::Views::StateTriggers; +using namespace Windows::System::Profile; +using namespace Windows::UI::ViewManagement; +using namespace Windows::UI::Xaml; + +DEPENDENCY_PROPERTY_INITIALIZATION(ApplicationViewModeTrigger, ViewMode); +DEPENDENCY_PROPERTY_INITIALIZATION(ApplicationViewModeTrigger, MinWindowHeight); +DEPENDENCY_PROPERTY_INITIALIZATION(ApplicationViewModeTrigger, MinWindowWidth); + +ApplicationViewModeTrigger::ApplicationViewModeTrigger() +{ + m_windowSizeEventToken = Window::Current->SizeChanged += ref new WindowSizeChangedEventHandler(this, &ApplicationViewModeTrigger::WindowSizeChanged); + UpdateTrigger(); +} + +void ApplicationViewModeTrigger::WindowSizeChanged(_In_ Platform::Object ^ /*sender*/, _In_ Windows::UI::Core::WindowSizeChangedEventArgs ^ /*e*/) +{ + // We don't use layout aware page's view states, we have our own + UpdateTrigger(); +} +void ApplicationViewModeTrigger::OnViewModePropertyChanged(_In_ AppViewMode /*oldValue*/, _In_ AppViewMode /*newValue*/) +{ + UpdateTrigger(); +} +void ApplicationViewModeTrigger::OnMinWindowHeightPropertyChanged(double /*oldValue*/, double /*newValue*/) +{ + UpdateTrigger(); +} + +void ApplicationViewModeTrigger::OnMinWindowWidthPropertyChanged(double /*oldValue*/, double /*newValue*/) +{ + UpdateTrigger(); +} + +void ApplicationViewModeTrigger::UpdateTrigger() +{ + auto applicationView = ApplicationView::GetForCurrentView(); + auto viewMode = applicationView->ViewMode; + if (applicationView->VisibleBounds.Width < this->MinWindowWidth || applicationView->VisibleBounds.Height < this->MinWindowHeight) + { + SetActive(false); + return; + } + + switch (static_cast(viewMode)) + { + case 0 /*ApplicationViewMode::Default*/: + SetActive(this->ViewMode == AppViewMode::Normal); + break; + case 1 /*ApplicationViewMode::CompactOverlay*/: + SetActive(this->ViewMode == AppViewMode::CompactOverlay); + break; + case 2 /*ApplicationViewMode::Spanning*/: + + // We will need to update this code to use new SpanningRects API instead of DisplayRegions when the app will use the SDK for windows 10 2004. + auto displayRegions = applicationView->GetDisplayRegions(); + if (displayRegions->Size == 2) + { + auto display1 = displayRegions->GetAt(0); + auto display2 = displayRegions->GetAt(1); + if (display1->WorkAreaOffset.X < display2->WorkAreaOffset.X && display1->WorkAreaOffset.Y == display2->WorkAreaOffset.Y) + { + this->SetActive(this->ViewMode == AppViewMode::DoublePortrait); + return; + } + else if (display1->WorkAreaOffset.X == display2->WorkAreaOffset.X && display1->WorkAreaOffset.Y < display2->WorkAreaOffset.Y) + { + this->SetActive(this->ViewMode == AppViewMode::DoubleLandscape); + return; + } + } + SetActive(this->ViewMode == AppViewMode::Normal); + break; + } +} diff --git a/src/Calculator/Views/StateTriggers/ApplicationViewModeTrigger.h b/src/Calculator/Views/StateTriggers/ApplicationViewModeTrigger.h new file mode 100644 index 000000000..a708ea1b3 --- /dev/null +++ b/src/Calculator/Views/StateTriggers/ApplicationViewModeTrigger.h @@ -0,0 +1,40 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +#pragma once +#include "CalcViewModel/Common/Utils.h" + +namespace CalculatorApp::Views::StateTriggers +{ +public + enum class AppViewMode + { + Normal = 0, + CompactOverlay = 1, + DoublePortrait = 2, + DoubleLandscape = 3 + }; + +public + ref class ApplicationViewModeTrigger sealed : public Windows::UI::Xaml::StateTriggerBase + { + public: + ApplicationViewModeTrigger(); + DEPENDENCY_PROPERTY_OWNER(ApplicationViewModeTrigger); + + /* The view mode that will cause the trigger to fire. */ + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(AppViewMode, ViewMode, AppViewMode::Normal); + + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(double, MinWindowHeight, -1); + + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(double, MinWindowWidth, -1); + private: + void OnViewModePropertyChanged(AppViewMode oldValue, AppViewMode newValue); + void OnMinWindowHeightPropertyChanged(double oldValue, double newValue); + void OnMinWindowWidthPropertyChanged(double oldValue, double newValue); + void WindowSizeChanged(_In_ Platform::Object ^ sender, _In_ Windows::UI::Core::WindowSizeChangedEventArgs ^ e); + void UpdateTrigger(); + private: + Windows::Foundation::EventRegistrationToken m_windowSizeEventToken; + }; +} diff --git a/src/Calculator/Views/TitleBar.xaml.cpp b/src/Calculator/Views/TitleBar.xaml.cpp index 44f4a8c44..999588236 100644 --- a/src/Calculator/Views/TitleBar.xaml.cpp +++ b/src/Calculator/Views/TitleBar.xaml.cpp @@ -5,9 +5,11 @@ #include "TitleBar.xaml.h" #include "CalcViewModel/Common/AppResourceProvider.h" #include "CalcViewModel/Common/Utils.h" +#include "CalcViewModel/Utils/DeviceFamilyHelper.h" using namespace std; using namespace Platform; +using namespace CalculatorApp::ViewModel::Utils; using namespace Windows::ApplicationModel; using namespace Windows::ApplicationModel::Core; using namespace Windows::Foundation; @@ -50,7 +52,7 @@ namespace CalculatorApp [this](CoreApplicationViewTitleBar ^ cTitleBar, Object ^) { this->SetTitleBarVisibility(); }); m_layoutChangedToken = m_coreTitleBar->LayoutMetricsChanged += ref new TypedEventHandler([this](CoreApplicationViewTitleBar ^ cTitleBar, Object ^) { - this->LayoutRoot->Height = cTitleBar->Height; + this->SetTitleBarHeight(); this->SetTitleBarPadding(); }); @@ -60,11 +62,10 @@ namespace CalculatorApp m_windowActivatedToken = Window::Current->Activated += ref new Windows::UI::Xaml::WindowActivatedEventHandler(this, &CalculatorApp::TitleBar::OnWindowActivated); // Set properties - LayoutRoot->Height = m_coreTitleBar->Height; - SetTitleBarControlColors(); - - SetTitleBarVisibility(); - SetTitleBarPadding(); + this->SetTitleBarHeight(); + this->SetTitleBarControlColors(); + this->SetTitleBarVisibility(); + this->SetTitleBarPadding(); } void TitleBar::OnUnloaded(_In_ Object ^ /*sender*/, _In_ RoutedEventArgs ^ /*e*/) @@ -84,7 +85,25 @@ namespace CalculatorApp void TitleBar::SetTitleBarVisibility() { - this->LayoutRoot->Visibility = m_coreTitleBar->IsVisible || IsAlwaysOnTopMode ? ::Visibility::Visible : ::Visibility::Collapsed; + // CoreApplication::GetCurrentView()->TitleBar->IsVisible currently returns False instead of True on Windows 10X. + // This issue is already tracked and will be fixed in a future preview version of 10X. + this->LayoutRoot->Visibility = m_coreTitleBar->IsVisible || DeviceFamilyHelper::GetDeviceFamily() == DeviceFamily::WindowsCore || IsAlwaysOnTopMode + ? ::Visibility::Visible + : ::Visibility::Collapsed; + } + + void TitleBar::SetTitleBarHeight() + { + if (m_coreTitleBar->Height == 0 && DeviceFamilyHelper::GetDeviceFamily() == DeviceFamily::WindowsCore) + { + // CoreApplication::GetCurrentView()->TitleBar doesn't return the correct height on Windows 10X. + // This issue is already tracked and will be fixed in a future preview version of 10X. + this->LayoutRoot->Height = 32; + } + else + { + this->LayoutRoot->Height = m_coreTitleBar->Height; + } } void TitleBar::SetTitleBarPadding() diff --git a/src/Calculator/Views/TitleBar.xaml.h b/src/Calculator/Views/TitleBar.xaml.h index 53bf6ff72..98325c183 100644 --- a/src/Calculator/Views/TitleBar.xaml.h +++ b/src/Calculator/Views/TitleBar.xaml.h @@ -29,6 +29,7 @@ public void SetTitleBarText(Platform::String ^ text); void SetTitleBarVisibility(); + void SetTitleBarHeight(); void SetTitleBarPadding(); void SetTitleBarControlColors(); void ColorValuesChanged(_In_ Windows::UI::ViewManagement::UISettings ^ sender, _In_ Platform::Object ^ e); diff --git a/src/Calculator/Views/UnitConverter.xaml b/src/Calculator/Views/UnitConverter.xaml index 60fd72485..31b137055 100644 --- a/src/Calculator/Views/UnitConverter.xaml +++ b/src/Calculator/Views/UnitConverter.xaml @@ -277,36 +277,47 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + - - - - - + + @@ -400,7 +409,6 @@ - @@ -437,8 +445,8 @@ - - + + @@ -506,259 +514,287 @@ - - - - - - - + + + + + + + + + + + - + Grid.RowSpan="5" + Visibility="Collapsed"> + + + + + + + - - - - - - - - - + + + + + + + + + - + - - - - - - - - - + + + + + + + + + - + - - - - - + + + + + - - + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + diff --git a/src/Calculator/Views/UnitConverter.xaml.h b/src/Calculator/Views/UnitConverter.xaml.h index 16c669c0d..21a69219d 100644 --- a/src/Calculator/Views/UnitConverter.xaml.h +++ b/src/Calculator/Views/UnitConverter.xaml.h @@ -13,6 +13,7 @@ #include "Converters/VisibilityNegationConverter.h" #include "CalcViewModel/UnitConverterViewModel.h" #include "Views/StateTriggers/AspectRatioTrigger.h" +#include "Views/StateTriggers/ApplicationViewModeTrigger.h" namespace CalculatorApp { diff --git a/src/Calculator/packages.config b/src/Calculator/packages.config index a33d8464f..ef1db8625 100644 --- a/src/Calculator/packages.config +++ b/src/Calculator/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file diff --git a/src/Calculator/pch.h b/src/Calculator/pch.h index 13812fec7..0ae56d8d3 100644 --- a/src/Calculator/pch.h +++ b/src/Calculator/pch.h @@ -41,6 +41,7 @@ #include "winrt/Windows.System.UserProfile.h" #include "winrt/Windows.UI.ViewManagement.h" #include "winrt/Windows.UI.Xaml.h" +#include "winrt/Windows.System.Profile.h" #include "winrt/Windows.Foundation.h" // Project Headers From 7b51b459064b9813c9299dcacaa6c4e56ebb2fcc Mon Sep 17 00:00:00 2001 From: Jay Windsor Date: Wed, 25 Mar 2020 04:20:13 -0700 Subject: [PATCH 40/76] Remove adjustment from local time (#834) --- src/CalcViewModel/DateCalculatorViewModel.cpp | 8 ++++---- src/CalcViewModel/DateCalculatorViewModel.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/CalcViewModel/DateCalculatorViewModel.cpp b/src/CalcViewModel/DateCalculatorViewModel.cpp index 20ee012bf..a34c1288d 100644 --- a/src/CalcViewModel/DateCalculatorViewModel.cpp +++ b/src/CalcViewModel/DateCalculatorViewModel.cpp @@ -60,7 +60,7 @@ DateCalculatorViewModel::DateCalculatorViewModel() auto today = calendar->GetDateTime(); // FromDate and ToDate should be clipped (adjusted to a consistent hour in UTC) - m_fromDate = m_toDate = ClipTime(today, true); + m_fromDate = m_toDate = ClipTime(today); // StartDate should not be clipped m_startDate = today; @@ -83,7 +83,7 @@ DateCalculatorViewModel::DateCalculatorViewModel() DayOfWeek trueDayOfWeek = calendar->DayOfWeek; - DateTime clippedTime = ClipTime(today, false); + DateTime clippedTime = ClipTime(today); calendar->SetDateTime(clippedTime); if (calendar->DayOfWeek != trueDayOfWeek) { @@ -113,8 +113,8 @@ void DateCalculatorViewModel::OnInputsChanged() { if (m_IsDateDiffMode) { - DateTime clippedFromDate = ClipTime(FromDate, true); - DateTime clippedToDate = ClipTime(ToDate, true); + DateTime clippedFromDate = ClipTime(FromDate); + DateTime clippedToDate = ClipTime(ToDate); // Calculate difference between two dates auto dateDiff = m_dateCalcEngine->TryGetDateDifference(clippedFromDate, clippedToDate, m_daysOutputFormat); diff --git a/src/CalcViewModel/DateCalculatorViewModel.h b/src/CalcViewModel/DateCalculatorViewModel.h index d9e73f4bc..485737841 100644 --- a/src/CalcViewModel/DateCalculatorViewModel.h +++ b/src/CalcViewModel/DateCalculatorViewModel.h @@ -110,7 +110,7 @@ namespace CalculatorApp Platform::String ^ GetDateDiffString() const; Platform::String ^ GetDateDiffStringInDays() const; Platform::String ^ GetLocalizedNumberString(int value) const; - static Windows::Foundation::DateTime ClipTime(Windows::Foundation::DateTime dateTime, bool adjustToLocalTime); + static Windows::Foundation::DateTime ClipTime(Windows::Foundation::DateTime dateTime, bool adjustUsingLocalTime = false); property bool IsOutOfBound { From fc19ddcbcbb476284dd5c53feb64d7b5da27e327 Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Wed, 25 Mar 2020 15:18:34 -0700 Subject: [PATCH 41/76] Improve error handling by displaying an error message (#1075) * wire up error messages * more errors * fix crash on render error * Always show copy and cut * PR comments * Fix spelling --- .../GraphingCalculator/EquationViewModel.cpp | 160 +++++++++++++- .../GraphingCalculator/EquationViewModel.h | 2 + src/Calculator/Controls/EquationTextBox.cpp | 5 +- src/Calculator/Controls/EquationTextBox.h | 1 + src/Calculator/Resources/en-US/Resources.resw | 158 +++++++++++++- .../GraphingCalculator/EquationInputArea.xaml | 33 +-- src/GraphControl/Control/Grapher.cpp | 25 ++- src/GraphControl/Control/Grapher.h | 2 + src/GraphControl/DirectX/RenderMain.cpp | 9 +- src/GraphControl/DirectX/RenderMain.h | 4 + src/GraphControl/Models/Equation.h | 196 ++++++++++++++++++ src/GraphingImpl/Mocks/Graph.h | 5 + src/GraphingImpl/Mocks/MathSolver.h | 6 +- src/GraphingInterfaces/IGraph.h | 2 + src/GraphingInterfaces/IMathSolver.h | 6 +- 15 files changed, 582 insertions(+), 32 deletions(-) diff --git a/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp b/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp index 94b97794f..4319fed8e 100644 --- a/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp +++ b/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp @@ -11,6 +11,7 @@ using namespace Graphing; using namespace Platform; using namespace Platform::Collections; using namespace std; +using namespace Windows::ApplicationModel::Resources; using namespace Windows::UI; using namespace Windows::UI::Xaml; using namespace Windows::Foundation::Collections; @@ -36,7 +37,7 @@ namespace CalculatorApp::ViewModel : m_AnalysisErrorVisible{ false } , m_FunctionLabelIndex{ functionLabelIndex } , m_KeyGraphFeaturesItems{ ref new Vector() } - , m_resourceLoader{ Windows::ApplicationModel::Resources::ResourceLoader::GetForCurrentView() } + , m_resourceLoader{ ::ResourceLoader::GetForCurrentView() } { if (equation == nullptr) { @@ -72,11 +73,14 @@ namespace CalculatorApp::ViewModel AddKeyGraphFeature(m_resourceLoader->GetString(L"YIntercept"), graphEquation->YIntercept, m_resourceLoader->GetString(L"KGFYInterceptNone")); AddKeyGraphFeature(m_resourceLoader->GetString(L"Minima"), graphEquation->Minima, m_resourceLoader->GetString(L"KGFMinimaNone")); AddKeyGraphFeature(m_resourceLoader->GetString(L"Maxima"), graphEquation->Maxima, m_resourceLoader->GetString(L"KGFMaximaNone")); - AddKeyGraphFeature(m_resourceLoader->GetString(L"InflectionPoints"), graphEquation->InflectionPoints, m_resourceLoader->GetString(L"KGFInflectionPointsNone")); + AddKeyGraphFeature( + m_resourceLoader->GetString(L"InflectionPoints"), graphEquation->InflectionPoints, m_resourceLoader->GetString(L"KGFInflectionPointsNone")); AddKeyGraphFeature( m_resourceLoader->GetString(L"VerticalAsymptotes"), graphEquation->VerticalAsymptotes, m_resourceLoader->GetString(L"KGFVerticalAsymptotesNone")); AddKeyGraphFeature( - m_resourceLoader->GetString(L"HorizontalAsymptotes"), graphEquation->HorizontalAsymptotes, m_resourceLoader->GetString(L"KGFHorizontalAsymptotesNone")); + m_resourceLoader->GetString(L"HorizontalAsymptotes"), + graphEquation->HorizontalAsymptotes, + m_resourceLoader->GetString(L"KGFHorizontalAsymptotesNone")); AddKeyGraphFeature( m_resourceLoader->GetString(L"ObliqueAsymptotes"), graphEquation->ObliqueAsymptotes, m_resourceLoader->GetString(L"KGFObliqueAsymptotesNone")); AddParityKeyGraphFeature(graphEquation); @@ -299,4 +303,154 @@ namespace CalculatorApp::ViewModel KeyGraphFeaturesItems->Append(tooComplexItem); } + + String ^ EquationViewModel::EquationErrorText(ErrorType errorType, int errorCode) + { + auto resLoader = ResourceLoader::GetForCurrentView(); + if (errorType == ::ErrorType::Evaluation) + { + switch (static_cast(errorCode)) + { + case (EvaluationErrorCode::Overflow): + return resLoader->GetString(L"Overflow"); + break; + case (EvaluationErrorCode::RequireRadiansMode): + return resLoader->GetString(L"RequireRadiansMode"); + break; + case (EvaluationErrorCode::TooComplexToSolve): + return resLoader->GetString(L"TooComplexToSolve"); + break; + case (EvaluationErrorCode::RequireDegreesMode): + return resLoader->GetString(L"RequireDegreesMode"); + break; + case (EvaluationErrorCode::FactorialInvalidArgument): + case (EvaluationErrorCode::Factorial2InvalidArgument): + return resLoader->GetString(L"FactorialInvalidArgument"); + break; + case (EvaluationErrorCode::FactorialCannotPerformOnLargeNumber): + return resLoader->GetString(L"FactorialCannotPerformOnLargeNumber"); + break; + case (EvaluationErrorCode::ModuloCannotPerformOnFloat): + return resLoader->GetString(L"ModuloCannotPerformOnFloat"); + break; + case (EvaluationErrorCode::EquationTooComplexToSolve): + case (EvaluationErrorCode::EquationTooComplexToSolveSymbolic): + case (EvaluationErrorCode::EquationTooComplexToPlot): + case (EvaluationErrorCode::InequalityTooComplexToSolve): + case (EvaluationErrorCode::GE_TooComplexToSolve): + return resLoader->GetString(L"TooComplexToSolve"); + break; + case (EvaluationErrorCode::EquationHasNoSolution): + case (EvaluationErrorCode::InequalityHasNoSolution): + return resLoader->GetString(L"EquationHasNoSolution"); + break; + case (EvaluationErrorCode::DivideByZero): + return resLoader->GetString(L"DivideByZero"); + break; + case (EvaluationErrorCode::MutuallyExclusiveConditions): + return resLoader->GetString(L"MutuallyExclusiveConditions"); + break; + case (EvaluationErrorCode::OutOfDomain): + return resLoader->GetString(L"OutOfDomain"); + break; + case (EvaluationErrorCode::GE_NotSupported): + return resLoader->GetString(L"GE_NotSupported"); + break; + default: + return resLoader->GetString(L"GeneralError"); + break; + } + } + else if (errorType == ::ErrorType::Syntax) + { + switch (static_cast(errorCode)) + { + case (SyntaxErrorCode::ParenthesisMismatch): + return resLoader->GetString(L"ParenthesisMismatch"); + break; + case (SyntaxErrorCode::UnmatchedParenthesis): + return resLoader->GetString(L"UnmatchedParenthesis"); + break; + case (SyntaxErrorCode::TooManyDecimalPoints): + return resLoader->GetString(L"TooManyDecimalPoints"); + break; + case (SyntaxErrorCode::DecimalPointWithoutDigits): + return resLoader->GetString(L"DecimalPointWithoutDigits"); + break; + case (SyntaxErrorCode::UnexpectedEndOfExpression): + return resLoader->GetString(L"UnexpectedEndOfExpression"); + break; + case (SyntaxErrorCode::UnexpectedToken): + return resLoader->GetString(L"UnexpectedToken"); + break; + case (SyntaxErrorCode::InvalidToken): + return resLoader->GetString(L"InvalidToken"); + break; + case (SyntaxErrorCode::TooManyEquals): + return resLoader->GetString(L"TooManyEquals"); + break; + case (SyntaxErrorCode::EqualWithoutGraphVariable): + return resLoader->GetString(L"EqualWithoutGraphVariable"); + break; + case (SyntaxErrorCode::InvalidEquationSyntax): + case (SyntaxErrorCode::InvalidEquationFormat): + return resLoader->GetString(L"InvalidEquationSyntax"); + break; + case (SyntaxErrorCode::EmptyExpression): + return resLoader->GetString(L"EmptyExpression"); + break; + case (SyntaxErrorCode::EqualWithoutEquation): + return resLoader->GetString(L"EqualWithoutEquation"); + break; + case (SyntaxErrorCode::ExpectParenthesisAfterFunctionName): + return resLoader->GetString(L"ExpectParenthesisAfterFunctionName"); + break; + case (SyntaxErrorCode::IncorrectNumParameter): + return resLoader->GetString(L"IncorrectNumParameter"); + break; + case (SyntaxErrorCode::InvalidVariableNameFormat): + return resLoader->GetString(L"InvalidVariableNameFormat"); + break; + case (SyntaxErrorCode::BracketMismatch): + return resLoader->GetString(L"BracketMismatch"); + break; + case (SyntaxErrorCode::UnmatchedBracket): + return resLoader->GetString(L"UnmatchedBracket"); + break; + case (SyntaxErrorCode::CannotUseIInReal): + return resLoader->GetString(L"CannotUseIInReal"); + break; + case (SyntaxErrorCode::InvalidNumberDigit): + return resLoader->GetString(L"InvalidNumberDigit"); + break; + case (SyntaxErrorCode::InvalidNumberBase): + return resLoader->GetString(L"InvalidNumberBase"); + break; + case (SyntaxErrorCode::InvalidVariableSpecification): + return resLoader->GetString(L"InvalidVariableSpecification"); + break; + case (SyntaxErrorCode::ExpectingLogicalOperands): + case (SyntaxErrorCode::ExpectingScalarOperands): + return resLoader->GetString(L"ExpectingLogicalOperands"); + break; + case (SyntaxErrorCode::CannotUseIndexVarInOpLimits): + return resLoader->GetString(L"CannotUseIndexVarInOpLimits"); + break; + case (SyntaxErrorCode::CannotUseIndexVarInLimPoint): + return resLoader->GetString(L"Overflow"); + break; + case (SyntaxErrorCode::CannotUseComplexInfinityInReal): + return resLoader->GetString(L"CannotUseComplexInfinityInReal"); + break; + case (SyntaxErrorCode::CannotUseIInInequalitySolving): + return resLoader->GetString(L"CannotUseIInInequalitySolving"); + break; + default: + return resLoader->GetString(L"GeneralError"); + break; + } + } + + return resLoader->GetString(L"GeneralError"); + } } diff --git a/src/CalcViewModel/GraphingCalculator/EquationViewModel.h b/src/CalcViewModel/GraphingCalculator/EquationViewModel.h index 143254b0b..e836f7970 100644 --- a/src/CalcViewModel/GraphingCalculator/EquationViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/EquationViewModel.h @@ -103,6 +103,8 @@ public void PopulateKeyGraphFeatures(GraphControl::KeyGraphFeaturesInfo ^ info); + static Platform::String ^ EquationErrorText(GraphControl::ErrorType errorType, int errorCode); + private: void AddKeyGraphFeature(Platform::String ^ title, Platform::String ^ expression, Platform::String ^ errorString); void AddKeyGraphFeature( diff --git a/src/Calculator/Controls/EquationTextBox.cpp b/src/Calculator/Controls/EquationTextBox.cpp index 5a607eb75..3c4f147ef 100644 --- a/src/Calculator/Controls/EquationTextBox.cpp +++ b/src/Calculator/Controls/EquationTextBox.cpp @@ -27,6 +27,7 @@ DEPENDENCY_PROPERTY_INITIALIZATION(EquationTextBox, EquationButtonContentIndex); DEPENDENCY_PROPERTY_INITIALIZATION(EquationTextBox, HasError); DEPENDENCY_PROPERTY_INITIALIZATION(EquationTextBox, IsAddEquationMode); DEPENDENCY_PROPERTY_INITIALIZATION(EquationTextBox, MathEquation); +DEPENDENCY_PROPERTY_INITIALIZATION(EquationTextBox, ErrorText); DEPENDENCY_PROPERTY_INITIALIZATION(EquationTextBox, IsEquationLineDisabled); EquationTextBox::EquationTextBox() @@ -432,12 +433,12 @@ void EquationTextBox::OnRichEditMenuOpened(Object ^ /*sender*/, Object ^ /*args* if (m_richEditBox != nullptr && m_cutMenuItem != nullptr) { - m_cutMenuItem->IsEnabled = m_richEditBox->TextDocument->CanCopy() && m_richEditBox->TextDocument->Selection->Length > 0; + m_cutMenuItem->IsEnabled = m_richEditBox->TextDocument->CanCopy(); } if (m_richEditBox != nullptr && m_copyMenuItem != nullptr) { - m_copyMenuItem->IsEnabled = m_richEditBox->TextDocument->CanCopy() && m_richEditBox->TextDocument->Selection->Length > 0; + m_copyMenuItem->IsEnabled = m_richEditBox->TextDocument->CanCopy(); } if (m_richEditBox != nullptr && m_pasteMenuItem != nullptr) diff --git a/src/Calculator/Controls/EquationTextBox.h b/src/Calculator/Controls/EquationTextBox.h index cb768a6fb..a9fcc2625 100644 --- a/src/Calculator/Controls/EquationTextBox.h +++ b/src/Calculator/Controls/EquationTextBox.h @@ -25,6 +25,7 @@ namespace CalculatorApp DEPENDENCY_PROPERTY(Platform::String ^, MathEquation); DEPENDENCY_PROPERTY_WITH_CALLBACK(bool, HasError); DEPENDENCY_PROPERTY_WITH_CALLBACK(bool, IsAddEquationMode); + DEPENDENCY_PROPERTY(Platform::String ^, ErrorText); DEPENDENCY_PROPERTY(bool, IsEquationLineDisabled); PROPERTY_R(bool, HasFocus); diff --git a/src/Calculator/Resources/en-US/Resources.resw b/src/Calculator/Resources/en-US/Resources.resw index 3bbd502dc..47523363c 100644 --- a/src/Calculator/Resources/en-US/Resources.resw +++ b/src/Calculator/Resources/en-US/Resources.resw @@ -4106,7 +4106,163 @@ Unable to calculate the range for this function. Error displayed when Range is not returned from the analyzer. - + + Overflow (the number is too large) + Error that occurs during graphing when the number is too large. To see this error, assign a large number to variable a, then keep doing "a:=a*a" until it happens. + + + Radians mode is required to graph this equation. + Error that occurs during graphing when radians is required. + + + This function is too complex to graph + Error that occurs during graphing when the equation is too complex. + + + Degrees mode is required to graph this function + Error that occurs during graphing when degrees is required + + + The factorial function has an invalid argument + Error that occurs during graphing when a factorial function has an invalid argument. + + + The factorial function has an argument that is too large to graph + Error that occurs during graphing when a factorial has a large n + + + Modulo can only be used with whole numbers + Error that occurs during graphing when modulo is used with a float. + + + The equation has no solution + Error that occurs during graphing when the equation has no solution. + + + Cannot divide by zero + Error that occurs during graphing when a divison by zero occurs. + + + The equation contains logical conditions that are mutually exclusive + Error that occurs during graphing when mutually exclusive conditions are used. + + + Equation is out of domain + Error that occurs during graphing when the equation is out of domain. + + + Graphing this equation is not supported + Error that occurs during graphing when the equation is not supported. + + + The equation is missing an opening parenthesis + Error that occurs during graphing when the equation is missing a ( + + + The equation is missing a closing parenthesis + Error that occurs during graphing when the equation is missing a ) + + + There are too many decimal points in a number + Error that occurs during graphing when a number has too many decimals. Ex: 1.2.3 + + + A decimal point is missing digits + Error that occurs during graphing with a decimal point without digits + + + Unexpected end of expression + Error that occurs during graphing when the expression ends unexpectedly. Ex: 3-4* + + + Unexpected characters in the expression + Error that occurs during graphing when there is an unexpected token. + + + Invalid characters in the expression + Error that occurs during graphing when there is an invalid token. + + + There are too many equal signs + Error that occurs during graphing when there are too many equals. + + + The function must contain at least one x or y variable + Error that occurs during graphing when the equation is missing x or y. + + + Invalid expression + Error that occurs during graphing when an invalid syntax is used. + + + The expression is empty + Error that occurs during graphing when the expression is empty + + + Equal was used without an equation + Error that occurs during graphing when equal is used without an equation. Ex: sin(x=y) + + + Parenthesis missing after function name + Error that occurs during graphing when parenthesis are missing after a function. + + + A mathematical operation has the incorrect number of parameters + Error that occurs during graphing when a function has the wrong number of parameters + + + A variable name is invalid + Error that occurs during graphing when a variable name is invalid. + + + The equation is missing an opening bracket + Error that occurs during graphing when a { is missing + + + The equation is missing a closing bracket + Error that occurs during graphing when a } is missing. + + + "i" and "I" cannot be used as variable names + Error that occurs during graphing when i or I is used. + + + The equation could not be graphed + General error that occurs during graphing. + + + The digit could not be resolved for the given base + Error that occurs during graphing when trying to use bases incorrect. Ex: base(2,1020). + + + The base must be greater than 2 and less than 36 + Error that occurs during graphing when the base is out of range. + + + A mathematical operation requires one of its paramaters to be a variable + Error that occurs during graphing when a function requires a variable in a particular position. Ex: 2nd argument of deriv. + + + Equation is mixing logical and scalar operands + Error that occurs during graphing when operands are mixed. Such as true and 1. + + + x or y cannot be used in the upper or lower limits + Error that occurs during graphing when x or y is used in integral upper limits. + + + x or y cannot be used in the limit point + Error that occurs during graphing when x or y is used in the limit point. + + + Cannot use complex infinity + Error that occurs during graphing when complex infinity is used + + + Cannot use complex numbers in inequalities + Error that occurs during graphing when complex numbers are used in inequalities. + + Back This is the tooltip for the back button in the equation analysis page in the graphing calculator diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml index 13fd008d7..c3a0cc3a9 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml @@ -324,6 +324,7 @@ + @@ -344,7 +345,7 @@ - + @@ -568,6 +569,7 @@ + - + + - @@ -823,7 +826,8 @@ - >> initResult = nullopt; bool successful = false; + m_errorCode = 0; + m_errorType = 0; if (m_renderMain && m_graph != nullptr) { @@ -345,7 +347,7 @@ namespace GraphControl parsableEquation += s_getGraphClosingTags; // Wire up the corresponding error to an error message in the UI at some point - if (!(expr = m_solver->ParseInput(parsableEquation))) + if (!(expr = m_solver->ParseInput(parsableEquation, m_errorCode, m_errorType))) { co_return false; } @@ -356,7 +358,7 @@ namespace GraphControl request += s_getGraphClosingTags; } - if (graphExpression = m_solver->ParseInput(request)) + if (graphExpression = m_solver->ParseInput(request, m_errorCode, m_errorType)) { initResult = TryInitializeGraph(keepCurrentView, graphExpression.get()); @@ -386,8 +388,13 @@ namespace GraphControl // If we failed to render then we have already lost the previous graph shouldKeepPreviousGraph = false; initResult = nullopt; + m_solver->HRErrorToErrorInfo(m_renderMain->GetRenderError(), m_errorCode, m_errorType); } } + else + { + m_solver->HRErrorToErrorInfo(m_graph->GetInitializationError(), m_errorCode, m_errorType); + } } if (initResult == nullopt) @@ -398,7 +405,7 @@ namespace GraphControl initResult = m_graph->TryInitialize(); if (initResult != nullopt) { - UpdateGraphOptions(m_graph->GetOptions(), validEqs); + UpdateGraphOptions(m_graph->GetOptions(), vector()); SetGraphArgs(m_graph); m_renderMain->Graph = m_graph; @@ -431,6 +438,8 @@ namespace GraphControl { if (!eq->IsValidated) { + eq->GraphErrorType = static_cast(m_errorType); + eq->GraphErrorCode = m_errorCode; eq->HasGraphError = true; } } @@ -457,7 +466,7 @@ namespace GraphControl request += equation->GetRequest()->Data(); request += s_getGraphClosingTags; - if (unique_ptr graphExpression = m_solver->ParseInput(request)) + if (unique_ptr graphExpression = m_solver->ParseInput(request, m_errorCode, m_errorType)) { if (graph->TryInitialize(graphExpression.get())) { @@ -524,7 +533,7 @@ namespace GraphControl m_graph->SetArgValue(variableName->Data(), newValue); m_renderMain->GetCriticalSection().unlock(); - m_renderMain->RunRenderPassAsync(); + m_renderMain->RunRenderPass(); }); ThreadPool::RunAsync(workItemHandler, WorkItemPriority::High, WorkItemOptions::None); @@ -549,7 +558,7 @@ namespace GraphControl auto lineColor = eq->LineColor; graphColors.emplace_back(lineColor.R, lineColor.G, lineColor.B, lineColor.A); - if (eq->IsSelected) + if (eq->GraphedEquation != nullptr && !eq->HasGraphError && eq->IsSelected) { eq->GraphedEquation->TrySelectEquation(); } @@ -1001,7 +1010,7 @@ String ^ Grapher::ConvertToLinear(String ^ mmlString) { m_solver->FormatOptions().SetFormatType(FormatType::LinearInput); - auto expression = m_solver->ParseInput(mmlString->Data()); + auto expression = m_solver->ParseInput(mmlString->Data(), m_errorCode, m_errorType); auto linearExpression = m_solver->Serialize(expression.get()); m_solver->FormatOptions().SetFormatType(s_defaultFormatType); @@ -1011,7 +1020,7 @@ String ^ Grapher::ConvertToLinear(String ^ mmlString) String ^ Grapher::FormatMathML(String ^ mmlString) { - auto expression = m_solver->ParseInput(mmlString->Data()); + auto expression = m_solver->ParseInput(mmlString->Data(), m_errorCode, m_errorType); auto formattedExpression = m_solver->Serialize(expression.get()); return ref new String(formattedExpression.c_str()); } diff --git a/src/GraphControl/Control/Grapher.h b/src/GraphControl/Control/Grapher.h index 5ca446aee..a2d833f22 100644 --- a/src/GraphControl/Control/Grapher.h +++ b/src/GraphControl/Control/Grapher.h @@ -335,6 +335,8 @@ public bool m_Moving; Windows::UI::Xaml::DispatcherTimer ^ m_TracingTrackingTimer; Windows::UI::Core::CoreCursor ^ m_cachedCursor; + int m_errorType; + int m_errorCode; public: Windows::Storage::Streams::RandomAccessStreamReference ^ GetGraphBitmapStream(); diff --git a/src/GraphControl/DirectX/RenderMain.cpp b/src/GraphControl/DirectX/RenderMain.cpp index 8f2747866..e07cb0b21 100644 --- a/src/GraphControl/DirectX/RenderMain.cpp +++ b/src/GraphControl/DirectX/RenderMain.cpp @@ -274,7 +274,9 @@ namespace GraphControl::DX pRenderTarget->BeginDraw(); bool hasMissingData = false; - successful = SUCCEEDED(renderer->DrawD2D1(pFactory, pRenderTarget, hasMissingData)); + m_HResult = renderer->DrawD2D1(pFactory, pRenderTarget, hasMissingData); + + successful = SUCCEEDED(m_HResult); // We ignore D2DERR_RECREATE_TARGET here. This error indicates that the device // is lost. It will be handled during the next call to Present. @@ -345,6 +347,11 @@ namespace GraphControl::DX return successful; } + HRESULT RenderMain::GetRenderError() + { + return m_HResult; + } + void RenderMain::OnLoaded(Object ^ sender, RoutedEventArgs ^ e) { RunRenderPass(); diff --git a/src/GraphControl/DirectX/RenderMain.h b/src/GraphControl/DirectX/RenderMain.h index 96f18c01c..31accf88a 100644 --- a/src/GraphControl/DirectX/RenderMain.h +++ b/src/GraphControl/DirectX/RenderMain.h @@ -61,6 +61,8 @@ namespace GraphControl::DX return m_isRenderPassSuccesful; } + HRESULT GetRenderError(); + // Indicates if we are in active tracing mode (the tracing box is being used and controlled through keyboard input) property bool ActiveTracing { @@ -189,5 +191,7 @@ namespace GraphControl::DX Windows::Foundation::IAsyncAction ^ m_renderPass = nullptr; bool m_isRenderPassSuccesful; + + HRESULT m_HResult; }; } diff --git a/src/GraphControl/Models/Equation.h b/src/GraphControl/Models/Equation.h index baa66c72f..03b847b6a 100644 --- a/src/GraphControl/Models/Equation.h +++ b/src/GraphControl/Models/Equation.h @@ -7,6 +7,200 @@ namespace GraphControl { + public enum class ErrorType + { + Evaluation, + Syntax, + Abort, + }; + + public enum class EvaluationErrorCode + { + // Number is too large. To see this error, assign a large number to variable a, then keep doing "a:=a*a" until it happens + Overflow = 2, + + // doing trig in calculus and current mode is not Radians + RequireRadiansMode = 3, + + // This is actually abort code generated as time limit reached. + TooComplexToSolve = 4, + + // degree sign present and the current mode is not Degrees + RequireDegreesMode = 5, + + // n! and n is not an non-negative integer or m/2 + FactorialInvalidArgument = -1, + + // n!! and n is not an non-negative integer or odd negative integers + Factorial2InvalidArgument = -2, + + // n! and n is too big + FactorialCannotPerformOnLargeNumber = -3, + + // x mod y, and one of them is not an integer + ModuloCannotPerformOnFloat = -5, + + // below are equation solving specific errors + + // example1: sin(x)+x=2 example2: x^4-x^3-8x=9 + EquationTooComplexToSolveSymbolic = -7, + + // example1: x-x=3 example2: x^2=-1 + EquationHasNoSolution = -8, + + // only used for numeric solve where the algorithm doesn't converge + EquationTooComplexToSolve = -9, + + // used when equation cannot be ploted + EquationTooComplexToPlot = -10, + + // example1: 1/0 + DivideByZero = -15, + + // the inequality is too complex for the engine to solve + InequalityTooComplexToSolve = -41, + + // the inequality has no solution + InequalityHasNoSolution = -42, + + // An exression contains logical conditions that are mutually exclusive + MutuallyExclusiveConditions = -43, + + // Arbitrary Precision Evaluation input is out of domain + OutOfDomain = -101, + + // Not supported. + GE_NotSupported = -503, + + // General error for graphing engine + GE_GeneralError = -504, + + // Failed to calculate + GE_TooComplexToSolve = -506, + }; + + public enum class SyntaxErrorCode + { + // found ) without matching ( + ParenthesisMismatch = 1, + + // found ( without matching ) + UnmatchedParenthesis = 2, + + // more than 1 decimal point in a number. Example: 7.3.2 + TooManyDecimalPoints = 3, + + // decimal point on its own without any digits surrounding it. Example: 3+.+4 + DecimalPointWithoutDigits = 4, + + // example: 3-4* + UnexpectedEndOfExpression = 5, + + // example: 3-*4 + UnexpectedToken = 6, + + // example: [ (or many other special characters), another example: "3,5" (comma is invalid here) + InvalidToken = 7, + + // example: solve(x+3=8=x) + TooManyEquals = 8, + + // example: ploteq(4+83=9) + EqualWithoutGraphVariable = 10, + + // example: ploteq(x+y) (expecting "=" in equation ploting) + // example2: Solve(5*x+9) (expecting = in the equation solving) + InvalidEquationSyntax = 11, + + // there is nothing in the expression + EmptyExpression = 12, + + // example: factor(x=3) (expecting solve(x=3)). + EqualWithoutEquation = 14, + + // example: solve( (x=3)*2 ) + InvalidEquationFormat = 15, + + // This error only occurs when CasContext.ParsingOptions.AllowImplicitParentheses == false. + // example: sin a (expecting sin(a)) + ExpectParenthesisAfterFunctionName = 25, + + // example: root(a) (expecting 2 parameters) + IncorrectNumParameter = 26, + + // exmaple: "x_", "x_@", "x__1" + InvalidVariableNameFormat = 32, + + // found } without matching { + BracketMismatch = 34, + + // found { without matching } + UnmatchedBracket = 35, + + // syntax error in MathML format. Used only if CasContext.ParsingOptions.FormatType is MathML or MathMLNoWrapper + InvalidMathMLFormat = 40, + + // The input has an unknown MathML entity. Used only if CasContext.ParsingOptions.FormatType is MathML or MathMLNoWrapper + UnknownMathMLEntity = 41, + + // The input has an unknown MathML element. Used only if CasContext.ParsingOptions.FormatType is MathML or MathMLNoWrapper + UnknownMathMLElement = 42, + + // "i" and "I" cannot be used as variable names in real number field + CannotUseIInReal = 48, + + // General error + GeneralError = 52, + + // used in parsing numbers with arbitrary bases. example: base(2, 1020), base(16, 1AG) + InvalidNumberDigit = 55, + + // a valid number base must be an integer >=2 and <=36 + InvalidNumberBase = 56, + + // some functions require a variable in certain argument position. e.g. 2nd argument of deriv, integral, limit, etc. + // this error code is used if the argument at the position is not a variable + InvalidVariableSpecification = 57, + + // all operands of logical operators must be logical. example: "true and 1" + ExpectingLogicalOperands = 58, + + // all operands of a non-logical operator must not be logical. example: "sin(true)" + ExpectingScalarOperands = 59, + + // a list can contain logicals or scalars, but not both. + CannotMixLogicalScalarInList = 60, + + // in definite integral, seriesSum and seriesProduct, the index variable is used in the lower/upper limits. + // example: integral(sin(x), x, 0, x) + CannotUseIndexVarInOpLimits = 61, + + // in limit, the index variable is used in the limit point + // example: limit(sin(x), x, x-1) + CannotUseIndexVarInLimPoint = 62, + + /// ComplexInfinity cannot be used in real number field + CannotUseComplexInfinityInReal = 72, + + // complex numbers are not allowed in inequality solving + CannotUseIInInequalitySolving = 123, + + // Indicate a bug in the MathRichEdit serializer + RichEditSerializationError = 201, + + // can't initialize math zone in richedit, meaning it's the wrong version richedit dll, need reinstall + RichEditInitialization = 202, + + // indicate bug in either richedit or richedit wrapper + RichEditInlineObjectStructure = 203, + + // in a structure like integral, sum, product, one of the boxes is not filled + RichEditMissingArgument = 204, + + // errors in richedit wrapper that are not specifically handled for + RichEditGeneralError = 210, + }; + [Windows::UI::Xaml::Data::Bindable] public ref class Equation sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged { public: @@ -18,6 +212,8 @@ namespace GraphControl OBSERVABLE_NAMED_PROPERTY_RW(bool, IsValidated); OBSERVABLE_NAMED_PROPERTY_RW(bool, HasGraphError); OBSERVABLE_NAMED_PROPERTY_RW(bool, IsSelected); + OBSERVABLE_NAMED_PROPERTY_RW(ErrorType, GraphErrorType); + OBSERVABLE_NAMED_PROPERTY_RW(int, GraphErrorCode); property Windows::UI::Color LineColor { diff --git a/src/GraphingImpl/Mocks/Graph.h b/src/GraphingImpl/Mocks/Graph.h index ae10c35fd..8819e9402 100644 --- a/src/GraphingImpl/Mocks/Graph.h +++ b/src/GraphingImpl/Mocks/Graph.h @@ -29,6 +29,11 @@ namespace MockGraphingImpl return std::nullopt; } + HRESULT GetInitializationError() + { + return S_OK; + } + virtual Graphing::IGraphingOptions& GetOptions() { return m_graphingOptions; diff --git a/src/GraphingImpl/Mocks/MathSolver.h b/src/GraphingImpl/Mocks/MathSolver.h index 5706555bf..e6c18df26 100644 --- a/src/GraphingImpl/Mocks/MathSolver.h +++ b/src/GraphingImpl/Mocks/MathSolver.h @@ -115,7 +115,7 @@ namespace MockGraphingImpl return m_formatOptions; } - std::unique_ptr ParseInput(const std::wstring& input) override + std::unique_ptr ParseInput(const std::wstring& input, int& errorCodeOut, int& errorTypeOut) override { if (input.empty()) { @@ -125,6 +125,10 @@ namespace MockGraphingImpl return std::make_unique(MockExpression{}); } + void HRErrorToErrorInfo(HRESULT hr, int& errorCodeOut, int& errorTypeOut) + { + } + std::shared_ptr CreateGrapher(const Graphing::IExpression* expression) override; std::shared_ptr CreateGrapher() override; diff --git a/src/GraphingInterfaces/IGraph.h b/src/GraphingInterfaces/IGraph.h index 9eca23624..81a04ce49 100644 --- a/src/GraphingInterfaces/IGraph.h +++ b/src/GraphingInterfaces/IGraph.h @@ -18,6 +18,8 @@ namespace Graphing virtual std::optional>> TryInitialize(const IExpression* graphingExp = nullptr) = 0; + virtual HRESULT GetInitializationError() = 0; + virtual IGraphingOptions& GetOptions() = 0; virtual std::vector> GetVariables() = 0; diff --git a/src/GraphingInterfaces/IMathSolver.h b/src/GraphingInterfaces/IMathSolver.h index 8f1ddaaf1..70f728d91 100644 --- a/src/GraphingInterfaces/IMathSolver.h +++ b/src/GraphingInterfaces/IMathSolver.h @@ -64,9 +64,11 @@ namespace Graphing virtual IEvalOptions& EvalOptions() = 0; virtual IFormatOptions& FormatOptions() = 0; - virtual std::unique_ptr ParseInput(const std::wstring& input) = 0; - virtual std::shared_ptr CreateGrapher(const IExpression* expression) = 0; + virtual std::unique_ptr ParseInput(const std::wstring& input, int& errorCodeOut, int& errorTypeOut) = 0; + + virtual void HRErrorToErrorInfo(HRESULT hr, int& errorCodeOut, int& errorTypeOut) = 0; + virtual std::shared_ptr CreateGrapher(const IExpression* expression) = 0; virtual std::shared_ptr CreateGrapher() = 0; virtual std::wstring Serialize(const IExpression* expression) = 0; From 7dcfe0439c9ff58d4c90853ed0a897e47e735855 Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Thu, 26 Mar 2020 14:15:44 -0700 Subject: [PATCH 42/76] Add line width option (#1098) * add line thickness * clean up * Fix pr comments --- src/Calculator/Resources/en-US/Resources.resw | 20 +++++++++++++ .../GraphingCalculator/GraphingSettings.xaml | 29 +++++++++++++++++++ .../GraphingSettings.xaml.cpp | 22 ++++++++++++++ .../GraphingSettings.xaml.h | 2 ++ src/GraphControl/Control/Grapher.cpp | 29 ++++++++++++++++--- src/GraphControl/Control/Grapher.h | 3 +- .../DirectX/NearestPointRenderer.cpp | 10 +++++-- .../DirectX/NearestPointRenderer.h | 1 + src/GraphControl/DirectX/RenderMain.cpp | 5 ++++ src/GraphControl/DirectX/RenderMain.h | 2 ++ src/GraphControl/Logger/TraceLogger.cpp | 8 +++++ src/GraphControl/Logger/TraceLogger.h | 1 + 12 files changed, 124 insertions(+), 8 deletions(-) diff --git a/src/Calculator/Resources/en-US/Resources.resw b/src/Calculator/Resources/en-US/Resources.resw index 47523363c..c7e8d923b 100644 --- a/src/Calculator/Resources/en-US/Resources.resw +++ b/src/Calculator/Resources/en-US/Resources.resw @@ -4414,6 +4414,26 @@ Graph Options Heading for the Graph Options flyout in Graphing mode. + + Line Thickness + Heading for the Graph Options flyout in Graphing mode. + + + Small Line Width + Automation name for line width setting + + + Medium Line Width + Automation name for line width setting + + + Large Line Width + Automation name for line width setting + + + Extra Large Line Width + Automation name for line width setting + Enter an expression this is the placeholder text used by the textbox to enter an equation diff --git a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml index 0897b11ab..474a1f9e1 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml @@ -183,6 +183,35 @@ Style="{StaticResource TrigUnitsRadioButtonStyle}" IsChecked="{x:Bind ViewModel.TrigModeGradians, Mode=TwoWay}"/> + + + + 1.0 + 2.0 + 3.0 + 4.0 + + + + + + + + + diff --git a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp index 1be3a3f6b..5c6464d23 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp @@ -66,3 +66,25 @@ void GraphingSettings::ResetViewButton_Clicked(Object ^ sender, RoutedEventArgs { ViewModel->ResetView(); } + +String ^ GraphingSettings::GetLineWidthAutomationName(double width) +{ + auto resourceLoader = AppResourceProvider::GetInstance(); + + if (width == 1.0) + { + return resourceLoader->GetResourceString("SmallLineWidthAutomationName"); + } + else if(width == 2.0) + { + return resourceLoader->GetResourceString("MediumLineWidthAutomationName"); + } + else if (width == 3.0) + { + return resourceLoader->GetResourceString("LargeLineWidthAutomationName"); + } + else + { + return resourceLoader->GetResourceString("ExtraLargeLineWidthAutomationName"); + } +} diff --git a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h index 02507879b..3911f4b9f 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h @@ -21,6 +21,8 @@ namespace CalculatorApp Windows::UI::Xaml::Style ^ SelectTextBoxStyle(bool incorrectRange, bool error); void SetGrapher(GraphControl::Grapher ^ grapher); void RefreshRanges(); + + static Platform::String ^ GetLineWidthAutomationName(double width); private: void GridSettingsTextBox_PreviewKeyDown(Platform::Object ^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs ^ e); void ResetViewButton_Clicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); diff --git a/src/GraphControl/Control/Grapher.cpp b/src/GraphControl/Control/Grapher.cpp index 14a13fa99..a0e3823ea 100644 --- a/src/GraphControl/Control/Grapher.cpp +++ b/src/GraphControl/Control/Grapher.cpp @@ -34,6 +34,7 @@ DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, Variables); DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, Equations); DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, AxesColor); DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, GraphBackground); +DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, LineWidth); namespace { @@ -405,7 +406,7 @@ namespace GraphControl initResult = m_graph->TryInitialize(); if (initResult != nullopt) { - UpdateGraphOptions(m_graph->GetOptions(), vector()); + UpdateGraphOptions(m_graph->GetOptions(), vector()); SetGraphArgs(m_graph); m_renderMain->Graph = m_graph; @@ -525,7 +526,6 @@ namespace GraphControl Variables->Insert(variableName, ref new Variable(newValue)); } - if (m_graph != nullptr && m_renderMain != nullptr) { auto workItemHandler = ref new WorkItemHandler([this, variableName, newValue](IAsyncAction ^ action) { @@ -558,9 +558,15 @@ namespace GraphControl auto lineColor = eq->LineColor; graphColors.emplace_back(lineColor.R, lineColor.G, lineColor.B, lineColor.A); - if (eq->GraphedEquation != nullptr && !eq->HasGraphError && eq->IsSelected) + if (eq->GraphedEquation) { - eq->GraphedEquation->TrySelectEquation(); + if (!eq->HasGraphError && eq->IsSelected) + { + eq->GraphedEquation->TrySelectEquation(); + } + + eq->GraphedEquation->GetGraphEquationOptions()->SetLineWidth(LineWidth); + eq->GraphedEquation->GetGraphEquationOptions()->SetSelectedEquationLineWidth(LineWidth + ((LineWidth <= 2) ? 1 : 2)); } } options.SetGraphColors(graphColors); @@ -1049,6 +1055,21 @@ void Grapher::OnGraphBackgroundPropertyChanged(Windows::UI::Color /*oldValue*/, } } +void Grapher::OnLineWidthPropertyChanged(double oldValue, double newValue) +{ + if (m_graph) + { + UpdateGraphOptions(m_graph->GetOptions(), GetGraphableEquations()); + if (m_renderMain) + { + m_renderMain->SetPointRadius(LineWidth + 1); + m_renderMain->RunRenderPass(); + + TraceLogger::GetInstance()->LogLineWidthChanged(); + } + } +} + optional>> Grapher::TryInitializeGraph(bool keepCurrentView, const IExpression* graphingExp) { if (keepCurrentView) diff --git a/src/GraphControl/Control/Grapher.h b/src/GraphControl/Control/Grapher.h index a2d833f22..beb752a23 100644 --- a/src/GraphControl/Control/Grapher.h +++ b/src/GraphControl/Control/Grapher.h @@ -50,7 +50,7 @@ public DEPENDENCY_PROPERTY_R_WITH_DEFAULT_AND_CALLBACK(GraphControl::EquationCollection ^, Equations, nullptr); DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(Windows::UI::Color, AxesColor, Windows::UI::Colors::Transparent); DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(Windows::UI::Color, GraphBackground, Windows::UI::Colors::Transparent); - + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(double, LineWidth, 2.0); // Pass active tracing turned on or off down to the renderer property bool ActiveTracing { @@ -276,6 +276,7 @@ public void OnEquationsPropertyChanged(EquationCollection ^ oldValue, EquationCollection ^ newValue); void OnAxesColorPropertyChanged(Windows::UI::Color oldValue, Windows::UI::Color newValue); void OnGraphBackgroundPropertyChanged(Windows::UI::Color oldValue, Windows::UI::Color newValue); + void OnLineWidthPropertyChanged(double oldValue, double newValue); void OnEquationChanged(Equation ^ equation); void OnEquationStyleChanged(Equation ^ equation); void OnEquationLineEnabledChanged(Equation ^ equation); diff --git a/src/GraphControl/DirectX/NearestPointRenderer.cpp b/src/GraphControl/DirectX/NearestPointRenderer.cpp index 64b114e33..d820c4f7c 100644 --- a/src/GraphControl/DirectX/NearestPointRenderer.cpp +++ b/src/GraphControl/DirectX/NearestPointRenderer.cpp @@ -54,6 +54,12 @@ void NearestPointRenderer::Render(const Point& location) } } +void NearestPointRenderer::SetRadius(float radius) +{ + m_ellipse.radiusX = radius; + m_ellipse.radiusY = radius; +} + void NearestPointRenderer::SetColor(const ColorF& color) { m_color = color; @@ -63,7 +69,5 @@ void NearestPointRenderer::SetColor(const ColorF& color) void NearestPointRenderer::CreateBrush() { m_brush.Reset(); - ThrowIfFailed( - m_deviceResources->GetD2DDeviceContext()->CreateSolidColorBrush(m_color, &m_brush) - ); + ThrowIfFailed(m_deviceResources->GetD2DDeviceContext()->CreateSolidColorBrush(m_color, &m_brush)); } diff --git a/src/GraphControl/DirectX/NearestPointRenderer.h b/src/GraphControl/DirectX/NearestPointRenderer.h index 791496545..541eaba62 100644 --- a/src/GraphControl/DirectX/NearestPointRenderer.h +++ b/src/GraphControl/DirectX/NearestPointRenderer.h @@ -17,6 +17,7 @@ namespace GraphControl::DX void Render(const Windows::Foundation::Point& location); void SetColor(const D2D1::ColorF& color); + void SetRadius(float radius); private: void CreateBrush(); diff --git a/src/GraphControl/DirectX/RenderMain.cpp b/src/GraphControl/DirectX/RenderMain.cpp index e07cb0b21..ad38c2011 100644 --- a/src/GraphControl/DirectX/RenderMain.cpp +++ b/src/GraphControl/DirectX/RenderMain.cpp @@ -187,6 +187,11 @@ namespace GraphControl::DX return m_Tracing; } + void RenderMain::SetPointRadius(float radius) + { + m_nearestPointRenderer.SetRadius(radius); + } + bool RenderMain::RunRenderPass() { // Non async render passes cancel if they can't obtain the lock immediatly diff --git a/src/GraphControl/DirectX/RenderMain.h b/src/GraphControl/DirectX/RenderMain.h index 31accf88a..b9b6e014d 100644 --- a/src/GraphControl/DirectX/RenderMain.h +++ b/src/GraphControl/DirectX/RenderMain.h @@ -47,6 +47,8 @@ namespace GraphControl::DX bool RenderMain::CanRenderPoint(); + void SetPointRadius(float radius); + bool RunRenderPass(); Windows::Foundation::IAsyncAction ^ RunRenderPassAsync(bool allowCancel = true); diff --git a/src/GraphControl/Logger/TraceLogger.cpp b/src/GraphControl/Logger/TraceLogger.cpp index 8654f2ea2..82a8a98a3 100644 --- a/src/GraphControl/Logger/TraceLogger.cpp +++ b/src/GraphControl/Logger/TraceLogger.cpp @@ -23,6 +23,7 @@ namespace GraphControl constexpr auto EVENT_NAME_EQUATION_COUNT_CHANGED = L"EquationCountChanged"; constexpr auto EVENT_NAME_FUNCTION_ANALYSIS_PERFORMED = L"FunctionAnalysisPerformed"; constexpr auto EVENT_NAME_VARIABLES_COUNT_CHANGED = L"VariablesCountChanged"; + constexpr auto EVENT_NAME_LINE_WIDTH_CHANGED = L"LineWidthChanged"; TraceLogger ^ TraceLogger::GetInstance() { @@ -86,4 +87,11 @@ namespace GraphControl fields->AddInt64(StringReference(L"VariableCount"), variablesCount); TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_VARIABLES_COUNT_CHANGED), fields); } + + void TraceLogger::LogLineWidthChanged() + { + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), StringReference(GRAPHING_MODE)); + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_LINE_WIDTH_CHANGED), fields); + } } diff --git a/src/GraphControl/Logger/TraceLogger.h b/src/GraphControl/Logger/TraceLogger.h index 682c66875..5ae60e062 100644 --- a/src/GraphControl/Logger/TraceLogger.h +++ b/src/GraphControl/Logger/TraceLogger.h @@ -18,6 +18,7 @@ namespace GraphControl void LogEquationCountChanged(int currentValidEquations, int currentInvalidEquations); void LogFunctionAnalysisPerformed(int analysisErrorType, uint32 tooComplexFlag); void LogVariableCountChanged(int variablesCount); + void LogLineWidthChanged(); private: TraceLogger() From fec7c907f828d5b01d72598750a764947f07fa3b Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Fri, 27 Mar 2020 09:56:11 -0700 Subject: [PATCH 43/76] Allow line style to be changed (#1097) * add line style * start line style * More fixes * undo key * more tweaks * address comments * Fix merge --- src/CalcViewModel/Common/TraceLogger.h | 3 +- src/Calculator/EquationStylePanelControl.xaml | 195 ++++++++++-------- .../EquationStylePanelControl.xaml.cpp | 161 +++++++++++++++ .../EquationStylePanelControl.xaml.h | 10 + src/Calculator/Resources/en-US/Resources.resw | 74 ++++++- .../GraphingCalculator/EquationInputArea.xaml | 4 +- src/GraphControl/Control/Grapher.cpp | 3 +- src/GraphControl/Models/Equation.cpp | 3 + src/GraphControl/Models/Equation.h | 20 +- src/GraphControl/Models/EquationCollection.h | 2 +- 10 files changed, 383 insertions(+), 92 deletions(-) diff --git a/src/CalcViewModel/Common/TraceLogger.h b/src/CalcViewModel/Common/TraceLogger.h index 37e4b2bf0..4a32ebe29 100644 --- a/src/CalcViewModel/Common/TraceLogger.h +++ b/src/CalcViewModel/Common/TraceLogger.h @@ -45,7 +45,8 @@ namespace CalculatorApp public enum class LineStyleType { - Color + Color, + Pattern }; public ref class TraceLogger sealed diff --git a/src/Calculator/EquationStylePanelControl.xaml b/src/Calculator/EquationStylePanelControl.xaml index 8eaf5b0e6..c9112cffd 100644 --- a/src/Calculator/EquationStylePanelControl.xaml +++ b/src/Calculator/EquationStylePanelControl.xaml @@ -5,87 +5,118 @@ xmlns:local="using:CalculatorApp" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"> + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + diff --git a/src/Calculator/EquationStylePanelControl.xaml.cpp b/src/Calculator/EquationStylePanelControl.xaml.cpp index f35861be5..bea8698e0 100644 --- a/src/Calculator/EquationStylePanelControl.xaml.cpp +++ b/src/Calculator/EquationStylePanelControl.xaml.cpp @@ -3,6 +3,7 @@ #include "pch.h" #include "EquationStylePanelControl.xaml.h" +#include "CalcViewModel/Common/AppResourceProvider.h" using namespace CalculatorApp; @@ -19,13 +20,23 @@ using namespace Windows::UI::Xaml::Input; using namespace Windows::UI::Xaml::Media; using namespace Windows::UI::Xaml::Navigation; using namespace Windows::UI::Xaml::Shapes; +using namespace GraphControl; DEPENDENCY_PROPERTY_INITIALIZATION(EquationStylePanelControl, SelectedColor); +DEPENDENCY_PROPERTY_INITIALIZATION(EquationStylePanelControl, SelectedStyle); +DEPENDENCY_PROPERTY_INITIALIZATION(EquationStylePanelControl, EnableLineStylePicker); DEPENDENCY_PROPERTY_INITIALIZATION(EquationStylePanelControl, AvailableColors); EquationStylePanelControl::EquationStylePanelControl() { InitializeComponent(); + + auto allStyles = ref new Vector(); + allStyles->Append(::EquationLineStyle::Solid); + allStyles->Append(::EquationLineStyle::Dash); + allStyles->Append(::EquationLineStyle::Dot); + + StyleChooserBox->ItemsSource = allStyles; } void EquationStylePanelControl::SelectionChanged(Object ^ /*sender */, SelectionChangedEventArgs ^ e) @@ -79,3 +90,153 @@ void EquationStylePanelControl::SelectColor(Color selectedColor) } } } + +void EquationStylePanelControl::OnSelectedStylePropertyChanged(EquationLineStyle oldStyle, EquationLineStyle newStyle) +{ + if (oldStyle != newStyle) + { + SelectStyle(newStyle); + TraceLogger::GetInstance()->LogGraphLineStyleChanged(LineStyleType::Pattern); + } +} + +void EquationStylePanelControl::SelectStyle(EquationLineStyle selectedStyle) +{ + for (auto item : StyleChooserBox->Items->GetView()) + { + auto style = static_cast(item); + auto comboBoxItem = dynamic_cast(StyleChooserBox->ContainerFromItem(style)); + + if (!comboBoxItem) + { + continue; + } + + if (style == selectedStyle) + { + comboBoxItem->IsSelected = true; + return; + } + else + { + comboBoxItem->IsSelected = false; + } + } +} + +void EquationStylePanelControl::StyleChooserBox_SelectionChanged(Object ^ sender, SelectionChangedEventArgs ^ e) +{ + if (e->AddedItems->Size > 0) + { + SelectedStyle = static_cast(e->AddedItems->GetAt(0)); + } +} + +void EquationStylePanelControl::StyleChooserBox_Loaded(Object ^ sender, RoutedEventArgs ^ e) +{ + SelectStyle(SelectedStyle); +} + +String ^ EquationStylePanelControl::GetColorAutomationName(Brush ^ brush) +{ + auto resourceLoader = AppResourceProvider::GetInstance(); + auto color = static_cast(brush); + + if (color == safe_cast(Application::Current->Resources->Lookup(L"EquationBrush1"))) + { + return resourceLoader->GetResourceString("equationColor1AutomationName"); + } + else if (color == safe_cast(Application::Current->Resources->Lookup(L"EquationBrush2"))) + { + return resourceLoader->GetResourceString("equationColor2AutomationName"); + } + else if (color == safe_cast(Application::Current->Resources->Lookup(L"EquationBrush3"))) + { + return resourceLoader->GetResourceString("equationColor3AutomationName"); + } + else if (color == safe_cast(Application::Current->Resources->Lookup(L"EquationBrush4"))) + { + return resourceLoader->GetResourceString("equationColor4AutomationName"); + } + else if (color == safe_cast(Application::Current->Resources->Lookup(L"EquationBrush5"))) + { + return resourceLoader->GetResourceString("equationColor5AutomationName"); + } + else if (color == safe_cast(Application::Current->Resources->Lookup(L"EquationBrush6"))) + { + return resourceLoader->GetResourceString("equationColor6AutomationName"); + } + else if (color == safe_cast(Application::Current->Resources->Lookup(L"EquationBrush7"))) + { + return resourceLoader->GetResourceString("equationColor7AutomationName"); + } + else if (color == safe_cast(Application::Current->Resources->Lookup(L"EquationBrush8"))) + { + return resourceLoader->GetResourceString("equationColor8AutomationName"); + } + else if (color == safe_cast(Application::Current->Resources->Lookup(L"EquationBrush9"))) + { + return resourceLoader->GetResourceString("equationColor9AutomationName"); + } + else if (color == safe_cast(Application::Current->Resources->Lookup(L"EquationBrush10"))) + { + return resourceLoader->GetResourceString("equationColor10AutomationName"); + } + else if (color == safe_cast(Application::Current->Resources->Lookup(L"EquationBrush11"))) + { + return resourceLoader->GetResourceString("equationColor11AutomationName"); + } + else if (color == safe_cast(Application::Current->Resources->Lookup(L"EquationBrush12"))) + { + return resourceLoader->GetResourceString("equationColor12AutomationName"); + } + else if (color == safe_cast(Application::Current->Resources->Lookup(L"EquationBrush13"))) + { + return resourceLoader->GetResourceString("equationColor13AutomationName"); + } + else + { + return resourceLoader->GetResourceString("equationColor14AutomationName"); + } +} + +String ^ EquationStylePanelControl::GetLineAutomationName(Object ^ line) +{ + auto resourceLoader = AppResourceProvider::GetInstance(); + auto lineStyle = static_cast ^>(line)->Value; + + switch (lineStyle) + { + case ::EquationLineStyle::Dot: + return resourceLoader->GetResourceString("dotLineStyleAutomationName"); + break; + case ::EquationLineStyle::Dash: + return resourceLoader->GetResourceString("dashLineStyleAutomationName"); + break; + case ::EquationLineStyle::Solid: + default: + return resourceLoader->GetResourceString("solidLineStyleAutomationName"); + break; + } +} + +DoubleCollection ^ EquationStylePanelControl::GetLinePattern(Object ^ line) +{ + auto lineStyle = static_cast ^>(line)->Value; + + auto linePattern = ref new DoubleCollection(); + switch (lineStyle) + { + case ::EquationLineStyle::Dot: + linePattern->Append(1); + break; + case ::EquationLineStyle::Dash: + linePattern->Append(2); + linePattern->Append(1); + break; + default: + break; + } + + return linePattern; +} diff --git a/src/Calculator/EquationStylePanelControl.xaml.h b/src/Calculator/EquationStylePanelControl.xaml.h index 4876e7be1..3753ac337 100644 --- a/src/Calculator/EquationStylePanelControl.xaml.h +++ b/src/Calculator/EquationStylePanelControl.xaml.h @@ -16,7 +16,13 @@ namespace CalculatorApp DEPENDENCY_PROPERTY_OWNER(EquationStylePanelControl); DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(Windows::UI::Color, SelectedColor, Windows::UI::Colors::Black); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(GraphControl::EquationLineStyle, SelectedStyle, GraphControl::EquationLineStyle::Solid); DEPENDENCY_PROPERTY_WITH_DEFAULT(Windows::Foundation::Collections::IVector ^, AvailableColors, nullptr); + DEPENDENCY_PROPERTY(bool, EnableLineStylePicker); + + static Windows::UI::Xaml::Media::DoubleCollection ^ GetLinePattern(Platform::Object ^ line); + static Platform::String ^ GetLineAutomationName(Platform::Object ^ line); + static Platform::String ^ GetColorAutomationName(Windows::UI::Xaml::Media::Brush ^ color); private: void SelectionChanged(Platform::Object ^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs ^ e); @@ -25,5 +31,9 @@ namespace CalculatorApp Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); void SelectColor(Windows::UI::Color selectedColor); + void OnSelectedStylePropertyChanged(GraphControl::EquationLineStyle oldStyle, GraphControl::EquationLineStyle newStyle); + void SelectStyle(GraphControl::EquationLineStyle selectedStyle); + void StyleChooserBox_SelectionChanged(Platform::Object ^ sender, Windows::UI::Xaml::Controls::SelectionChangedEventArgs ^ e); + void StyleChooserBox_Loaded(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); }; } diff --git a/src/Calculator/Resources/en-US/Resources.resw b/src/Calculator/Resources/en-US/Resources.resw index c7e8d923b..0b0795cf9 100644 --- a/src/Calculator/Resources/en-US/Resources.resw +++ b/src/Calculator/Resources/en-US/Resources.resw @@ -3944,9 +3944,13 @@ Label text for the max text box - Line Color + Color Label for the Line Color section of the style picker + + Style + Label for the Line Style section of the style picker + Function analysis Title for KeyGraphFeatures Control @@ -4462,4 +4466,72 @@ Select All Select all menu item from the Equation TextBox + + Solid line style + Name of the solid line style for a graphed equation + + + Dot line style + Name of the dotted line style for a graphed equation + + + Dash line style + Name of the dashed line style for a graphed equation + + + Navy Blue + Name of color in the color picker + + + Seafoam + Name of color in the color picker + + + Violet + Name of color in the color picker + + + Green + Name of color in the color picker + + + Mint Green + Name of color in the color picker + + + Dark Green + Name of color in the color picker + + + Charcoal + Name of color in the color picker + + + Red + Name of color in the color picker + + + Plum Light + Name of color in the color picker + + + Magenta + Name of color in the color picker + + + Yellow Gold + Name of color in the color picker + + + Orange Bright + Name of color in the color picker + + + Brown + Name of color in the color picker + + + Black + Name of color in the color picker + diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml index c3a0cc3a9..ec7274f3b 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml @@ -848,7 +848,9 @@ RemoveButtonClicked="EquationTextBox_RemoveButtonClicked"> - + diff --git a/src/GraphControl/Control/Grapher.cpp b/src/GraphControl/Control/Grapher.cpp index a0e3823ea..562fc63e3 100644 --- a/src/GraphControl/Control/Grapher.cpp +++ b/src/GraphControl/Control/Grapher.cpp @@ -558,13 +558,14 @@ namespace GraphControl auto lineColor = eq->LineColor; graphColors.emplace_back(lineColor.R, lineColor.G, lineColor.B, lineColor.A); - if (eq->GraphedEquation) + if (eq->GraphedEquation) { if (!eq->HasGraphError && eq->IsSelected) { eq->GraphedEquation->TrySelectEquation(); } + eq->GraphedEquation->GetGraphEquationOptions()->SetLineStyle(static_cast<::Graphing::Renderer::LineStyle>(eq->EquationStyle)); eq->GraphedEquation->GetGraphEquationOptions()->SetLineWidth(LineWidth); eq->GraphedEquation->GetGraphEquationOptions()->SetSelectedEquationLineWidth(LineWidth + ((LineWidth <= 2) ? 1 : 2)); } diff --git a/src/GraphControl/Models/Equation.cpp b/src/GraphControl/Models/Equation.cpp index 5446876fe..32ae6db78 100644 --- a/src/GraphControl/Models/Equation.cpp +++ b/src/GraphControl/Models/Equation.cpp @@ -26,6 +26,7 @@ namespace GraphControl { wstring request; wstring_view expr{ Expression->Data() }; + IsInequality = false; // Check for unicode characters of less than, less than or equal to, greater than and greater than or equal to. if (expr.find(L">><") != wstring_view::npos || expr.find(L"><<") != wstring_view::npos || expr.find(L">≥<") != wstring_view::npos @@ -33,6 +34,8 @@ namespace GraphControl || expr.find(L"><<") != wstring_view::npos || expr.find(L">><") != wstring_view::npos) { request = L"plotIneq2D"; + IsInequality = true; + EquationStyle = EquationLineStyle::Dash; } else if (expr.find(L">=<") != wstring_view::npos) { diff --git a/src/GraphControl/Models/Equation.h b/src/GraphControl/Models/Equation.h index 03b847b6a..da5c50cfc 100644 --- a/src/GraphControl/Models/Equation.h +++ b/src/GraphControl/Models/Equation.h @@ -7,6 +7,16 @@ namespace GraphControl { +public + enum class EquationLineStyle : int + { + Solid, + Dot, + Dash, + DashDot, + DashDotDot + }; + public enum class ErrorType { Evaluation, @@ -211,7 +221,9 @@ namespace GraphControl OBSERVABLE_NAMED_PROPERTY_RW(bool, IsLineEnabled); OBSERVABLE_NAMED_PROPERTY_RW(bool, IsValidated); OBSERVABLE_NAMED_PROPERTY_RW(bool, HasGraphError); + OBSERVABLE_NAMED_PROPERTY_RW(bool, IsInequality); OBSERVABLE_NAMED_PROPERTY_RW(bool, IsSelected); + OBSERVABLE_NAMED_PROPERTY_RW(EquationLineStyle, EquationStyle); OBSERVABLE_NAMED_PROPERTY_RW(ErrorType, GraphErrorType); OBSERVABLE_NAMED_PROPERTY_RW(int, GraphErrorCode); @@ -221,12 +233,10 @@ namespace GraphControl void set(Windows::UI::Color value); } - static property Platform::String - ^ LineColorPropertyName { Platform::String ^ get(); } - - public : Platform::String - ^ GetRequest(); + static property Platform::String ^ LineColorPropertyName { Platform::String ^ get(); } + public: + Platform::String ^ GetRequest(); bool IsGraphableEquation(); internal: diff --git a/src/GraphControl/Models/EquationCollection.h b/src/GraphControl/Models/EquationCollection.h index ad5c9c8c4..59b9cdbe4 100644 --- a/src/GraphControl/Models/EquationCollection.h +++ b/src/GraphControl/Models/EquationCollection.h @@ -158,7 +158,7 @@ public { auto equation = static_cast(sender); auto propertyName = args->PropertyName; - if (propertyName == GraphControl::Equation::LineColorPropertyName || propertyName == GraphControl::Equation::IsSelectedPropertyName) + if (propertyName == GraphControl::Equation::LineColorPropertyName || propertyName == GraphControl::Equation::IsSelectedPropertyName || propertyName == GraphControl::Equation::EquationStylePropertyName) { EquationStyleChanged(equation); } From d9b32a095f3aa2aee08cf7706dd1d419a555fdde Mon Sep 17 00:00:00 2001 From: Stephanie Anderl <46726333+sanderl@users.noreply.github.com> Date: Fri, 27 Mar 2020 12:17:11 -0700 Subject: [PATCH 44/76] Revert WinUI version back to 2.2 (#1113) --- src/Calculator/Calculator.vcxproj | 6 +++--- src/Calculator/Calculator.vcxproj.filters | 2 ++ src/Calculator/packages.config | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Calculator/Calculator.vcxproj b/src/Calculator/Calculator.vcxproj index 6bca12fc7..cca257b7d 100644 --- a/src/Calculator/Calculator.vcxproj +++ b/src/Calculator/Calculator.vcxproj @@ -980,7 +980,7 @@ - + @@ -988,6 +988,6 @@ - + - + \ No newline at end of file diff --git a/src/Calculator/Calculator.vcxproj.filters b/src/Calculator/Calculator.vcxproj.filters index 7803c6c54..976b60e78 100644 --- a/src/Calculator/Calculator.vcxproj.filters +++ b/src/Calculator/Calculator.vcxproj.filters @@ -1593,5 +1593,7 @@ + + \ No newline at end of file diff --git a/src/Calculator/packages.config b/src/Calculator/packages.config index ef1db8625..2148e9f5b 100644 --- a/src/Calculator/packages.config +++ b/src/Calculator/packages.config @@ -1,5 +1,5 @@  - + \ No newline at end of file From 0b93ef0cd3a88d8734001e2206e6b48ebc827013 Mon Sep 17 00:00:00 2001 From: Stephanie Anderl <46726333+sanderl@users.noreply.github.com> Date: Fri, 27 Mar 2020 12:55:35 -0700 Subject: [PATCH 45/76] Update the internals package (#1114) --- build/pipelines/templates/build-app-internal.yaml | 2 +- build/pipelines/templates/prepare-release-internalonly.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/pipelines/templates/build-app-internal.yaml b/build/pipelines/templates/build-app-internal.yaml index 807de235c..fcab36ad2 100644 --- a/build/pipelines/templates/build-app-internal.yaml +++ b/build/pipelines/templates/build-app-internal.yaml @@ -29,7 +29,7 @@ jobs: downloadDirectory: $(Build.SourcesDirectory) vstsFeed: WindowsApps vstsFeedPackage: calculator-internals - vstsPackageVersion: 0.0.36 + vstsPackageVersion: 0.0.39 - template: ./build-single-architecture.yaml parameters: diff --git a/build/pipelines/templates/prepare-release-internalonly.yaml b/build/pipelines/templates/prepare-release-internalonly.yaml index 071fc6018..2d46fc223 100644 --- a/build/pipelines/templates/prepare-release-internalonly.yaml +++ b/build/pipelines/templates/prepare-release-internalonly.yaml @@ -97,7 +97,7 @@ jobs: downloadDirectory: $(Build.SourcesDirectory) vstsFeed: WindowsApps vstsFeedPackage: calculator-internals - vstsPackageVersion: 0.0.22 + vstsPackageVersion: 0.0.39 - powershell: | # Just modify this line to indicate where your en-us PDP file is. Leave the other lines alone. From 780e53780da4363c21040b3e6a45d00ea038b51c Mon Sep 17 00:00:00 2001 From: Matt Cooley Date: Fri, 27 Mar 2020 16:37:22 -0700 Subject: [PATCH 46/76] Check in localized strings 2020-03-24 (#1109) --- src/Calculator/Resources/af-ZA/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/am-ET/Resources.resw | 489 ++++++++++++++++-- src/Calculator/Resources/ar-SA/Resources.resw | 459 +++++++++++++++- .../Resources/az-Latn-AZ/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/be-BY/Resources.resw | 32 +- src/Calculator/Resources/bg-BG/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/bn-BD/Resources.resw | 32 +- src/Calculator/Resources/ca-ES/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/cs-CZ/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/da-DK/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/de-DE/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/el-GR/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/en-GB/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/es-ES/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/es-MX/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/et-EE/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/eu-ES/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/fa-IR/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/fi-FI/Resources.resw | 457 +++++++++++++++- .../Resources/fil-PH/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/fr-CA/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/fr-FR/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/gl-ES/Resources.resw | 457 +++++++++++++++- .../Resources/ha-Latn-NG/Resources.resw | 2 +- src/Calculator/Resources/he-IL/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/hi-IN/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/hr-HR/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/hu-HU/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/id-ID/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/is-IS/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/it-IT/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/ja-JP/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/kk-KZ/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/km-KH/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/kn-IN/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/ko-KR/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/lo-LA/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/lt-LT/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/lv-LV/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/mk-MK/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/ml-IN/Resources.resw | 459 +++++++++++++++- src/Calculator/Resources/ms-MY/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/nb-NO/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/nl-NL/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/pl-PL/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/pt-BR/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/pt-PT/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/ro-RO/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/ru-RU/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/sk-SK/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/sl-SI/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/sq-AL/Resources.resw | 457 +++++++++++++++- .../Resources/sr-Latn-RS/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/sv-SE/Resources.resw | 459 +++++++++++++++- src/Calculator/Resources/sw-KE/Resources.resw | 28 +- src/Calculator/Resources/ta-IN/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/te-IN/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/th-TH/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/tr-TR/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/uk-UA/Resources.resw | 457 +++++++++++++++- .../Resources/uz-Latn-UZ/Resources.resw | 32 +- src/Calculator/Resources/vi-VN/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/zh-CN/Resources.resw | 457 +++++++++++++++- src/Calculator/Resources/zh-TW/Resources.resw | 457 +++++++++++++++- 64 files changed, 25646 insertions(+), 1481 deletions(-) diff --git a/src/Calculator/Resources/af-ZA/Resources.resw b/src/Calculator/Resources/af-ZA/Resources.resw index 77afc72a5..17d94bf5f 100644 --- a/src/Calculator/Resources/af-ZA/Resources.resw +++ b/src/Calculator/Resources/af-ZA/Resources.resw @@ -697,9 +697,9 @@ Skrap Text string for the Calculator Delete swipe button in the History list - - Kopieer - Text string for the Calculator Copy option in the History list context menu + + Kopieer + Text string for the Calculator Copy option in the History list context menu Skrap @@ -867,7 +867,7 @@ Gelyk aan - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Omkeerfunksie @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Hou bo + Hou bo (Alt+Op) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Terug na volle aansig + Terug na volle aansig (Alt+Af) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Berekening het misluk - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logbasis X @@ -3075,6 +3059,10 @@ Funksie Displayed on the button that contains a flyout for the general functions in scientific mode. + + Ongelykhede + Displayed on the button that contains a flyout for the inequality functions. + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ mees beduidende bis Used to describe the last bit of a binary number. Used in bit flip + + Trek van grafieke + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Gelyk aan + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Stip uit + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Herstel Aansig (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Stel aansig terug + Screen reader prompt for the reset zoom button. + + + Zoem In (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Bekyk nader + Screen reader prompt for the zoom in button. + + + Zoem Uit (Ctrl + minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Bekyk van ver + Screen reader prompt for the zoom out button. + + + Voeg vergelyking by + Placeholder text for the equation input button + + + Kan nie op die oomblik deel nie. + If there is an error in the sharing action will display a dialog with this text. + + + Goed + Used on the dismiss button of the share action error dialog. + + + Kyk watter grafiek ek met Windows-Sakrekenaar getrek het + Sent as part of the shared content. The title for the share. + + + Vergelykings + Header that appears over the equations section when sharing + + + Veranderlikes + Header that appears over the variables section when sharing + + + Beeld van ’n grafiek met vergelykings + Alt text for the graph image when output via Share + + + Veranderlikes + Header text for variables area + + + Stap + Label text for the step text box + + + Min. + Label text for the min text box + + + Maks. + Label text for the max text box + + + Reëlkleur + Label for the Line Color section of the style picker + + + Funksie-ontleding + Title for KeyGraphFeatures Control + + + Die funksie het nie enige horisontale asimptote nie. + Message displayed when the graph does not have any horizontal asymptotes + + + Die funksie het nie enige verbuigingspunte nie. + Message displayed when the graph does not have any inflection points + + + Die funksie het nie enige maksima-punte nie. + Message displayed when the graph does not have any maxima + + + Die funksie het nie enige minima-punte nie. + Message displayed when the graph does not have any minima + + + Konstante + String describing constant monotonicity of a function + + + Dalend + String describing decreasing monotonicity of a function + + + Nie in staat om die monotonisiteit van die funksie te bepaal nie. + Error displayed when monotonicity cannot be determined + + + Stygend + String describing increasing monotonicity of a function + + + Die monotonisiteit van die funksie is onbekend. + Error displayed when monotonicity is unknown + + + Die funksie het nie enige skuins asimptote nie. + Message displayed when the graph does not have any oblique asymptotes + + + Nie in staat om die pariteit van die funksie te bepaal nie. + Error displayed when parity is cannot be determined + + + Die funksie is gelyk. + Message displayed with the function parity is even + + + Die funksie is nie gelyk of ongelyk nie. + Message displayed with the function parity is neither even nor odd + + + Die funksie is ongelyk. + Message displayed with the function parity is odd + + + Die funksiepariteit is onbekend. + Error displayed when parity is unknown + + + Periodisiteit word nie vir hierdie funksie ondersteun nie. + Error displayed when periodicity is not supported + + + Die funksie is nie periodiek nie. + Message displayed with the function periodicity is not periodic + + + Die funksieperiodisiteit is onbekend. + Message displayed with the function periodicity is unknown + + + Hierdie kenmerke is vir Sakrekenaar te kompleks om te bereken: + Error displayed when analysis features cannot be calculated + + + Die funksie het nie enige vertikale asimptote nie. + Message displayed when the graph does not have any vertical asymptotes + + + Die funksie het nie enige x-afsnitte nie. + Message displayed when the graph does not have any x-intercepts + + + Die funksie het nie enige y-afsnitte nie. + Message displayed when the graph does not have any y-intercepts + + + Domein + Title for KeyGraphFeatures Domain Property + + + Horisontale asimptote + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Verbuigingspunte + Title for KeyGraphFeatures Inflection Points Property + + + Ontleding word nie vir hierdie funksie ondersteun nie. + Error displayed when graph analysis is not supported or had an error. + + + Maksima + Title for KeyGraphFeatures Maxima Property + + + Minima + Title for KeyGraphFeatures Minima Property + + + Monotonisiteit + Title for KeyGraphFeatures Monotonicity Property + + + Skuins asimptote + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Pariteit + Title for KeyGraphFeatures Parity Property + + + Periode + Title for KeyGraphFeatures Periodicity Property + + + Bestek + Title for KeyGraphFeatures Range Property + + + Vertikale asimptote + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-afsnit + Title for KeyGraphFeatures XIntercept Property + + + Y-afsnit + Title for KeyGraphFeatures YIntercept Property + + + Ontleding kon nie vir die funksie uitgevoer word nie. + + + Kon nie die domein vir hierdie funksie bereken nie. + Error displayed when Domain is not returned from the analyzer. + + + Kan nie die bestek vir hierdie funksie bereken nie. + Error displayed when Range is not returned from the analyzer. + + + Terug + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Terug + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Ontleed funksie + This is the tooltip for the analyze function button + + + Ontleed funksie + This is the automation name for the analyze function button + + + Ontleed funksie + This is the text for the for the analyze function context menu command + + + Verwyder vergelyking + This is the tooltip for the graphing calculator remove equation buttons + + + Verwyder vergelyking + This is the automation name for the graphing calculator remove equation buttons + + + Verwyder vergelyking + This is the text for the for the remove equation context menu command + + + Deel + This is the automation name for the graphing calculator share button. + + + Deel + This is the tooltip for the graphing calculator share button. + + + Verander vergelykingstyl + This is the tooltip for the graphing calculator equation style button + + + Verander vergelykingstyl + This is the automation name for the graphing calculator equation style button + + + Verander vergelykingstyl + This is the text for the for the equation style context menu command + + + Wys vergelyking %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Versteek vergelyking %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Stop nasporing + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Begin nasporing + This is the tooltip/automation name for the graphing calculator start tracing button + + + Grafiek-besigtigingsvenster, x-as gebonde deur %1 en %2, y-as gebonde deur %3 en %4, vertoon tans %5 vergelykings + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfigureer glyer + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfigureer glyer + This is the automation name text for the slider options button in Graphing Calculator + + + Skakel oor na vergelykingmodus + Used in Graphing Calculator to switch the view to the equation mode + + + Skakel oor na grafiekmodus + Used in Graphing Calculator to switch the view to the graph mode + + + Skakel oor na vergelykingmodus + Used in Graphing Calculator to switch the view to the equation mode + + + Huidige modus is vergelykingmodus + Announcement used in Graphing Calculator when switching to the equation mode + + + Huidige modus is grafiekmodus + Announcement used in Graphing Calculator when switching to the graph mode + + + Venster + Heading for window extents on the settings + + + Grade + Degrees mode on settings page + + + Gradiënte + Gradian mode on settings page + + + Radiane + Radians mode on settings page + + + Eenhede + Heading for Unit's on the settings + + + Stel aansig terug + Hyperlink button to reset the view of the graph + + + X-Maks. + X maximum value header + + + X-Min. + X minimum value header + + + Y-Maks. + Y Maximum value header + + + Y-Min. + Y minimum value header + + + Roosteropsies + This is the tooltip text for the grid options button in Graphing Calculator + + + Roosteropsies + This is the automation name text for the grid options button in Graphing Calculator + + + Grafiekopsies + Heading for the Graph Options flyout in Graphing mode. + + + Voer ’n uitdrukking in + this is the placeholder text used by the textbox to enter an equation + + + Kopieer + Copy menu item for the graph context menu + + + Knip + Cut menu item from the Equation TextBox + + + Kopieer + Copy menu item from the Equation TextBox + + + Plak + Paste menu item from the Equation TextBox + + + Ontdoen + Undo menu item from the Equation TextBox + + + Selekteer Alles + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/am-ET/Resources.resw b/src/Calculator/Resources/am-ET/Resources.resw index 363f79e87..2e0504476 100644 --- a/src/Calculator/Resources/am-ET/Resources.resw +++ b/src/Calculator/Resources/am-ET/Resources.resw @@ -697,9 +697,9 @@ ሰርዝ Text string for the Calculator Delete swipe button in the History list - - ይቅዱ - Text string for the Calculator Copy option in the History list context menu + + ይቅዱ + Text string for the Calculator Copy option in the History list context menu ሰርዝ @@ -867,7 +867,7 @@ ይሆናል - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad ቅልብስ ቀመር @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - ከላይ ያቆዩ + ከላይ ያቆዩ (Alt+ወደላይ) This is the tool tip automation name for the Always-on-Top button when in normal mode. - ወደ ሙሉ ዕይታ ይመለሱ + ወደ ሙሉ ዕይታ ይመለሱ (Alt+ወደታች) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -1166,11 +1166,11 @@ An abbreviation for a measurement unit of volume - ፈሳሽ አውንስ (አሜሪካ) + ፈሳሽ አውንስ (ዩናይትድ ስቴትስ) A measurement unit for volume. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999) - fl oz (አሜሪካ) + fl oz (ዩናይትድ ስቴትስ) An abbreviation for a measurement unit of volume @@ -1182,7 +1182,7 @@ An abbreviation for a measurement unit of volume - ጋሎን (አሜሪካ) + ጋሎን (ዩናይትድ ስቴትስ) A measurement unit for volume. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999) @@ -1214,27 +1214,27 @@ An abbreviation for a measurement unit of volume - ፒንት (አሜሪካ) + ፒንት (ዩናይትድ ስቴትስ) A measurement unit for volume. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999) - ነጥብ (አሜሪካ) + ነጥብ (ዩናይትድ ስቴትስ) An abbreviation for a measurement unit of volume - የሾርባ ማንኪያ (አሜሪካ) + የሾርባ ማንኪያ (ዩናይትድ ስቴትስ) A measurement unit for volume. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999) - tbsp. (አሜሪካ) + tbsp. (ዩናይትድ ስቴትስ) An abbreviation for a measurement unit of volume - የሻይ ማንኪያ (አሜሪካ) + የሻይ ማንኪያ (ዩናይትድ ስቴትስ) A measurement unit for volume. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999) - tsp. (አሜሪካ) + tsp. (ዩናይትድ ስቴትስ) An abbreviation for a measurement unit of volume @@ -1262,11 +1262,11 @@ An abbreviation for a measurement unit of volume - ኳርት (አሜሪካ) + ኳርት (ዩናይትድ ስቴትስ) A measurement unit for volume. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999) - ኩንታል (አሜሪካ) + ኩንታል (ዩናይትድ ስቴትስ) An abbreviation for a measurement unit of volume @@ -1274,7 +1274,7 @@ A measurement unit for volume. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999) - ዋንጫ (አሜሪካ) + ኩባያ (ዩናይትድ ስቴትስ) An abbreviation for a measurement unit of volume @@ -1370,7 +1370,7 @@ An abbreviation for a measurement unit of area - የፈረስ ጉልበት (አሜሪካ) + የፈረስ ጉልበት (ዩናይትድ ስቴትስ) An abbreviation for a measurement unit of power @@ -1734,7 +1734,7 @@ A measurement unit for area. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999) - የፈረስ ጉልበት (አሜሪካ) + የፈረስ ጉልበት (ዩናይትድ ስቴትስ) A measurement unit for power @@ -1990,7 +1990,7 @@ An abbreviation for a measurement unit of weight - ቶን (አሜሪካ) + ቶን (ዩናይትድ ስቴትስ) An abbreviation for a measurement unit of weight @@ -2082,7 +2082,7 @@ A measurement unit for weight. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999) - አጭር ቶን (አሜሪካ) + አጭር ቶን (ዩናይትድ ስቴትስ) A measurement unit for weight. This is the US version of ton. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999) @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - ማመ AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ ማስላት አልተሳካም - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation የመዝገብ መሰረት X @@ -3075,6 +3059,10 @@ ተግባር Displayed on the button that contains a flyout for the general functions in scientific mode. + + እኩል ያለመሆን + Displayed on the button that contains a flyout for the inequality functions. + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ ከፍተኛ ክብደት ያለው ቢት Used to describe the last bit of a binary number. Used in bit flip + + ግራፍ ያውጡ + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + ይሆናል + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + ንድፍ + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + ዕይታ ዳግም አስጀምር (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + ዕይታ ዳግም አስጀምር + Screen reader prompt for the reset zoom button. + + + አጉላ (Ctrl + መደመር) + This is the tool tip automation name for the Calculator zoom in button. + + + አጉላ + Screen reader prompt for the zoom in button. + + + አሳንስ (Ctrl + መቀነስ) + This is the tool tip automation name for the Calculator zoom out button. + + + አሳንስ + Screen reader prompt for the zoom out button. + + + እኩልታ አክል + Placeholder text for the equation input button + + + በዚህ ጊዜ ለማጋራት አልተቻለም። + If there is an error in the sharing action will display a dialog with this text. + + + እሺ + Used on the dismiss button of the share action error dialog. + + + በWindows ማስሊያ ምን ግራፍ እንዳደረኩ ተመልከት + Sent as part of the shared content. The title for the share. + + + እኩልታዎች + Header that appears over the equations section when sharing + + + ተለዋዋጮች + Header that appears over the variables section when sharing + + + እኩልታዎች ያሉት ግራፍ ምስል + Alt text for the graph image when output via Share + + + ተለዋዋጮች + Header text for variables area + + + ደረጃ + Label text for the step text box + + + ዝቅተኛ + Label text for the min text box + + + ከፍተኛ + Label text for the max text box + + + የመስመር ቀለም + Label for the Line Color section of the style picker + + + የተግባር ትንታኔ + Title for KeyGraphFeatures Control + + + ተግባር ምንም አግዳሚ ተጠጊ አይነኬዎች የሉትም። + Message displayed when the graph does not have any horizontal asymptotes + + + ተግባር ምንም ጉርብ ነጥቦች የሉትም። + Message displayed when the graph does not have any inflection points + + + ተግባር ምንም ከፍተኛ ነጥቦች የሉትም። + Message displayed when the graph does not have any maxima + + + ተግባር ምንም ዝቅተኛ ነጥቦች የሉትም። + Message displayed when the graph does not have any minima + + + ወጥ + String describing constant monotonicity of a function + + + የሚቀንስ + String describing decreasing monotonicity of a function + + + የተግባሩን አንድ አይነትነት ማወቅ አልተቻለም። + Error displayed when monotonicity cannot be determined + + + የሚጨምር + String describing increasing monotonicity of a function + + + የተግባሩ አንድ አይነትነት አይታወቅም። + Error displayed when monotonicity is unknown + + + ተግባር ምንም ገዳዳ ተጠጊ አይነኬዎች የለውም። + Message displayed when the graph does not have any oblique asymptotes + + + የተግባሩን አቻነት ማወቅ አልተቻለም። + Error displayed when parity is cannot be determined + + + ተግባሩ ሙሉ ነው + Message displayed with the function parity is even + + + ተግባሩ ሙሉም ጎዶሎም አይደለም። + Message displayed with the function parity is neither even nor odd + + + ተግባሩ ጎዶሎ ነው። + Message displayed with the function parity is odd + + + የተግባሩ አቻነት አይታወቅም። + Error displayed when parity is unknown + + + ለዚህ ተግባር ድግግሞሽ አይደገፍም። + Error displayed when periodicity is not supported + + + ተግባሩ ተደጋጋሚ አይደለም። + Message displayed with the function periodicity is not periodic + + + የተግባሩ ድግግሞች አይታወቅም። + Message displayed with the function periodicity is unknown + + + እነዚህ ባህሪያት በማስሊያ ለማስላት በጣም ውስብስብ ናቸው፦ + Error displayed when analysis features cannot be calculated + + + ተግባር ምንም ቋሚ ተጠጊ አይነኬዎች የሉትም። + Message displayed when the graph does not have any vertical asymptotes + + + ተግባር ምንም x-ማቋረጫዎች የሉትም። + Message displayed when the graph does not have any x-intercepts + + + ተግባር ምንም y-ማቋረጫዎች የሉትም። + Message displayed when the graph does not have any y-intercepts + + + ጎራ + Title for KeyGraphFeatures Domain Property + + + አግዳሚ ተጠጊ አይነኬዎች + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + ጉርብ ነጥቦች + Title for KeyGraphFeatures Inflection Points Property + + + ትንታኔ ለዚህ ተግባር የሚደገፍ አይደለም። + Error displayed when graph analysis is not supported or had an error. + + + ከፍተኛ + Title for KeyGraphFeatures Maxima Property + + + ዝቅተኛ + Title for KeyGraphFeatures Minima Property + + + አንድ አይነትነት + Title for KeyGraphFeatures Monotonicity Property + + + ገዳዳ ተጠጊ አይነኬዎች + Title for KeyGraphFeatures Oblique Asymptotes Property + + + አቻነት + Title for KeyGraphFeatures Parity Property + + + ነጥብ + Title for KeyGraphFeatures Periodicity Property + + + ክልል + Title for KeyGraphFeatures Range Property + + + ቋሚ ተጠጊ አይነኬዎች + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-ማቋረጫ + Title for KeyGraphFeatures XIntercept Property + + + Y-ማቋረጫ + Title for KeyGraphFeatures YIntercept Property + + + ትንታኔ ለተግባሩ ሊፈጸም አይችልም። + + + ለዚህ ተግባር ጎራ ማስላት አልተቻለም። + Error displayed when Domain is not returned from the analyzer. + + + ለዚህ ተግባር ክልል ማስላት አልተቻለም። + Error displayed when Range is not returned from the analyzer. + + + ተመለስ + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + ተመለስ + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + የትንታኔ ተግባር + This is the tooltip for the analyze function button + + + የትንታኔ ተግባር + This is the automation name for the analyze function button + + + የትንታኔ ተግባር + This is the text for the for the analyze function context menu command + + + እኩልታ አስወግድ + This is the tooltip for the graphing calculator remove equation buttons + + + እኩልታ አስወግድ + This is the automation name for the graphing calculator remove equation buttons + + + እኩልታ አስወግድ + This is the text for the for the remove equation context menu command + + + አጋራ + This is the automation name for the graphing calculator share button. + + + አጋራ + This is the tooltip for the graphing calculator share button. + + + የእኩልታ ቅጥ ለውጥ + This is the tooltip for the graphing calculator equation style button + + + የእኩልታ ቅጥ ለውጥ + This is the automation name for the graphing calculator equation style button + + + የእኩልታ ቅጥ ለውጥ + This is the text for the for the equation style context menu command + + + እኩልታ %1 አሳይ + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + እኩልታ %1 ደብቅ + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + ክትትል አቁም + This is the tooltip/automation name for the graphing calculator stop tracing button + + + ክትትል ጀምር + This is the tooltip/automation name for the graphing calculator start tracing button + + + ግራፍ ማያ መስኮት፣ ሸ-ዘንግ በ %1 እና %2 መካከል፣ ቀ-ዘንግ በ %3 እና %4 መካከል፣ %5 እኩልታዎችን በማሳየት ላይ + {Locked="%1","%2", "%3", "%4", "%5"}. + + + ተንሸራታቹን አዋቅር + This is the tooltip text for the slider options button in Graphing Calculator + + + ተንሸራታቹን አዋቅር + This is the automation name text for the slider options button in Graphing Calculator + + + ወደ እኩልታ ሁኔታ ይቀይሩ + Used in Graphing Calculator to switch the view to the equation mode + + + ወደ ግራፍ ሁኔታ ይቀይሩ + Used in Graphing Calculator to switch the view to the graph mode + + + ወደ እኩልታ ሁኔታ ይቀይሩ + Used in Graphing Calculator to switch the view to the equation mode + + + አሁን ያለው ሁኔታ የእኩልታ ሁኔታ ነው + Announcement used in Graphing Calculator when switching to the equation mode + + + አሁን ያለው ሁኔታ የግራፍ ሁኔታ ነው + Announcement used in Graphing Calculator when switching to the graph mode + + + መስኮት + Heading for window extents on the settings + + + ዲግሪዎች + Degrees mode on settings page + + + ግራዲያንስ + Gradian mode on settings page + + + ራዲያንስ + Radians mode on settings page + + + አሃዶች + Heading for Unit's on the settings + + + ዕይታን ዳግም አስጀምር + Hyperlink button to reset the view of the graph + + + X-ከፍተኛ + X maximum value header + + + X-ዝቅተኛ + X minimum value header + + + Y-ከፍተኛ + Y Maximum value header + + + Y-ዝቅተኛ + Y minimum value header + + + የፍርግርግ አማራጮች + This is the tooltip text for the grid options button in Graphing Calculator + + + የፍርግርግ አማራጮች + This is the automation name text for the grid options button in Graphing Calculator + + + የግራፍ አማራጮች + Heading for the Graph Options flyout in Graphing mode. + + + የሒሳብ ሓረግ ያስገቡ + this is the placeholder text used by the textbox to enter an equation + + + ይቅዱ + Copy menu item for the graph context menu + + + ቁረጥ + Cut menu item from the Equation TextBox + + + ገልብጥ + Copy menu item from the Equation TextBox + + + ለጥፍ + Paste menu item from the Equation TextBox + + + መልስ + Undo menu item from the Equation TextBox + + + ሁሉንም ምረጥ + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/ar-SA/Resources.resw b/src/Calculator/Resources/ar-SA/Resources.resw index 2473cd51c..17b90814f 100644 --- a/src/Calculator/Resources/ar-SA/Resources.resw +++ b/src/Calculator/Resources/ar-SA/Resources.resw @@ -697,9 +697,9 @@ حذف Text string for the Calculator Delete swipe button in the History list - - النسخ - Text string for the Calculator Copy option in the History list context menu + + النسخ + Text string for the Calculator Copy option in the History list context menu حذف @@ -867,7 +867,7 @@ يساوي - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad الدالة العكسية @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - الاستمرار في المتابعة + دومًا في المقدمة (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - العودة إلى طريقة العرض الكاملة + العودة إلى طريقة العرض الكاملة (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2183,7 +2183,7 @@ A snowflake, used as a comparison measurement unit for weight. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999) - فيل + أفيال An elephant, used as a comparison measurement unit for weight. (Please choose the most appropriate plural form to fit any number between 0 and 999,999,999,999,999) @@ -2692,10 +2692,6 @@ ح ز AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2708,18 +2704,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - ١ - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3062,7 +3046,7 @@ فشل الحساب - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation أساس اللوغاريتم س @@ -3076,6 +3060,10 @@ الدالة Displayed on the button that contains a flyout for the general functions in scientific mode. + + المتباينات + Displayed on the button that contains a flyout for the inequality functions. + البت Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3252,4 +3240,427 @@ البت الأكثر أهمية Used to describe the last bit of a binary number. Used in bit flip + + الرسوم البيانية + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + يساوي + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + رسم + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + إعادة تعيين طريقة العرض (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + إعادة تعيين طريقة العرض + Screen reader prompt for the reset zoom button. + + + تكبير (Ctrl + علامة الجمع) + This is the tool tip automation name for the Calculator zoom in button. + + + تكبير + Screen reader prompt for the zoom in button. + + + تصغير (Ctrl + علامة الطرح) + This is the tool tip automation name for the Calculator zoom out button. + + + تصغير + Screen reader prompt for the zoom out button. + + + إضافة معادلة + Placeholder text for the equation input button + + + تتعذر المشاركة في الوقت الحالي. + If there is an error in the sharing action will display a dialog with this text. + + + موافق + Used on the dismiss button of the share action error dialog. + + + البحث عما رسمته بيانياً باستخدام حاسبة Windows + Sent as part of the shared content. The title for the share. + + + معادلات + Header that appears over the equations section when sharing + + + المتغيرات + Header that appears over the variables section when sharing + + + صورة رسم بياني بالمعادلات + Alt text for the graph image when output via Share + + + المتغيرات + Header text for variables area + + + خطوة + Label text for the step text box + + + الحد الأدنى + Label text for the min text box + + + الحد الأقصى + Label text for the max text box + + + لون الخط + Label for the Line Color section of the style picker + + + تحليل الدالة + Title for KeyGraphFeatures Control + + + لا تحتوي الدالة على أي خطوط مقاربة أفقية. + Message displayed when the graph does not have any horizontal asymptotes + + + لا تتضمن الدالة أي نقاط تصريف. + Message displayed when the graph does not have any inflection points + + + لا تتضمن الدالة أي نقاط نهايات قصوى. + Message displayed when the graph does not have any maxima + + + لا تتضمن الدالة أي نقاط نهايات دُنيا. + Message displayed when the graph does not have any minima + + + ثابت + String describing constant monotonicity of a function + + + ينقص + String describing decreasing monotonicity of a function + + + تعذر تحديد رتيبة الدالة. + Error displayed when monotonicity cannot be determined + + + يزيد + String describing increasing monotonicity of a function + + + رتيبة الدالة غير معروفة. + Error displayed when monotonicity is unknown + + + لا تتضمن الدالة أي خطوط مقاربة منحدرة. + Message displayed when the graph does not have any oblique asymptotes + + + تعذر تحديد تماثل الدالة. + Error displayed when parity is cannot be determined + + + الدالة زوجية. + Message displayed with the function parity is even + + + الدالة ليست زوجية ولا فردية. + Message displayed with the function parity is neither even nor odd + + + الدالة فردية. + Message displayed with the function parity is odd + + + تماثل الدالة غير معروف. + Error displayed when parity is unknown + + + الدورية غير معتمدة لهذه الدالة. + Error displayed when periodicity is not supported + + + الدالة ليست دورية. + Message displayed with the function periodicity is not periodic + + + دورية الدالة غير معروفة. + Message displayed with the function periodicity is unknown + + + هذه الميزات معقدة جداً ولا يمكن للحاسبة حسابها: + Error displayed when analysis features cannot be calculated + + + لا تتضمن الدالة أي خطوط مقاربة عمودية. + Message displayed when the graph does not have any vertical asymptotes + + + لا تتضمن الدالة أياً من تقاطعات x. + Message displayed when the graph does not have any x-intercepts + + + لا تتضمن الدالة أياً من تقاطعات y. + Message displayed when the graph does not have any y-intercepts + + + المجال + Title for KeyGraphFeatures Domain Property + + + خطوط مقاربة أفقية + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + نقاط التصريف + Title for KeyGraphFeatures Inflection Points Property + + + التحليل غير معتمد لهذه الدالة. + Error displayed when graph analysis is not supported or had an error. + + + القيمة القصوى + Title for KeyGraphFeatures Maxima Property + + + القيمة الدنيا + Title for KeyGraphFeatures Minima Property + + + الرتيبة + Title for KeyGraphFeatures Monotonicity Property + + + خطوط مقاربة منحدرة + Title for KeyGraphFeatures Oblique Asymptotes Property + + + التماثل + Title for KeyGraphFeatures Parity Property + + + المسافة + Title for KeyGraphFeatures Periodicity Property + + + النطاق + Title for KeyGraphFeatures Range Property + + + خطوط مقاربة عمودية + Title for KeyGraphFeatures Vertical Asymptotes Property + + + تقاطع X + Title for KeyGraphFeatures XIntercept Property + + + تقاطع Y + Title for KeyGraphFeatures YIntercept Property + + + تعذر إجراء تحليل للدالة. + + + تعذر حساب المجال لهذه الدالة. + Error displayed when Domain is not returned from the analyzer. + + + يتعذر حساب النطاق لهذه الدالة. + Error displayed when Range is not returned from the analyzer. + + + الخلف + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + الخلف + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + تحليل الدالة + This is the tooltip for the analyze function button + + + تحليل الدالة + This is the automation name for the analyze function button + + + تحليل الدالة + This is the text for the for the analyze function context menu command + + + إزالة المعادلة + This is the tooltip for the graphing calculator remove equation buttons + + + إزالة المعادلة + This is the automation name for the graphing calculator remove equation buttons + + + إزالة المعادلة + This is the text for the for the remove equation context menu command + + + مشاركة + This is the automation name for the graphing calculator share button. + + + مشاركة + This is the tooltip for the graphing calculator share button. + + + تغيير نمط المعادلة + This is the tooltip for the graphing calculator equation style button + + + تغيير نمط المعادلة + This is the automation name for the graphing calculator equation style button + + + تغيير نمط المعادلة + This is the text for the for the equation style context menu command + + + إظهار المعادلة %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + إخفاء المعادلة %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + إيقاف التتبع + This is the tooltip/automation name for the graphing calculator stop tracing button + + + بدء التتبع + This is the tooltip/automation name for the graphing calculator start tracing button + + + نافذة عرض الرسم البياني، المحور س محدود بواسطة %1 و%2، المحور ص محدود بواسطة %3 و%4، مع عرض معادلات %5 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + تكوين شريط التمرير + This is the tooltip text for the slider options button in Graphing Calculator + + + تكوين شريط التمرير + This is the automation name text for the slider options button in Graphing Calculator + + + تبديل إلى وضع المعادلة + Used in Graphing Calculator to switch the view to the equation mode + + + تبديل إلى وضع الرسم البياني + Used in Graphing Calculator to switch the view to the graph mode + + + تبديل إلى وضع المعادلة + Used in Graphing Calculator to switch the view to the equation mode + + + الوضع الحالي هو وضع المعادلة + Announcement used in Graphing Calculator when switching to the equation mode + + + الوضع الحالي هو وضع الرسم البياني + Announcement used in Graphing Calculator when switching to the graph mode + + + النافذة + Heading for window extents on the settings + + + درجات + Degrees mode on settings page + + + وحدات غراد + Gradian mode on settings page + + + وحدات راديان + Radians mode on settings page + + + وحدات + Heading for Unit's on the settings + + + إعادة تعيين طريقة العرض + Hyperlink button to reset the view of the graph + + + الحد الأقصى X + X maximum value header + + + الحد الأدنى X + X minimum value header + + + الحد الأقصى Y + Y Maximum value header + + + الحد الأدنى Y + Y minimum value header + + + خيارات الشبكة + This is the tooltip text for the grid options button in Graphing Calculator + + + خيارات الشبكة + This is the automation name text for the grid options button in Graphing Calculator + + + خيارات الرسم البياني + Heading for the Graph Options flyout in Graphing mode. + + + إدخال تعبير + this is the placeholder text used by the textbox to enter an equation + + + النسخ + Copy menu item for the graph context menu + + + قص + Cut menu item from the Equation TextBox + + + نسخ + Copy menu item from the Equation TextBox + + + لصق + Paste menu item from the Equation TextBox + + + تراجع + Undo menu item from the Equation TextBox + + + تحديد الكل + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/az-Latn-AZ/Resources.resw b/src/Calculator/Resources/az-Latn-AZ/Resources.resw index 3d2ea2182..21b5fea90 100644 --- a/src/Calculator/Resources/az-Latn-AZ/Resources.resw +++ b/src/Calculator/Resources/az-Latn-AZ/Resources.resw @@ -697,9 +697,9 @@ Sil Text string for the Calculator Delete swipe button in the History list - - Köçür - Text string for the Calculator Copy option in the History list context menu + + Köçür + Text string for the Calculator Copy option in the History list context menu Sil @@ -867,7 +867,7 @@ Bərabərdir - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Əks Funksiyası @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Digər pəncərələrin üzərində saxla + Digər pəncərələrin üzərində saxla (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Tam görünüşə qayıt + Tam görünüşə qayıt (Alt+Aşağı ox) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Hesablama uğursuz oldu - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Loqarifm əsası X @@ -3075,6 +3059,10 @@ Funksiya Displayed on the button that contains a flyout for the general functions in scientific mode. + + Bərabərsizliklər + Displayed on the button that contains a flyout for the inequality functions. + Bit üzrə Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ ən əhəmiyyətli bit Used to describe the last bit of a binary number. Used in bit flip + + Qrafik yaratma + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Bərabərdir + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Qrafik + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Görünüşü sıfırla (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Görünüşü Sıfırla + Screen reader prompt for the reset zoom button. + + + Böyüt (Ctrl + plyus) + This is the tool tip automation name for the Calculator zoom in button. + + + Böyüt + Screen reader prompt for the zoom in button. + + + Kiçilt (Ctrl + minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Kiçilt + Screen reader prompt for the zoom out button. + + + Tənlik əlavə et + Placeholder text for the equation input button + + + Bu dəfə paylaşmaq mümkün deyil. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Windows Kalkulyator ilə yaratdığım qrafikə baxın + Sent as part of the shared content. The title for the share. + + + Tənliklər + Header that appears over the equations section when sharing + + + Dəyişənlər + Header that appears over the variables section when sharing + + + Tənlikləri olan qrafik təsviri + Alt text for the graph image when output via Share + + + Dəyişənlər + Header text for variables area + + + Addım + Label text for the step text box + + + Min + Label text for the min text box + + + Maks + Label text for the max text box + + + Xəttin Rəngi + Label for the Line Color section of the style picker + + + Funksiya təhlili + Title for KeyGraphFeatures Control + + + Funksiyada hər hansı bir üfüqi asimptot yoxdur. + Message displayed when the graph does not have any horizontal asymptotes + + + Funksiyada hər hansı bir əyilmə nöqtəsi yoxdur. + Message displayed when the graph does not have any inflection points + + + Funksiyada hər hansı bir maksimum nöqtəsi yoxdur. + Message displayed when the graph does not have any maxima + + + Funksiyada hər hansı bir minimum nöqtəsi yoxdur. + Message displayed when the graph does not have any minima + + + Sabit + String describing constant monotonicity of a function + + + Azalan + String describing decreasing monotonicity of a function + + + Funksiyanın monotonluğunu müəyyənləşdirmək mümkün deyil. + Error displayed when monotonicity cannot be determined + + + Artan + String describing increasing monotonicity of a function + + + Funksiyanın monotonluğu məlum deyil. + Error displayed when monotonicity is unknown + + + Funksiyada hər hansı bir maili asimptotu yoxdur. + Message displayed when the graph does not have any oblique asymptotes + + + Funksiyanın bərabərliyini müəyyən etmək mümkün deyil. + Error displayed when parity is cannot be determined + + + Funksiya cütdür. + Message displayed with the function parity is even + + + Funksiya nə cüt, nə də tək deyil. + Message displayed with the function parity is neither even nor odd + + + Funksiya təkdir. + Message displayed with the function parity is odd + + + Funksiyanın bərabərliyi naməlumdur. + Error displayed when parity is unknown + + + Dövrilik bu funksiya üçün dəstəklənmir. + Error displayed when periodicity is not supported + + + Funksiya dövri deyil. + Message displayed with the function periodicity is not periodic + + + Funksiyanın dövriliyi naməlumdur. + Message displayed with the function periodicity is unknown + + + Bu xüsusiyyətlər Kalkulyator ilə hesablanmaq üçün çox mürəkkəbdir: + Error displayed when analysis features cannot be calculated + + + Funksiyada hər hansı bir şaquli asimptot yoxdur. + Message displayed when the graph does not have any vertical asymptotes + + + Funksiyada hər hansı bir x kəsişməsi yoxdur. + Message displayed when the graph does not have any x-intercepts + + + Funksiyada hər hansı bir y kəsişməsi yoxdur. + Message displayed when the graph does not have any y-intercepts + + + Domen + Title for KeyGraphFeatures Domain Property + + + Üfüqi Asimptotlar + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Əyilmə Nöqtələri + Title for KeyGraphFeatures Inflection Points Property + + + Bu funksiya üçün təhlil dəstəklənmir. + Error displayed when graph analysis is not supported or had an error. + + + Maksimum + Title for KeyGraphFeatures Maxima Property + + + Minimum + Title for KeyGraphFeatures Minima Property + + + Monotonluq + Title for KeyGraphFeatures Monotonicity Property + + + Maili Asimptotlar + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Bərabərlik + Title for KeyGraphFeatures Parity Property + + + Dövrilik + Title for KeyGraphFeatures Periodicity Property + + + Diapazon + Title for KeyGraphFeatures Range Property + + + Şaquli Asimptotlar + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X kəsişməsi + Title for KeyGraphFeatures XIntercept Property + + + Y kəsişməsi + Title for KeyGraphFeatures YIntercept Property + + + Funksiya üçün təhlilini icra etmək mümkün olmadı. + + + Bu funksiya üçün domeni hesablamaq mümkün deyil. + Error displayed when Domain is not returned from the analyzer. + + + Bu funksiya üçün diapazonu hesablamaq mümkün deyil. + Error displayed when Range is not returned from the analyzer. + + + Geri + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Geri + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Funksiyanı təhlil et + This is the tooltip for the analyze function button + + + Funksiyanı təhlil et + This is the automation name for the analyze function button + + + Funksiyanı təhlil et + This is the text for the for the analyze function context menu command + + + Tənliyi sil + This is the tooltip for the graphing calculator remove equation buttons + + + Tənliyi sil + This is the automation name for the graphing calculator remove equation buttons + + + Tənliyi sil + This is the text for the for the remove equation context menu command + + + Paylaş + This is the automation name for the graphing calculator share button. + + + Paylaş + This is the tooltip for the graphing calculator share button. + + + Tənlik üslubunu dəyiş + This is the tooltip for the graphing calculator equation style button + + + Tənlik üslubunu dəyiş + This is the automation name for the graphing calculator equation style button + + + Tənlik üslubunu dəyiş + This is the text for the for the equation style context menu command + + + %1 nömrəli tənliyi göstər + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + %1 nömrəli tənliyi gizlət + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + İzləməni dayandır + This is the tooltip/automation name for the graphing calculator stop tracing button + + + İzləməni başlat + This is the tooltip/automation name for the graphing calculator start tracing button + + + Qrafikə baxış pəncərəsi, x oxu %1 və %2 ilə məhdudlaşdırılıb, y oxu %3 və %4 ilə məhdudlaşdırılıb, %5 tənlik göstərilir + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Sürüngəci konfiqurasiya et + This is the tooltip text for the slider options button in Graphing Calculator + + + Sürüngəci konfiqurasiya et + This is the automation name text for the slider options button in Graphing Calculator + + + Tənlik rejiminə keç + Used in Graphing Calculator to switch the view to the equation mode + + + Qrafik rejiminə keç + Used in Graphing Calculator to switch the view to the graph mode + + + Tənlik rejiminə keç + Used in Graphing Calculator to switch the view to the equation mode + + + Cari rejim tənlik rejimidir + Announcement used in Graphing Calculator when switching to the equation mode + + + Cari rejim qrafik rejimidir + Announcement used in Graphing Calculator when switching to the graph mode + + + Pəncərə + Heading for window extents on the settings + + + Dərəcə + Degrees mode on settings page + + + Qrad + Gradian mode on settings page + + + Radian + Radians mode on settings page + + + Vahidlər + Heading for Unit's on the settings + + + Görünüşü sıfırla + Hyperlink button to reset the view of the graph + + + X-Maks + X maximum value header + + + X-Min + X minimum value header + + + Y-Maks + Y Maximum value header + + + Y-Min + Y minimum value header + + + Tor seçimləri + This is the tooltip text for the grid options button in Graphing Calculator + + + Tor seçimləri + This is the automation name text for the grid options button in Graphing Calculator + + + Qrafik Seçimləri + Heading for the Graph Options flyout in Graphing mode. + + + İfadə daxil edin + this is the placeholder text used by the textbox to enter an equation + + + Köçür + Copy menu item for the graph context menu + + + Kəs + Cut menu item from the Equation TextBox + + + Köçür + Copy menu item from the Equation TextBox + + + Əlavə et + Paste menu item from the Equation TextBox + + + Qaytar + Undo menu item from the Equation TextBox + + + Hamısını Seç + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/be-BY/Resources.resw b/src/Calculator/Resources/be-BY/Resources.resw index 8dadb4ea2..94f48c899 100644 --- a/src/Calculator/Resources/be-BY/Resources.resw +++ b/src/Calculator/Resources/be-BY/Resources.resw @@ -859,7 +859,7 @@ Роўна - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Зваротная функцыя @@ -1065,14 +1065,6 @@ Вярнуцца да поўнаэкраннага прагляду Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - - Трымаць зверху - This is the tool tip automation name for the Always-on-Top button when in normal mode. - - - Вярнуцца да поўнаэкраннага прагляду - This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. - Пераўтварыць з %1 %2 Screen reader prompt for the Unit Converter Value1 i.e. top number field. %1 = DisplayValue, %2 = Unit field localized name. @@ -2683,10 +2675,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2699,18 +2687,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -2945,6 +2921,10 @@ Памылка падлікаў - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation + + + Падзяліцца + This is the automation name for the graphing calculator share button. \ No newline at end of file diff --git a/src/Calculator/Resources/bg-BG/Resources.resw b/src/Calculator/Resources/bg-BG/Resources.resw index 69e233221..5a2b69d98 100644 --- a/src/Calculator/Resources/bg-BG/Resources.resw +++ b/src/Calculator/Resources/bg-BG/Resources.resw @@ -697,9 +697,9 @@ Изтриване Text string for the Calculator Delete swipe button in the History list - - Копиране - Text string for the Calculator Copy option in the History list context menu + + Копиране + Text string for the Calculator Copy option in the History list context menu Изтриване @@ -867,7 +867,7 @@ Равно на - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Обратна функция @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Задържане отгоре + Задържане отгоре (Alt + стрелка нагоре) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Обратно към пълния изглед + Обратно към пълния изглед (Alt + стрелка надолу) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Изчислението е неуспешно - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Логаритъм с основа X @@ -3075,6 +3059,10 @@ Функция Displayed on the button that contains a flyout for the general functions in scientific mode. + + Неравенства + Displayed on the button that contains a flyout for the inequality functions. + Побитови Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ най-значим бит Used to describe the last bit of a binary number. Used in bit flip + + Графично изразяване + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Равно + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Чертане + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Нулиране на изгледа (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Нулиране на изгледа + Screen reader prompt for the reset zoom button. + + + Увеличаване (Ctrl + плюс) + This is the tool tip automation name for the Calculator zoom in button. + + + Увеличаване + Screen reader prompt for the zoom in button. + + + Намаляване (Ctrl + минус) + This is the tool tip automation name for the Calculator zoom out button. + + + Намаляване + Screen reader prompt for the zoom out button. + + + Добавяне на уравнение + Placeholder text for the equation input button + + + В момента не може да се сподели. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Вижте какво начертах с калкулатора на Windows + Sent as part of the shared content. The title for the share. + + + Уравнения + Header that appears over the equations section when sharing + + + Променливи + Header that appears over the variables section when sharing + + + Изображение на графика с уравнения + Alt text for the graph image when output via Share + + + Променливи + Header text for variables area + + + Стъпка + Label text for the step text box + + + Мин. + Label text for the min text box + + + Макс. + Label text for the max text box + + + Цвят на линията + Label for the Line Color section of the style picker + + + Анализ на функция + Title for KeyGraphFeatures Control + + + Функцията няма хоризонтални асимптоти. + Message displayed when the graph does not have any horizontal asymptotes + + + Функцията няма инфлексни точки. + Message displayed when the graph does not have any inflection points + + + Функцията няма максимуми. + Message displayed when the graph does not have any maxima + + + Функцията няма минимуми. + Message displayed when the graph does not have any minima + + + Константна + String describing constant monotonicity of a function + + + Намаляваща + String describing decreasing monotonicity of a function + + + Монотонността на функцията не може да бъде определена. + Error displayed when monotonicity cannot be determined + + + Нарастваща + String describing increasing monotonicity of a function + + + Монотонността на функцията е неизвестна. + Error displayed when monotonicity is unknown + + + Функцията няма наклонени асимптоти. + Message displayed when the graph does not have any oblique asymptotes + + + Четността на функцията не може да бъде определена. + Error displayed when parity is cannot be determined + + + Функцията е четна. + Message displayed with the function parity is even + + + Функцията не е нито четна, нито нечетна. + Message displayed with the function parity is neither even nor odd + + + Функцията е нечетна. + Message displayed with the function parity is odd + + + Четността на функцията е неизвестна. + Error displayed when parity is unknown + + + Периодичността не се поддържа за тази функция. + Error displayed when periodicity is not supported + + + Функцията не е периодична. + Message displayed with the function periodicity is not periodic + + + Периодичността на функцията е неизвестна. + Message displayed with the function periodicity is unknown + + + Тези функции са твърде сложни за изчисляване от калкулатора: + Error displayed when analysis features cannot be calculated + + + Функцията няма вертикални асимптоти. + Message displayed when the graph does not have any vertical asymptotes + + + Функцията няма пресечни точки на x. + Message displayed when the graph does not have any x-intercepts + + + Функцията няма пресечни точки на y. + Message displayed when the graph does not have any y-intercepts + + + Дефиниционно множество + Title for KeyGraphFeatures Domain Property + + + Хоризонтални асимптоти + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Точки на инфлексия + Title for KeyGraphFeatures Inflection Points Property + + + Анализът не се поддържа за тази функция. + Error displayed when graph analysis is not supported or had an error. + + + Максимум + Title for KeyGraphFeatures Maxima Property + + + Минимум + Title for KeyGraphFeatures Minima Property + + + Монотонност + Title for KeyGraphFeatures Monotonicity Property + + + Наклонени асимптоти + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Четност + Title for KeyGraphFeatures Parity Property + + + Период + Title for KeyGraphFeatures Periodicity Property + + + Множеството от стойности + Title for KeyGraphFeatures Range Property + + + Вертикални асимптоти + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Пресечна точка на X + Title for KeyGraphFeatures XIntercept Property + + + Пресечна точка на Y + Title for KeyGraphFeatures YIntercept Property + + + Неуспешно анализиране на функцията. + + + Не може да се изчисли дефиниционното множество на тази функция. + Error displayed when Domain is not returned from the analyzer. + + + Не може да се изчисли множеството от стойности за тази функция. + Error displayed when Range is not returned from the analyzer. + + + Назад + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Назад + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Анализиране на функция + This is the tooltip for the analyze function button + + + Анализиране на функция + This is the automation name for the analyze function button + + + Анализиране на функция + This is the text for the for the analyze function context menu command + + + Премахване на уравнение + This is the tooltip for the graphing calculator remove equation buttons + + + Премахване на уравнение + This is the automation name for the graphing calculator remove equation buttons + + + Премахване на уравнение + This is the text for the for the remove equation context menu command + + + Споделяне + This is the automation name for the graphing calculator share button. + + + Споделяне + This is the tooltip for the graphing calculator share button. + + + Промяна на стила на уравнение + This is the tooltip for the graphing calculator equation style button + + + Промяна на стила на уравнение + This is the automation name for the graphing calculator equation style button + + + Промяна на стила на уравнение + This is the text for the for the equation style context menu command + + + Показване на уравнение %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Скриване на уравнение %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Спиране на проследяването + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Стартиране на проследяването + This is the tooltip/automation name for the graphing calculator start tracing button + + + Прозорец за преглед на графика, ос x, ограничена от %1 и %2, оста y, ограничена от %3 и %4, показваща %5 уравнения + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Конфигуриране на плъзгача + This is the tooltip text for the slider options button in Graphing Calculator + + + Конфигуриране на плъзгача + This is the automation name text for the slider options button in Graphing Calculator + + + Превключване към режим на уравнение + Used in Graphing Calculator to switch the view to the equation mode + + + Превключване към режим на графика + Used in Graphing Calculator to switch the view to the graph mode + + + Превключване към режим на уравнение + Used in Graphing Calculator to switch the view to the equation mode + + + Текущият режим е режим на уравнение + Announcement used in Graphing Calculator when switching to the equation mode + + + Текущият режим е режим на графика + Announcement used in Graphing Calculator when switching to the graph mode + + + Прозорец + Heading for window extents on the settings + + + Градуси + Degrees mode on settings page + + + Гради + Gradian mode on settings page + + + Радиани + Radians mode on settings page + + + Единици + Heading for Unit's on the settings + + + Нулиране на изгледа + Hyperlink button to reset the view of the graph + + + Максимална стойност на X + X maximum value header + + + Минимална стойност на X + X minimum value header + + + Максимална стойност на Y + Y Maximum value header + + + Минимална стойност на Y + Y minimum value header + + + Опции на мрежата + This is the tooltip text for the grid options button in Graphing Calculator + + + Опции на мрежата + This is the automation name text for the grid options button in Graphing Calculator + + + Графични опции + Heading for the Graph Options flyout in Graphing mode. + + + Въведете израз + this is the placeholder text used by the textbox to enter an equation + + + Копиране + Copy menu item for the graph context menu + + + Изрязване + Cut menu item from the Equation TextBox + + + Копиране + Copy menu item from the Equation TextBox + + + Поставяне + Paste menu item from the Equation TextBox + + + Отменяне + Undo menu item from the Equation TextBox + + + Избиране на всички + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/bn-BD/Resources.resw b/src/Calculator/Resources/bn-BD/Resources.resw index d4e77977f..d1363601d 100644 --- a/src/Calculator/Resources/bn-BD/Resources.resw +++ b/src/Calculator/Resources/bn-BD/Resources.resw @@ -859,7 +859,7 @@ সমান - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad ফাংশন বিপরীত করুন @@ -1065,14 +1065,6 @@ সম্পূর্ণ দৃশ্যে ফিরে যান Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - - উপরে রাখা - This is the tool tip automation name for the Always-on-Top button when in normal mode. - - - সম্পূর্ণ দৃশ্যে ফিরে যান - This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. - %1 %2 -এর থেকে পরিবর্তন করুন Screen reader prompt for the Unit Converter Value1 i.e. top number field. %1 = DisplayValue, %2 = Unit field localized name. @@ -2683,10 +2675,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2699,18 +2687,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -2945,6 +2921,10 @@ গণনা ব্যর্থ হয়েছে - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation + + + ভাগ করুন + This is the automation name for the graphing calculator share button. \ No newline at end of file diff --git a/src/Calculator/Resources/ca-ES/Resources.resw b/src/Calculator/Resources/ca-ES/Resources.resw index b839e8856..cdf3f4c7f 100644 --- a/src/Calculator/Resources/ca-ES/Resources.resw +++ b/src/Calculator/Resources/ca-ES/Resources.resw @@ -697,9 +697,9 @@ Suprimeix Text string for the Calculator Delete swipe button in the History list - - Copia - Text string for the Calculator Copy option in the History list context menu + + Copia + Text string for the Calculator Copy option in the History list context menu Suprimeix @@ -867,7 +867,7 @@ És igual a - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Funció inversa @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Mantén visible + Mantén visible (Alt+Amunt) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Torna a la visualització completa + Torna a la visualització completa (Alt+Avall) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ No s'ha pogut calcular - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logaritme en base X @@ -3075,6 +3059,10 @@ Funció Displayed on the button that contains a flyout for the general functions in scientific mode. + + Desigualtats + Displayed on the button that contains a flyout for the inequality functions. + Bit a bit Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ bit més significatiu Used to describe the last bit of a binary number. Used in bit flip + + Gràfics + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + És igual a + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Traçat + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Restableix la visualització (Control+0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Restableix la visualització + Screen reader prompt for the reset zoom button. + + + Amplia (Control+Més) + This is the tool tip automation name for the Calculator zoom in button. + + + Amplia + Screen reader prompt for the zoom in button. + + + Redueix (Control+Menys) + This is the tool tip automation name for the Calculator zoom out button. + + + Redueix + Screen reader prompt for the zoom out button. + + + Afegeix una equació + Placeholder text for the equation input button + + + No es pot compartir en aquest moment. + If there is an error in the sharing action will display a dialog with this text. + + + D'acord + Used on the dismiss button of the share action error dialog. + + + Mira el gràfic que he fet amb la Calculadora del Windows + Sent as part of the shared content. The title for the share. + + + Equacions + Header that appears over the equations section when sharing + + + Variables + Header that appears over the variables section when sharing + + + Imatge d'un gràfic amb equacions + Alt text for the graph image when output via Share + + + Variables + Header text for variables area + + + Pas + Label text for the step text box + + + Mín. + Label text for the min text box + + + Màx. + Label text for the max text box + + + Color de línia + Label for the Line Color section of the style picker + + + Anàlisi de funcions + Title for KeyGraphFeatures Control + + + La funció no té cap asímptota horitzontal. + Message displayed when the graph does not have any horizontal asymptotes + + + La funció no té cap punt d'inflexió. + Message displayed when the graph does not have any inflection points + + + La funció no té cap punt màxim. + Message displayed when the graph does not have any maxima + + + La funció no té cap punt mínim. + Message displayed when the graph does not have any minima + + + Constant + String describing constant monotonicity of a function + + + Decreixent + String describing decreasing monotonicity of a function + + + No es pot determinar la monotonia de la funció. + Error displayed when monotonicity cannot be determined + + + Creixent + String describing increasing monotonicity of a function + + + La monotonia de la funció és desconeguda. + Error displayed when monotonicity is unknown + + + La funció no té cap asímptota obliqua. + Message displayed when the graph does not have any oblique asymptotes + + + No es pot determinar la paritat de la funció. + Error displayed when parity is cannot be determined + + + La funció és parella. + Message displayed with the function parity is even + + + La funció no és parella ni imparella. + Message displayed with the function parity is neither even nor odd + + + La funció és imparella. + Message displayed with the function parity is odd + + + La paritat de la funció és desconeguda. + Error displayed when parity is unknown + + + La periodicitat no és compatible amb aquesta funció. + Error displayed when periodicity is not supported + + + La funció no és periòdica. + Message displayed with the function periodicity is not periodic + + + La periodicitat de la funció és desconeguda. + Message displayed with the function periodicity is unknown + + + Aquestes característiques són massa complexes per a la Calculadora: + Error displayed when analysis features cannot be calculated + + + La funció no té cap asímptota vertical. + Message displayed when the graph does not have any vertical asymptotes + + + La funció no té cap intersecció x. + Message displayed when the graph does not have any x-intercepts + + + La funció no té cap intersecció y. + Message displayed when the graph does not have any y-intercepts + + + Domini + Title for KeyGraphFeatures Domain Property + + + Asímptotes horitzontals + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Punts d'inflexió + Title for KeyGraphFeatures Inflection Points Property + + + L'anàlisi no és compatible amb aquesta funció. + Error displayed when graph analysis is not supported or had an error. + + + Màxims + Title for KeyGraphFeatures Maxima Property + + + Mínims + Title for KeyGraphFeatures Minima Property + + + Monotonia + Title for KeyGraphFeatures Monotonicity Property + + + Asímptotes obliqües + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paritat + Title for KeyGraphFeatures Parity Property + + + Període + Title for KeyGraphFeatures Periodicity Property + + + Interval + Title for KeyGraphFeatures Range Property + + + Asímptotes verticals + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Intersecció X + Title for KeyGraphFeatures XIntercept Property + + + Intersecció Y + Title for KeyGraphFeatures YIntercept Property + + + No s'ha pogut realitzar l'anàlisi per a la funció. + + + No es pot calcular el domini per a aquesta funció. + Error displayed when Domain is not returned from the analyzer. + + + No es pot calcular l'interval d'aquesta funció. + Error displayed when Range is not returned from the analyzer. + + + Enrere + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Enrere + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analitza la funció + This is the tooltip for the analyze function button + + + Analitza la funció + This is the automation name for the analyze function button + + + Analitza la funció + This is the text for the for the analyze function context menu command + + + Suprimeix l'equació + This is the tooltip for the graphing calculator remove equation buttons + + + Suprimeix l'equació + This is the automation name for the graphing calculator remove equation buttons + + + Suprimeix l'equació + This is the text for the for the remove equation context menu command + + + Comparteix + This is the automation name for the graphing calculator share button. + + + Comparteix + This is the tooltip for the graphing calculator share button. + + + Canvia l'estil d'equació + This is the tooltip for the graphing calculator equation style button + + + Canvia l'estil d'equació + This is the automation name for the graphing calculator equation style button + + + Canvia l'estil d'equació + This is the text for the for the equation style context menu command + + + Mostra l'equació %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Amaga l'equació %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Atura el seguiment + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Inicia el seguiment + This is the tooltip/automation name for the graphing calculator start tracing button + + + Finestra de visualització de grafs, eix x limitada per %1 i %2, eix y limitat per %3 i %4, que Mostra equacions %5 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Configura el control lliscant + This is the tooltip text for the slider options button in Graphing Calculator + + + Configura el control lliscant + This is the automation name text for the slider options button in Graphing Calculator + + + Canvia al mode d'equació + Used in Graphing Calculator to switch the view to the equation mode + + + Canvia al mode de gràfic + Used in Graphing Calculator to switch the view to the graph mode + + + Canvia al mode d'equació + Used in Graphing Calculator to switch the view to the equation mode + + + El mode actual és el mode d'equació + Announcement used in Graphing Calculator when switching to the equation mode + + + El mode actual és el mode de gràfic + Announcement used in Graphing Calculator when switching to the graph mode + + + Finestra + Heading for window extents on the settings + + + Graus + Degrees mode on settings page + + + Graus centesimals + Gradian mode on settings page + + + Radians + Radians mode on settings page + + + Unitats + Heading for Unit's on the settings + + + Restableix la visualització + Hyperlink button to reset the view of the graph + + + Valor X màx. + X maximum value header + + + Valor X mín. + X minimum value header + + + Valor Y màx. + Y Maximum value header + + + Valor Y mín. + Y minimum value header + + + Opcions de quadrícula + This is the tooltip text for the grid options button in Graphing Calculator + + + Opcions de quadrícula + This is the automation name text for the grid options button in Graphing Calculator + + + Opcions del gràfic + Heading for the Graph Options flyout in Graphing mode. + + + Introdueix una expressió + this is the placeholder text used by the textbox to enter an equation + + + Copia + Copy menu item for the graph context menu + + + Retalla + Cut menu item from the Equation TextBox + + + Copia + Copy menu item from the Equation TextBox + + + Enganxa + Paste menu item from the Equation TextBox + + + Desfés + Undo menu item from the Equation TextBox + + + Selecciona-ho tot + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/cs-CZ/Resources.resw b/src/Calculator/Resources/cs-CZ/Resources.resw index 1b8842f71..69b0e2fcb 100644 --- a/src/Calculator/Resources/cs-CZ/Resources.resw +++ b/src/Calculator/Resources/cs-CZ/Resources.resw @@ -697,9 +697,9 @@ Odstranit Text string for the Calculator Delete swipe button in the History list - - Kopírovat - Text string for the Calculator Copy option in the History list context menu + + Kopírovat + Text string for the Calculator Copy option in the History list context menu Odstranit @@ -867,7 +867,7 @@ Rovná se - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Inverzní funkce @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Vždy navrchu + Vždy navrchu (Alt+Šipka nahoru) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Zpět do úplného zobrazení + Zpět do úplného zobrazení (Alt+Šipka dolů) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ PL AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - HE AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Neúspěšný výpočet - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logaritmus se základem X @@ -3075,6 +3059,10 @@ Funkce Displayed on the button that contains a flyout for the general functions in scientific mode. + + Nerovnosti + Displayed on the button that contains a flyout for the inequality functions. + Na úrovni bitů Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ nejvýznamnější bit Used to describe the last bit of a binary number. Used in bit flip + + Vytváření grafů + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Rovná se + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Vykreslit + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Obnovit zobrazení (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Obnovit zobrazení + Screen reader prompt for the reset zoom button. + + + Přiblížit (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Přiblížit + Screen reader prompt for the zoom in button. + + + Oddálit (Ctrl + minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Oddálit + Screen reader prompt for the zoom out button. + + + Přidat rovnici + Placeholder text for the equation input button + + + V tuto chvíli nejde sdílet. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Podívejte se, jaký graf se mi povedlo udělat s Windows Kalkulačkou + Sent as part of the shared content. The title for the share. + + + Rovnice + Header that appears over the equations section when sharing + + + Proměnné + Header that appears over the variables section when sharing + + + Obrázek grafu s rovnicemi + Alt text for the graph image when output via Share + + + Proměnné + Header text for variables area + + + Krok + Label text for the step text box + + + Minimum + Label text for the min text box + + + Maximum + Label text for the max text box + + + Barva čáry + Label for the Line Color section of the style picker + + + Analýza funkcí + Title for KeyGraphFeatures Control + + + Funkce nemá žádné vodorovné asymptoty. + Message displayed when the graph does not have any horizontal asymptotes + + + Funkce nemá žádné inflexní body. + Message displayed when the graph does not have any inflection points + + + Funkce nemá žádné maximální body. + Message displayed when the graph does not have any maxima + + + Funkce nemá žádné minimální body. + Message displayed when the graph does not have any minima + + + Konstantní + String describing constant monotonicity of a function + + + Klesající + String describing decreasing monotonicity of a function + + + Není možné určit monotónnost funkce. + Error displayed when monotonicity cannot be determined + + + Rostoucí + String describing increasing monotonicity of a function + + + Monotónnost funkce není známa. + Error displayed when monotonicity is unknown + + + Funkce nemá žádné šikmé asymptoty. + Message displayed when the graph does not have any oblique asymptotes + + + Není možné určit paritu funkce. + Error displayed when parity is cannot be determined + + + Funkce je sudá. + Message displayed with the function parity is even + + + Funkce není sudá ani lichá. + Message displayed with the function parity is neither even nor odd + + + Funkce je lichá. + Message displayed with the function parity is odd + + + Parita funkce není známa. + Error displayed when parity is unknown + + + Pro tuto funkci není periodicita podporována. + Error displayed when periodicity is not supported + + + Funkce není periodická. + Message displayed with the function periodicity is not periodic + + + Periodicita funkce není známa. + Message displayed with the function periodicity is unknown + + + Tyto funkce jsou pro Kalkulačku příliš složité: + Error displayed when analysis features cannot be calculated + + + Funkce nemá žádné svislé asymptoty. + Message displayed when the graph does not have any vertical asymptotes + + + Funkce nemá žádné průsečíky s osou X. + Message displayed when the graph does not have any x-intercepts + + + Funkce nemá žádné průsečíky s osou Y. + Message displayed when the graph does not have any y-intercepts + + + Definiční obor + Title for KeyGraphFeatures Domain Property + + + Vodorovné asymptoty + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Inflexní body + Title for KeyGraphFeatures Inflection Points Property + + + Pro tuto funkci není analýza podporována. + Error displayed when graph analysis is not supported or had an error. + + + Maxima + Title for KeyGraphFeatures Maxima Property + + + Minima + Title for KeyGraphFeatures Minima Property + + + Monotónnost + Title for KeyGraphFeatures Monotonicity Property + + + Šikmé asymptoty + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Parita + Title for KeyGraphFeatures Parity Property + + + Perioda + Title for KeyGraphFeatures Periodicity Property + + + Rozsah + Title for KeyGraphFeatures Range Property + + + Svislé asymptoty + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Průsečík s osou X + Title for KeyGraphFeatures XIntercept Property + + + Průsečík s osou Y + Title for KeyGraphFeatures YIntercept Property + + + Pro tuto funkci není možné provést analýzu. + + + Pro tuto funkci není možné vypočítat definiční obor. + Error displayed when Domain is not returned from the analyzer. + + + Pro tuto funkci není možné vypočítat rozsah. + Error displayed when Range is not returned from the analyzer. + + + Zpět + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Zpět + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analyzovat funkci + This is the tooltip for the analyze function button + + + Analyzovat funkci + This is the automation name for the analyze function button + + + Analyzovat funkci + This is the text for the for the analyze function context menu command + + + Odebrat rovnici + This is the tooltip for the graphing calculator remove equation buttons + + + Odebrat rovnici + This is the automation name for the graphing calculator remove equation buttons + + + Odebrat rovnici + This is the text for the for the remove equation context menu command + + + Sdílet + This is the automation name for the graphing calculator share button. + + + Sdílet + This is the tooltip for the graphing calculator share button. + + + Změnit styl rovnice + This is the tooltip for the graphing calculator equation style button + + + Změnit styl rovnice + This is the automation name for the graphing calculator equation style button + + + Změnit styl rovnice + This is the text for the for the equation style context menu command + + + Zobrazit rovnici %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Skrýt rovnici %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Zastavit trasování + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Spustit trasování + This is the tooltip/automation name for the graphing calculator start tracing button + + + Okno zobrazení grafu, osa x ohraničená %1 a %2, osa y ohraničená %3 a %4, zobrazení %5 rovnic + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfigurovat posuvník + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfigurovat posuvník + This is the automation name text for the slider options button in Graphing Calculator + + + Přepnout do režimu rovnice + Used in Graphing Calculator to switch the view to the equation mode + + + Přepnout do režimu grafu + Used in Graphing Calculator to switch the view to the graph mode + + + Přepnout do režimu rovnice + Used in Graphing Calculator to switch the view to the equation mode + + + Aktuálně se používá režim rovnice. + Announcement used in Graphing Calculator when switching to the equation mode + + + Aktuálně se používá režim grafu. + Announcement used in Graphing Calculator when switching to the graph mode + + + Okno + Heading for window extents on the settings + + + Stupně + Degrees mode on settings page + + + Grady + Gradian mode on settings page + + + Radiány + Radians mode on settings page + + + Jednotky + Heading for Unit's on the settings + + + Resetovat zobrazení + Hyperlink button to reset the view of the graph + + + X – max + X maximum value header + + + X – min + X minimum value header + + + Y – max + Y Maximum value header + + + Y – min + Y minimum value header + + + Možnosti mřížky + This is the tooltip text for the grid options button in Graphing Calculator + + + Možnosti mřížky + This is the automation name text for the grid options button in Graphing Calculator + + + Možnosti grafu + Heading for the Graph Options flyout in Graphing mode. + + + Zadejte výraz. + this is the placeholder text used by the textbox to enter an equation + + + Kopírovat + Copy menu item for the graph context menu + + + Vyjmout + Cut menu item from the Equation TextBox + + + Kopírovat + Copy menu item from the Equation TextBox + + + Vložit + Paste menu item from the Equation TextBox + + + Zpět + Undo menu item from the Equation TextBox + + + Vybrat vše + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/da-DK/Resources.resw b/src/Calculator/Resources/da-DK/Resources.resw index d5b78808c..9adedd5d9 100644 --- a/src/Calculator/Resources/da-DK/Resources.resw +++ b/src/Calculator/Resources/da-DK/Resources.resw @@ -697,9 +697,9 @@ Slet Text string for the Calculator Delete swipe button in the History list - - Kopiér - Text string for the Calculator Copy option in the History list context menu + + Kopiér + Text string for the Calculator Copy option in the History list context menu Slet @@ -867,7 +867,7 @@ Er lig med - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Invertér funktion @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Bevar øverst + Bevar øverst (Alt+op) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Tilbage til fuld visning + Tilbage til fuld visning (Alt+ned) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ OM AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - ET AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Beregning mislykkedes - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Log grundlæggende X @@ -3075,6 +3059,10 @@ Funktion Displayed on the button that contains a flyout for the general functions in scientific mode. + + Uligheder + Displayed on the button that contains a flyout for the inequality functions. + Bitvis Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ mest signifikante bit Used to describe the last bit of a binary number. Used in bit flip + + Grafisk afbildning + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Er lig med + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Plot + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Nulstil visning (Ctrl+0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Nulstil visning + Screen reader prompt for the reset zoom button. + + + Zoom ind (Ctrl+plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Zoom ind + Screen reader prompt for the zoom in button. + + + Zoom ud (Ctrl+minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Zoom ud + Screen reader prompt for the zoom out button. + + + Tilføj ligning + Placeholder text for the equation input button + + + Det er ikke muligt at dele på nuværende tidspunkt. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Se, hvad jeg har afbildet med Windows Lommeregner + Sent as part of the shared content. The title for the share. + + + Ligninger + Header that appears over the equations section when sharing + + + Variabler + Header that appears over the variables section when sharing + + + Billede af en graf med ligninger + Alt text for the graph image when output via Share + + + Variabler + Header text for variables area + + + Trin + Label text for the step text box + + + Min. + Label text for the min text box + + + Maks. + Label text for the max text box + + + Stregfarve + Label for the Line Color section of the style picker + + + Funktionsanalyse + Title for KeyGraphFeatures Control + + + Funktionen har ikke nogen vandrette asymptoter. + Message displayed when the graph does not have any horizontal asymptotes + + + Funktionen har ikke nogen bøjningspunkter. + Message displayed when the graph does not have any inflection points + + + Funktionen har ikke nogen maksima-punkter. + Message displayed when the graph does not have any maxima + + + Funktionen har ikke nogen minima-punkter. + Message displayed when the graph does not have any minima + + + Konstant + String describing constant monotonicity of a function + + + Faldende + String describing decreasing monotonicity of a function + + + Funktionens monotonitet kunne ikke bestemmes. + Error displayed when monotonicity cannot be determined + + + Stigende + String describing increasing monotonicity of a function + + + Funktionens monotonitet er ukendt. + Error displayed when monotonicity is unknown + + + Funktionen har ikke nogen skråtstillede aysmptoter. + Message displayed when the graph does not have any oblique asymptotes + + + Funktionens paritet kan ikke bestemmes. + Error displayed when parity is cannot be determined + + + Funktionen er lige. + Message displayed with the function parity is even + + + Funktionen er hverken lige eller ulige. + Message displayed with the function parity is neither even nor odd + + + Funktionen er ulige. + Message displayed with the function parity is odd + + + Funktionens paritet er ukendt. + Error displayed when parity is unknown + + + Periodicitet understøttes ikke for denne funktion. + Error displayed when periodicity is not supported + + + Funktionen er ikke periodisk. + Message displayed with the function periodicity is not periodic + + + Funktionens periodicitet er ukendt. + Message displayed with the function periodicity is unknown + + + Disse funktioner er for komplekse til at kunne beregnes i Lommeregner: + Error displayed when analysis features cannot be calculated + + + Funktionen har ikke nogen lodrette asymptoter. + Message displayed when the graph does not have any vertical asymptotes + + + Funktionen har ikke nogen x-afbrydelser. + Message displayed when the graph does not have any x-intercepts + + + Funktionen har ikke nogen y-afbrydelser. + Message displayed when the graph does not have any y-intercepts + + + Domæne + Title for KeyGraphFeatures Domain Property + + + Vandret asymptoter + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Bøjningspunkter + Title for KeyGraphFeatures Inflection Points Property + + + Analysen understøttes ikke for denne funktion. + Error displayed when graph analysis is not supported or had an error. + + + Maksima + Title for KeyGraphFeatures Maxima Property + + + Minima + Title for KeyGraphFeatures Minima Property + + + Monotonitet + Title for KeyGraphFeatures Monotonicity Property + + + Skråtstillede asymptoter + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paritet + Title for KeyGraphFeatures Parity Property + + + Periode + Title for KeyGraphFeatures Periodicity Property + + + Interval + Title for KeyGraphFeatures Range Property + + + Lodrette asymptoter + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-skæring + Title for KeyGraphFeatures XIntercept Property + + + Y-skæring + Title for KeyGraphFeatures YIntercept Property + + + Analysen kunne ikke udføres for denne funktion. + + + Domænet for denne funktion kan ikke beregnes. + Error displayed when Domain is not returned from the analyzer. + + + Det er ikke muligt at beregne området for denne funktion. + Error displayed when Range is not returned from the analyzer. + + + Tilbage + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Tilbage + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analysefunktion + This is the tooltip for the analyze function button + + + Analysefunktion + This is the automation name for the analyze function button + + + Analysefunktion + This is the text for the for the analyze function context menu command + + + Fjern ligning + This is the tooltip for the graphing calculator remove equation buttons + + + Fjern ligning + This is the automation name for the graphing calculator remove equation buttons + + + Fjern ligning + This is the text for the for the remove equation context menu command + + + Del + This is the automation name for the graphing calculator share button. + + + Del + This is the tooltip for the graphing calculator share button. + + + Skift ligningens typografi + This is the tooltip for the graphing calculator equation style button + + + Skift ligningens typografi + This is the automation name for the graphing calculator equation style button + + + Skift ligningens typografi + This is the text for the for the equation style context menu command + + + Vis ligning %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Skjul ligning %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Stop sporing + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Start sporing + This is the tooltip/automation name for the graphing calculator start tracing button + + + Diagram visnings vindue, x-akse, der er afgrænset af %1 og %2, y-aksen er afgrænset af %3 og %4, der vises %5 ligninger + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfigurer skyder + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfigurer skyder + This is the automation name text for the slider options button in Graphing Calculator + + + Skift til ligningstilstand + Used in Graphing Calculator to switch the view to the equation mode + + + Skift til graftilstand + Used in Graphing Calculator to switch the view to the graph mode + + + Skift til ligningstilstand + Used in Graphing Calculator to switch the view to the equation mode + + + Den aktuelle tilstand er ligningstilstand + Announcement used in Graphing Calculator when switching to the equation mode + + + Den aktuelle tilstand er graftilstand + Announcement used in Graphing Calculator when switching to the graph mode + + + Vindue + Heading for window extents on the settings + + + Grader + Degrees mode on settings page + + + Nygrader + Gradian mode on settings page + + + Radianer + Radians mode on settings page + + + Enheder + Heading for Unit's on the settings + + + Nulstil visning + Hyperlink button to reset the view of the graph + + + X-maks. + X maximum value header + + + X-min. + X minimum value header + + + Y-maks. + Y Maximum value header + + + Y-min. + Y minimum value header + + + Gitterindstillinger + This is the tooltip text for the grid options button in Graphing Calculator + + + Gitterindstillinger + This is the automation name text for the grid options button in Graphing Calculator + + + Grafindstillinger + Heading for the Graph Options flyout in Graphing mode. + + + Angiv et udtryk + this is the placeholder text used by the textbox to enter an equation + + + Kopiér + Copy menu item for the graph context menu + + + Klip + Cut menu item from the Equation TextBox + + + Kopiér + Copy menu item from the Equation TextBox + + + Sæt ind + Paste menu item from the Equation TextBox + + + Fortryd + Undo menu item from the Equation TextBox + + + Markér alt + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/de-DE/Resources.resw b/src/Calculator/Resources/de-DE/Resources.resw index 2a482758d..2e0e2c826 100644 --- a/src/Calculator/Resources/de-DE/Resources.resw +++ b/src/Calculator/Resources/de-DE/Resources.resw @@ -697,9 +697,9 @@ Löschen Text string for the Calculator Delete swipe button in the History list - - Kopieren - Text string for the Calculator Copy option in the History list context menu + + Kopieren + Text string for the Calculator Copy option in the History list context menu Löschen @@ -867,7 +867,7 @@ Gleich - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Inverse Function @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Immer im Vordergrund + Immer im Vordergrund (ALT+NACH-OBEN) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Zurück zum Vollbildmodus + Zurück zum Vollbildmodus (ALT+NACH-UNTEN) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Fehler bei der Berechnung - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logarithmus zur Basis X @@ -3075,6 +3059,10 @@ Funktion Displayed on the button that contains a flyout for the general functions in scientific mode. + + Ungleichheiten + Displayed on the button that contains a flyout for the inequality functions. + Bitweise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ Wichtigstes Bit Used to describe the last bit of a binary number. Used in bit flip + + Diagramm + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Gleich + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Zeichnen + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Ansicht zurücksetzen (STRG+0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Ansicht zurücksetzen + Screen reader prompt for the reset zoom button. + + + Vergrößern (STRG+Plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Vergrößern + Screen reader prompt for the zoom in button. + + + Verkleinern (STRG+Minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Verkleinern + Screen reader prompt for the zoom out button. + + + Gleichung hinzufügen + Placeholder text for the equation input button + + + Teilen momentan nicht möglich. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Mein mit dem Windows-Rechner erstelltes Diagramm + Sent as part of the shared content. The title for the share. + + + Gleichungen + Header that appears over the equations section when sharing + + + Variablen + Header that appears over the variables section when sharing + + + Abbildung eines Diagramms mit Gleichungen + Alt text for the graph image when output via Share + + + Variablen + Header text for variables area + + + Schritt + Label text for the step text box + + + Min. + Label text for the min text box + + + Max. + Label text for the max text box + + + Linienfarbe + Label for the Line Color section of the style picker + + + Funktionsanalyse + Title for KeyGraphFeatures Control + + + Die Funktion hat keine horizontalen Asymptoten. + Message displayed when the graph does not have any horizontal asymptotes + + + Die Funktion hat keine Wendepunkte. + Message displayed when the graph does not have any inflection points + + + Die Funktion hat keine Maxima. + Message displayed when the graph does not have any maxima + + + Die Funktion hat keine Minima. + Message displayed when the graph does not have any minima + + + Konstante + String describing constant monotonicity of a function + + + Abnehmend + String describing decreasing monotonicity of a function + + + Die Monotonie der Funktion kann nicht ermittelt werden. + Error displayed when monotonicity cannot be determined + + + Zunehmend + String describing increasing monotonicity of a function + + + Die Monotonie der Funktion ist unbekannt. + Error displayed when monotonicity is unknown + + + Die Funktion hat keine schiefen Asymptoten. + Message displayed when the graph does not have any oblique asymptotes + + + Die Parität der Funktion kann nicht ermittelt werden. + Error displayed when parity is cannot be determined + + + Die Funktion ist gerade. + Message displayed with the function parity is even + + + Die Funktion ist weder gerade noch ungerade. + Message displayed with the function parity is neither even nor odd + + + Die Funktion ist ungerade. + Message displayed with the function parity is odd + + + Die Funktionsparität ist unbekannt. + Error displayed when parity is unknown + + + Für diese Funktion wird keine Periodizität unterstützt. + Error displayed when periodicity is not supported + + + Die Funktion ist nicht periodisch. + Message displayed with the function periodicity is not periodic + + + Die Funktionsperiodizität ist unbekannt. + Message displayed with the function periodicity is unknown + + + Die folgenden Merkmale können aufgrund ihrer Komplexität nicht mit dem Rechner berechnet werden: + Error displayed when analysis features cannot be calculated + + + Die Funktion hat keine vertikalen Asymptoten. + Message displayed when the graph does not have any vertical asymptotes + + + Die Funktion hat keine x-Achsenabschnitte. + Message displayed when the graph does not have any x-intercepts + + + Die Funktion hat keine y-Achsenabschnitte. + Message displayed when the graph does not have any y-intercepts + + + Domäne + Title for KeyGraphFeatures Domain Property + + + Horizontale Asymptoten + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Wendepunkte + Title for KeyGraphFeatures Inflection Points Property + + + Für diese Funktion wird keine Analyse unterstützt. + Error displayed when graph analysis is not supported or had an error. + + + Maxima + Title for KeyGraphFeatures Maxima Property + + + Minima + Title for KeyGraphFeatures Minima Property + + + Monotonie + Title for KeyGraphFeatures Monotonicity Property + + + Schiefe Asymptoten + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Parität + Title for KeyGraphFeatures Parity Property + + + Periode + Title for KeyGraphFeatures Periodicity Property + + + Bereich + Title for KeyGraphFeatures Range Property + + + Vertikale Asymptoten + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-Achsenabschnitt + Title for KeyGraphFeatures XIntercept Property + + + Y-Achsenabschnitt + Title for KeyGraphFeatures YIntercept Property + + + Für die Funktion konnte keine Analyse durchgeführt werden. + + + Die Domäne für diese Funktion kann nicht berechnet werden. + Error displayed when Domain is not returned from the analyzer. + + + Der Bereich für diese Funktion kann nicht berechnet werden. + Error displayed when Range is not returned from the analyzer. + + + Zurück + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Zurück + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Funktion analysieren + This is the tooltip for the analyze function button + + + Funktion analysieren + This is the automation name for the analyze function button + + + Funktion analysieren + This is the text for the for the analyze function context menu command + + + Gleichung entfernen + This is the tooltip for the graphing calculator remove equation buttons + + + Gleichung entfernen + This is the automation name for the graphing calculator remove equation buttons + + + Gleichung entfernen + This is the text for the for the remove equation context menu command + + + Teilen + This is the automation name for the graphing calculator share button. + + + Teilen + This is the tooltip for the graphing calculator share button. + + + Gleichungsstil ändern + This is the tooltip for the graphing calculator equation style button + + + Gleichungsstil ändern + This is the automation name for the graphing calculator equation style button + + + Gleichungsstil ändern + This is the text for the for the equation style context menu command + + + Gleichung %1 anzeigen + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Gleichung %1 ausblenden + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Erfassung beenden + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Erfassung starten + This is the tooltip/automation name for the graphing calculator start tracing button + + + Diagrammanzeigefenster, x-Achse begrenzt durch %1 und %2, y-Achse begrenzt durch %3 und %4, Anzeige von %5 Gleichungen + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Schieberegler konfigurieren + This is the tooltip text for the slider options button in Graphing Calculator + + + Schieberegler konfigurieren + This is the automation name text for the slider options button in Graphing Calculator + + + In den Gleichungsmodus wechseln + Used in Graphing Calculator to switch the view to the equation mode + + + In den Diagrammmodus wechseln + Used in Graphing Calculator to switch the view to the graph mode + + + In den Gleichungsmodus wechseln + Used in Graphing Calculator to switch the view to the equation mode + + + Aktueller Modus: Gleichungsmodus + Announcement used in Graphing Calculator when switching to the equation mode + + + Aktueller Modus: Diagrammmodus + Announcement used in Graphing Calculator when switching to the graph mode + + + Fenster + Heading for window extents on the settings + + + Grad + Degrees mode on settings page + + + Gon + Gradian mode on settings page + + + Bogenmaß + Radians mode on settings page + + + Einheiten + Heading for Unit's on the settings + + + Ansicht zurücksetzen + Hyperlink button to reset the view of the graph + + + X-Max + X maximum value header + + + X-Min + X minimum value header + + + Y-Max + Y Maximum value header + + + Y-Min + Y minimum value header + + + Rasteroptionen + This is the tooltip text for the grid options button in Graphing Calculator + + + Rasteroptionen + This is the automation name text for the grid options button in Graphing Calculator + + + Diagrammoptionen + Heading for the Graph Options flyout in Graphing mode. + + + Ausdruck eingeben + this is the placeholder text used by the textbox to enter an equation + + + Kopieren + Copy menu item for the graph context menu + + + Ausschneiden + Cut menu item from the Equation TextBox + + + Kopieren + Copy menu item from the Equation TextBox + + + Einfügen + Paste menu item from the Equation TextBox + + + Rückgängig machen + Undo menu item from the Equation TextBox + + + Alles auswählen + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/el-GR/Resources.resw b/src/Calculator/Resources/el-GR/Resources.resw index 9d177e4c1..0f79b2c42 100644 --- a/src/Calculator/Resources/el-GR/Resources.resw +++ b/src/Calculator/Resources/el-GR/Resources.resw @@ -697,9 +697,9 @@ Διαγραφή Text string for the Calculator Delete swipe button in the History list - - Αντιγραφή - Text string for the Calculator Copy option in the History list context menu + + Αντιγραφή + Text string for the Calculator Copy option in the History list context menu Διαγραφή @@ -867,7 +867,7 @@ Ισούται με - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Αντίστροφη συνάρτηση @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Διατήρηση στην κορυφή + Διατήρηση στην κορυφή (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Επιστροφή στην πλήρη προβολή + Επιστροφή στην πλήρη προβολή (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Ο υπολογισμός απέτυχε - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Βασικός λογάριθμός X @@ -3075,6 +3059,10 @@ Συνάρτηση Displayed on the button that contains a flyout for the general functions in scientific mode. + + Ανισότητες + Displayed on the button that contains a flyout for the inequality functions. + Λειτουργία bit Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ περισσότερο σημαντικό bit Used to describe the last bit of a binary number. Used in bit flip + + Δημιουργία γραφήματος + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Ισούται με + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Σχεδίαση + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Επαναφορά προβολής (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Επαναφορά προβολής + Screen reader prompt for the reset zoom button. + + + Μεγέθυνση (Ctrl + συν) + This is the tool tip automation name for the Calculator zoom in button. + + + Μεγέθυνση + Screen reader prompt for the zoom in button. + + + Σμίκρυνση (Ctrl + μείον) + This is the tool tip automation name for the Calculator zoom out button. + + + Σμίκρυνση + Screen reader prompt for the zoom out button. + + + Προσθήκη εξίσωσης + Placeholder text for the equation input button + + + Δεν είναι δυνατή η κοινή χρήση αυτήν τη στιγμή. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Κοίτα το γράφημα που δημιούργησα με την Αριθμομηχανή των Windows + Sent as part of the shared content. The title for the share. + + + Εξισώσεις + Header that appears over the equations section when sharing + + + Μεταβλητές + Header that appears over the variables section when sharing + + + Εικόνα γραφήματος με εξισώσεις + Alt text for the graph image when output via Share + + + Μεταβλητές + Header text for variables area + + + Βήμα + Label text for the step text box + + + Ελάχιστο + Label text for the min text box + + + Μέγιστο + Label text for the max text box + + + Χρώμα γραμμής + Label for the Line Color section of the style picker + + + Ανάλυση λειτουργίας + Title for KeyGraphFeatures Control + + + Η συνάρτηση δεν διαθέτει οριζόντιες ασύμπτωτες. + Message displayed when the graph does not have any horizontal asymptotes + + + Η συνάρτηση δεν διαθέτει σημεία καμπής. + Message displayed when the graph does not have any inflection points + + + Η συνάρτηση δεν διαθέτει σημεία μέγιστων τιμών. + Message displayed when the graph does not have any maxima + + + Η συνάρτηση δεν διαθέτει σημεία ελάχιστων τιμών. + Message displayed when the graph does not have any minima + + + Σταθερή + String describing constant monotonicity of a function + + + Μείωση + String describing decreasing monotonicity of a function + + + Δεν είναι δυνατός ο προσδιορισμός της μονοτονίας της συνάρτησης. + Error displayed when monotonicity cannot be determined + + + Αύξηση + String describing increasing monotonicity of a function + + + Η μονοτονία της συνάρτησης είναι άγνωστη. + Error displayed when monotonicity is unknown + + + Η συνάρτηση δεν έχει πλάγιες ασύμπτωτες. + Message displayed when the graph does not have any oblique asymptotes + + + Δεν είναι δυνατός ο προσδιορισμός της ισοτιμίας της συνάρτησης. + Error displayed when parity is cannot be determined + + + Η συνάρτηση είναι άρτια. + Message displayed with the function parity is even + + + Η συνάρτηση δεν είναι ούτε άρτια ούτε περιττή. + Message displayed with the function parity is neither even nor odd + + + Η συνάρτηση είναι περιττή. + Message displayed with the function parity is odd + + + Η ισοτιμία της συνάρτησης είναι άγνωστη. + Error displayed when parity is unknown + + + Η περιοδικότητα δεν υποστηρίζεται για αυτήν τη συνάρτηση. + Error displayed when periodicity is not supported + + + Η συνάρτηση δεν είναι περιοδική. + Message displayed with the function periodicity is not periodic + + + Η περιοδικότητα της συνάρτησης είναι άγνωστη. + Message displayed with the function periodicity is unknown + + + Αυτά τα χαρακτηριστικά είναι πολύ περίπλοκα για να υπολογιστούν από την Αριθμομηχανή: + Error displayed when analysis features cannot be calculated + + + Η συνάρτηση δεν έχει κατακόρυφες ασύμπτωτες. + Message displayed when the graph does not have any vertical asymptotes + + + Η συνάρτηση δεν έχει τομές x. + Message displayed when the graph does not have any x-intercepts + + + Η συνάρτηση δεν έχει τομές y. + Message displayed when the graph does not have any y-intercepts + + + Τομέας + Title for KeyGraphFeatures Domain Property + + + Οριζόντιες ασύμπτωτες + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Σημεία καμπής + Title for KeyGraphFeatures Inflection Points Property + + + Η ανάλυση δεν υποστηρίζεται για αυτήν τη συνάρτηση. + Error displayed when graph analysis is not supported or had an error. + + + Μέγιστες τιμές + Title for KeyGraphFeatures Maxima Property + + + Ελάχιστες τιμές + Title for KeyGraphFeatures Minima Property + + + Μονοτονία + Title for KeyGraphFeatures Monotonicity Property + + + Πλάγιες ασύμπτωτες + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Ισοτιμία + Title for KeyGraphFeatures Parity Property + + + Περίοδος + Title for KeyGraphFeatures Periodicity Property + + + Περιοχή + Title for KeyGraphFeatures Range Property + + + Κατακόρυφες ασύμπτωτες + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Τομή X + Title for KeyGraphFeatures XIntercept Property + + + Τομή Y + Title for KeyGraphFeatures YIntercept Property + + + Δεν ήταν δυνατή η εκτέλεση της ανάλυσης για τη συνάρτηση. + + + Δεν είναι δυνατός ο υπολογισμός του τομέα για αυτήν τη συνάρτηση. + Error displayed when Domain is not returned from the analyzer. + + + Δεν είναι δυνατός ο υπολογισμός της περιοχής για αυτήν τη συνάρτηση. + Error displayed when Range is not returned from the analyzer. + + + Πίσω + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Πίσω + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Ανάλυση συνάρτησης + This is the tooltip for the analyze function button + + + Ανάλυση συνάρτησης + This is the automation name for the analyze function button + + + Ανάλυση συνάρτησης + This is the text for the for the analyze function context menu command + + + Κατάργηση εξίσωσης + This is the tooltip for the graphing calculator remove equation buttons + + + Κατάργηση εξίσωσης + This is the automation name for the graphing calculator remove equation buttons + + + Κατάργηση εξίσωσης + This is the text for the for the remove equation context menu command + + + Κοινή χρήση + This is the automation name for the graphing calculator share button. + + + Κοινή χρήση + This is the tooltip for the graphing calculator share button. + + + Αλλαγή στυλ εξίσωσης + This is the tooltip for the graphing calculator equation style button + + + Αλλαγή στυλ εξίσωσης + This is the automation name for the graphing calculator equation style button + + + Αλλαγή στυλ εξίσωσης + This is the text for the for the equation style context menu command + + + Εμφάνιση εξίσωσης %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Απόκρυψη εξίσωσης %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Διακοπή ανίχνευσης + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Έναρξη ανίχνευσης + This is the tooltip/automation name for the graphing calculator start tracing button + + + Παράθυρο προβολής γραφήματος, άξονας x δεσμεύεται από %1 και %2, άξονα y δεσμεύεται από %3 και %4, Εμφάνιση %5 εξισώσεων + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Ρύθμιση παραμέτρων ρυθμιστικού + This is the tooltip text for the slider options button in Graphing Calculator + + + Ρύθμιση παραμέτρων ρυθμιστικού + This is the automation name text for the slider options button in Graphing Calculator + + + Μετάβαση σε λειτουργία εξισώσεων + Used in Graphing Calculator to switch the view to the equation mode + + + Μετάβαση σε λειτουργία γραφημάτων + Used in Graphing Calculator to switch the view to the graph mode + + + Μετάβαση σε λειτουργία εξισώσεων + Used in Graphing Calculator to switch the view to the equation mode + + + Η τρέχουσα κατάσταση λειτουργίας είναι η λειτουργία εξισώσεων + Announcement used in Graphing Calculator when switching to the equation mode + + + Η τρέχουσα κατάσταση λειτουργίας είναι η λειτουργία γραφημάτων + Announcement used in Graphing Calculator when switching to the graph mode + + + Παράθυρο + Heading for window extents on the settings + + + Μοίρες + Degrees mode on settings page + + + Βαθμοί + Gradian mode on settings page + + + Ακτίνια + Radians mode on settings page + + + Μονάδες + Heading for Unit's on the settings + + + Επαναφορά προβολής + Hyperlink button to reset the view of the graph + + + X-μέγιστο + X maximum value header + + + X-ελάχιστο + X minimum value header + + + Y-μέγιστο + Y Maximum value header + + + Y-ελάχιστο + Y minimum value header + + + Επιλογές πλέγματος + This is the tooltip text for the grid options button in Graphing Calculator + + + Επιλογές πλέγματος + This is the automation name text for the grid options button in Graphing Calculator + + + Επιλογές γραφήματος + Heading for the Graph Options flyout in Graphing mode. + + + Εισαγάγετε μια παράσταση + this is the placeholder text used by the textbox to enter an equation + + + Αντιγραφή + Copy menu item for the graph context menu + + + Αποκοπή + Cut menu item from the Equation TextBox + + + Αντιγραφή + Copy menu item from the Equation TextBox + + + Επικόλληση + Paste menu item from the Equation TextBox + + + Αναίρεση + Undo menu item from the Equation TextBox + + + Επιλογή όλων + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/en-GB/Resources.resw b/src/Calculator/Resources/en-GB/Resources.resw index 2dd3cc9a4..bbcac4b25 100644 --- a/src/Calculator/Resources/en-GB/Resources.resw +++ b/src/Calculator/Resources/en-GB/Resources.resw @@ -697,9 +697,9 @@ Delete Text string for the Calculator Delete swipe button in the History list - - Copy - Text string for the Calculator Copy option in the History list context menu + + Copy + Text string for the Calculator Copy option in the History list context menu Delete @@ -867,7 +867,7 @@ Equals - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Inverse Function @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Keep on top + Keep on top (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Back to full view + Back to full view (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Calculation failed - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Log base X @@ -3075,6 +3059,10 @@ Function Displayed on the button that contains a flyout for the general functions in scientific mode. + + Inequalities + Displayed on the button that contains a flyout for the inequality functions. + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ most significant bit Used to describe the last bit of a binary number. Used in bit flip + + Graphing + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Equals + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Plot + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Reset View (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Reset View + Screen reader prompt for the reset zoom button. + + + Zoom In (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Zoom In + Screen reader prompt for the zoom in button. + + + Zoom Out (Ctrl + minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Zoom Out + Screen reader prompt for the zoom out button. + + + Add Equation + Placeholder text for the equation input button + + + Unable to share at this time. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Look what I graphed with Windows Calculator + Sent as part of the shared content. The title for the share. + + + Equations + Header that appears over the equations section when sharing + + + Variables + Header that appears over the variables section when sharing + + + Image of a graph with equations + Alt text for the graph image when output via Share + + + Variables + Header text for variables area + + + Step + Label text for the step text box + + + Min + Label text for the min text box + + + Max + Label text for the max text box + + + Line Colour + Label for the Line Color section of the style picker + + + Function analysis + Title for KeyGraphFeatures Control + + + The function does not have any horizontal asymptotes. + Message displayed when the graph does not have any horizontal asymptotes + + + The function does not have any inflection points. + Message displayed when the graph does not have any inflection points + + + The function does not have any maxima points. + Message displayed when the graph does not have any maxima + + + The function does not have any minima points. + Message displayed when the graph does not have any minima + + + Constant + String describing constant monotonicity of a function + + + Decreasing + String describing decreasing monotonicity of a function + + + Unable to determine the monotonicity of the function. + Error displayed when monotonicity cannot be determined + + + Increasing + String describing increasing monotonicity of a function + + + The monotonicity of the function is unknown. + Error displayed when monotonicity is unknown + + + The function does not have any oblique aysmptotes. + Message displayed when the graph does not have any oblique asymptotes + + + Unable to determine the parity of the function. + Error displayed when parity is cannot be determined + + + The function is even. + Message displayed with the function parity is even + + + The function is neither even nor odd. + Message displayed with the function parity is neither even nor odd + + + The function is odd. + Message displayed with the function parity is odd + + + The function parity is unknown. + Error displayed when parity is unknown + + + Periodicity is not supported for this function. + Error displayed when periodicity is not supported + + + The function is not periodic. + Message displayed with the function periodicity is not periodic + + + The function periodicity is unknown. + Message displayed with the function periodicity is unknown + + + These features are too complex for Calculator to calculate: + Error displayed when analysis features cannot be calculated + + + The function does not have any vertical asymptotes. + Message displayed when the graph does not have any vertical asymptotes + + + The function does not have any x-intercepts. + Message displayed when the graph does not have any x-intercepts + + + The function does not have any y-intercepts. + Message displayed when the graph does not have any y-intercepts + + + Domain + Title for KeyGraphFeatures Domain Property + + + Horizontal Asymptotes + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Inflection Points + Title for KeyGraphFeatures Inflection Points Property + + + Analysis is not supported for this function. + Error displayed when graph analysis is not supported or had an error. + + + Maxima + Title for KeyGraphFeatures Maxima Property + + + Minima + Title for KeyGraphFeatures Minima Property + + + Monotonicity + Title for KeyGraphFeatures Monotonicity Property + + + Oblique Asymptotes + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Parity + Title for KeyGraphFeatures Parity Property + + + Period + Title for KeyGraphFeatures Periodicity Property + + + Range + Title for KeyGraphFeatures Range Property + + + Vertical Asymptotes + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-Intercept + Title for KeyGraphFeatures XIntercept Property + + + Y-Intercept + Title for KeyGraphFeatures YIntercept Property + + + Analysis could not be performed for the function. + + + Unable to calculate the domain for this function. + Error displayed when Domain is not returned from the analyzer. + + + Unable to calculate the range for this function. + Error displayed when Range is not returned from the analyzer. + + + Back + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Back + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analyse function + This is the tooltip for the analyze function button + + + Analyse function + This is the automation name for the analyze function button + + + Analyse function + This is the text for the for the analyze function context menu command + + + Remove equation + This is the tooltip for the graphing calculator remove equation buttons + + + Remove equation + This is the automation name for the graphing calculator remove equation buttons + + + Remove equation + This is the text for the for the remove equation context menu command + + + Share + This is the automation name for the graphing calculator share button. + + + Share + This is the tooltip for the graphing calculator share button. + + + Change equation style + This is the tooltip for the graphing calculator equation style button + + + Change equation style + This is the automation name for the graphing calculator equation style button + + + Change equation style + This is the text for the for the equation style context menu command + + + Show equation %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Hide equation %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Stop tracing + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Start tracing + This is the tooltip/automation name for the graphing calculator start tracing button + + + Graph viewing window, x-axis bounded by %1 and %2, y-axis bounded by %3 and %4, displaying %5 equations + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Configure slider + This is the tooltip text for the slider options button in Graphing Calculator + + + Configure slider + This is the automation name text for the slider options button in Graphing Calculator + + + Switch to equation mode + Used in Graphing Calculator to switch the view to the equation mode + + + Switch to graph mode + Used in Graphing Calculator to switch the view to the graph mode + + + Switch to equation mode + Used in Graphing Calculator to switch the view to the equation mode + + + Current mode is equation mode + Announcement used in Graphing Calculator when switching to the equation mode + + + Current mode is graph mode + Announcement used in Graphing Calculator when switching to the graph mode + + + Window + Heading for window extents on the settings + + + Degrees + Degrees mode on settings page + + + Gradians + Gradian mode on settings page + + + Radians + Radians mode on settings page + + + Units + Heading for Unit's on the settings + + + Reset view + Hyperlink button to reset the view of the graph + + + X-Max + X maximum value header + + + X-Min + X minimum value header + + + Y-Max + Y Maximum value header + + + Y-Min + Y minimum value header + + + Grid options + This is the tooltip text for the grid options button in Graphing Calculator + + + Grid options + This is the automation name text for the grid options button in Graphing Calculator + + + Graph Options + Heading for the Graph Options flyout in Graphing mode. + + + Enter an expression + this is the placeholder text used by the textbox to enter an equation + + + Copy + Copy menu item for the graph context menu + + + Cut + Cut menu item from the Equation TextBox + + + Copy + Copy menu item from the Equation TextBox + + + Paste + Paste menu item from the Equation TextBox + + + Undo + Undo menu item from the Equation TextBox + + + Select all + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/es-ES/Resources.resw b/src/Calculator/Resources/es-ES/Resources.resw index 6bed29928..1e669c4cc 100644 --- a/src/Calculator/Resources/es-ES/Resources.resw +++ b/src/Calculator/Resources/es-ES/Resources.resw @@ -697,9 +697,9 @@ Eliminar Text string for the Calculator Delete swipe button in the History list - - Copiar - Text string for the Calculator Copy option in the History list context menu + + Copiar + Text string for the Calculator Copy option in the History list context menu Eliminar @@ -867,7 +867,7 @@ Es igual a - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Inverse Function @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Mantener en la parte superior + Mantener en la parte superior (Alt+Flecha arriba) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Volver a la vista completa + Volver a la vista completa (Alt+Flecha abajo) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Error de cálculo - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Base de registro X @@ -3075,6 +3059,10 @@ Función Displayed on the button that contains a flyout for the general functions in scientific mode. + + Desigualdades + Displayed on the button that contains a flyout for the inequality functions. + Bit a bit Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ bit más significativo Used to describe the last bit of a binary number. Used in bit flip + + Representación gráfica + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Es igual a + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Trazado + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Restablecer vista (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Restablecer vista + Screen reader prompt for the reset zoom button. + + + Acercar (Ctrl + signo más) + This is the tool tip automation name for the Calculator zoom in button. + + + Acercar + Screen reader prompt for the zoom in button. + + + Alejar (Ctrl + signo menos) + This is the tool tip automation name for the Calculator zoom out button. + + + Alejar + Screen reader prompt for the zoom out button. + + + Agregar ecuación + Placeholder text for the equation input button + + + No se puede compartir en este momento. + If there is an error in the sharing action will display a dialog with this text. + + + Aceptar + Used on the dismiss button of the share action error dialog. + + + Mira los gráficos que he hecho con la Calculadora de Windows + Sent as part of the shared content. The title for the share. + + + Ecuaciones + Header that appears over the equations section when sharing + + + Variables + Header that appears over the variables section when sharing + + + Imagen de un gráfico con ecuaciones + Alt text for the graph image when output via Share + + + Variables + Header text for variables area + + + Paso + Label text for the step text box + + + Mín. + Label text for the min text box + + + Máx. + Label text for the max text box + + + Color de línea + Label for the Line Color section of the style picker + + + Análisis de función + Title for KeyGraphFeatures Control + + + La función no tiene ninguna asíntota horizontal. + Message displayed when the graph does not have any horizontal asymptotes + + + La función no tiene ningún punto de inflexión. + Message displayed when the graph does not have any inflection points + + + La función no tiene ningún máximo. + Message displayed when the graph does not have any maxima + + + La función no tiene ningún mínimo. + Message displayed when the graph does not have any minima + + + Constante + String describing constant monotonicity of a function + + + Decreciente + String describing decreasing monotonicity of a function + + + No se puede determinar la monotonía de la función. + Error displayed when monotonicity cannot be determined + + + Creciente + String describing increasing monotonicity of a function + + + Se desconoce la monotonía de la función. + Error displayed when monotonicity is unknown + + + La función no tiene ninguna asíntota oblicua. + Message displayed when the graph does not have any oblique asymptotes + + + No se puede determinar la paridad de la función. + Error displayed when parity is cannot be determined + + + La función es par. + Message displayed with the function parity is even + + + La función no es ni par ni impar. + Message displayed with the function parity is neither even nor odd + + + La función es impar. + Message displayed with the function parity is odd + + + Se desconoce la paridad de la función. + Error displayed when parity is unknown + + + La periodicidad no es compatible en esta función. + Error displayed when periodicity is not supported + + + La función no es periódica. + Message displayed with the function periodicity is not periodic + + + Se desconoce la periodicidad de la función. + Message displayed with the function periodicity is unknown + + + Estas características son demasiado complejas para que la Calculadora las calcule: + Error displayed when analysis features cannot be calculated + + + La función no tiene ninguna asíntota vertical. + Message displayed when the graph does not have any vertical asymptotes + + + La función no tiene ninguna intersección x. + Message displayed when the graph does not have any x-intercepts + + + La función no tiene ninguna intercepción y. + Message displayed when the graph does not have any y-intercepts + + + Dominio + Title for KeyGraphFeatures Domain Property + + + Asíntotas horizontales + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Puntos de inflexión + Title for KeyGraphFeatures Inflection Points Property + + + Los análisis no son compatibles en esta función. + Error displayed when graph analysis is not supported or had an error. + + + Máxima + Title for KeyGraphFeatures Maxima Property + + + Mínima + Title for KeyGraphFeatures Minima Property + + + Función monótona + Title for KeyGraphFeatures Monotonicity Property + + + Asíntotas oblicuas + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paridad + Title for KeyGraphFeatures Parity Property + + + Período + Title for KeyGraphFeatures Periodicity Property + + + Intervalo + Title for KeyGraphFeatures Range Property + + + Asíntotas verticales + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Intersección X + Title for KeyGraphFeatures XIntercept Property + + + Intersección Y + Title for KeyGraphFeatures YIntercept Property + + + No se pudo realizar el análisis de la función. + + + No se puede calcular el dominio de esta función. + Error displayed when Domain is not returned from the analyzer. + + + No se puede calcular el intervalo para esta función. + Error displayed when Range is not returned from the analyzer. + + + Atrás + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Atrás + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analizar función + This is the tooltip for the analyze function button + + + Analizar función + This is the automation name for the analyze function button + + + Analizar función + This is the text for the for the analyze function context menu command + + + Quitar ecuación + This is the tooltip for the graphing calculator remove equation buttons + + + Quitar ecuación + This is the automation name for the graphing calculator remove equation buttons + + + Quitar ecuación + This is the text for the for the remove equation context menu command + + + Compartir + This is the automation name for the graphing calculator share button. + + + Compartir + This is the tooltip for the graphing calculator share button. + + + Cambiar estilo de ecuación + This is the tooltip for the graphing calculator equation style button + + + Cambiar estilo de ecuación + This is the automation name for the graphing calculator equation style button + + + Cambiar estilo de ecuación + This is the text for the for the equation style context menu command + + + Mostrar ecuación %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Ocultar ecuación %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Detener seguimiento + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Iniciar seguimiento + This is the tooltip/automation name for the graphing calculator start tracing button + + + Ventana de visualización de gráficos, eje x delimitado por %1 y %2, eje y limitado por %3 y %4, mostrando %5 ecuaciones + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Configurar control deslizante + This is the tooltip text for the slider options button in Graphing Calculator + + + Configurar control deslizante + This is the automation name text for the slider options button in Graphing Calculator + + + Cambiar al modo de ecuación + Used in Graphing Calculator to switch the view to the equation mode + + + Cambiar al modo de gráfico + Used in Graphing Calculator to switch the view to the graph mode + + + Cambiar al modo de ecuación + Used in Graphing Calculator to switch the view to the equation mode + + + El modo actual es el modo de ecuación + Announcement used in Graphing Calculator when switching to the equation mode + + + El modo actual es el modo de gráfico + Announcement used in Graphing Calculator when switching to the graph mode + + + Ventana + Heading for window extents on the settings + + + Grados + Degrees mode on settings page + + + Gradianes + Gradian mode on settings page + + + Radianes + Radians mode on settings page + + + Unidades + Heading for Unit's on the settings + + + Restablecer vista + Hyperlink button to reset the view of the graph + + + X-máx. + X maximum value header + + + X-mín. + X minimum value header + + + Y-máx. + Y Maximum value header + + + Y-mín. + Y minimum value header + + + Opciones de cuadrícula + This is the tooltip text for the grid options button in Graphing Calculator + + + Opciones de cuadrícula + This is the automation name text for the grid options button in Graphing Calculator + + + Opciones de gráfico + Heading for the Graph Options flyout in Graphing mode. + + + Escribir una expresión + this is the placeholder text used by the textbox to enter an equation + + + Copiar + Copy menu item for the graph context menu + + + Cortar + Cut menu item from the Equation TextBox + + + Copiar + Copy menu item from the Equation TextBox + + + Pegar + Paste menu item from the Equation TextBox + + + Deshacer + Undo menu item from the Equation TextBox + + + Seleccionar todo + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/es-MX/Resources.resw b/src/Calculator/Resources/es-MX/Resources.resw index 76a7ca723..f0b5cf5e1 100644 --- a/src/Calculator/Resources/es-MX/Resources.resw +++ b/src/Calculator/Resources/es-MX/Resources.resw @@ -697,9 +697,9 @@ Eliminar Text string for the Calculator Delete swipe button in the History list - - Copiar - Text string for the Calculator Copy option in the History list context menu + + Copiar + Text string for the Calculator Copy option in the History list context menu Eliminar @@ -867,7 +867,7 @@ Es igual a - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Invertir función @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Mantener visible + Mantener visible (Alt+Arriba) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Volver a vista completa + Volver a la vista completa (Alt+Abajo) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Error en el cálculo - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logaritmo en base X @@ -3075,6 +3059,10 @@ Función Displayed on the button that contains a flyout for the general functions in scientific mode. + + Desigualdades + Displayed on the button that contains a flyout for the inequality functions. + Bit a bit Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ bit más significativo Used to describe the last bit of a binary number. Used in bit flip + + Representación gráfica + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Es igual a + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Trazar + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Restablecer vista (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Restablecer vista + Screen reader prompt for the reset zoom button. + + + Acercar (Ctrl + Más) + This is the tool tip automation name for the Calculator zoom in button. + + + Acercar + Screen reader prompt for the zoom in button. + + + Alejar (Ctrl + Menos) + This is the tool tip automation name for the Calculator zoom out button. + + + Alejar + Screen reader prompt for the zoom out button. + + + Agregar ecuación + Placeholder text for the equation input button + + + No se puede compartir en este momento. + If there is an error in the sharing action will display a dialog with this text. + + + Aceptar + Used on the dismiss button of the share action error dialog. + + + Mira el gráfico que hice con la Calculadora de Windows + Sent as part of the shared content. The title for the share. + + + Ecuaciones + Header that appears over the equations section when sharing + + + Variables + Header that appears over the variables section when sharing + + + Imagen de un gráfico con ecuaciones + Alt text for the graph image when output via Share + + + Variables + Header text for variables area + + + Acción + Label text for the step text box + + + Mín. + Label text for the min text box + + + Máx. + Label text for the max text box + + + Color de línea + Label for the Line Color section of the style picker + + + Análisis de funciones + Title for KeyGraphFeatures Control + + + La función no tiene asíntotas horizontales. + Message displayed when the graph does not have any horizontal asymptotes + + + La función no tiene ningún punto de inflexión. + Message displayed when the graph does not have any inflection points + + + La función no tiene ningún punto máximo. + Message displayed when the graph does not have any maxima + + + La función no tiene ningún punto mínimo. + Message displayed when the graph does not have any minima + + + Constante + String describing constant monotonicity of a function + + + Decreciente + String describing decreasing monotonicity of a function + + + No se puede determinar la monotonía de la función. + Error displayed when monotonicity cannot be determined + + + Creciente + String describing increasing monotonicity of a function + + + La monotonía de la función es desconocida. + Error displayed when monotonicity is unknown + + + La función no tiene asíntotas oblicuas. + Message displayed when the graph does not have any oblique asymptotes + + + No se puede determinar la paridad de la función. + Error displayed when parity is cannot be determined + + + La función es par. + Message displayed with the function parity is even + + + La función no es ni par ni impar. + Message displayed with the function parity is neither even nor odd + + + La función es impar. + Message displayed with the function parity is odd + + + La paridad de la función es desconocida. + Error displayed when parity is unknown + + + No se admite la periodicidad per la función. + Error displayed when periodicity is not supported + + + La función no es periódica. + Message displayed with the function periodicity is not periodic + + + La periodicidad de la función es desconocida. + Message displayed with the function periodicity is unknown + + + Estas características son demasiado complejas para que la Calculadora las calcule: + Error displayed when analysis features cannot be calculated + + + La función no tiene asíntotas verticales. + Message displayed when the graph does not have any vertical asymptotes + + + La función no tiene ninguna intersección con el eje x. + Message displayed when the graph does not have any x-intercepts + + + La función no tiene ninguna intersección con el eje y. + Message displayed when the graph does not have any y-intercepts + + + Dominio + Title for KeyGraphFeatures Domain Property + + + Asíntotas horizontales + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Puntos de inflexión + Title for KeyGraphFeatures Inflection Points Property + + + No se admite el análisis para la función. + Error displayed when graph analysis is not supported or had an error. + + + Máximos + Title for KeyGraphFeatures Maxima Property + + + Mínimos + Title for KeyGraphFeatures Minima Property + + + Monotonía + Title for KeyGraphFeatures Monotonicity Property + + + Asíntotas oblicuas + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paridad + Title for KeyGraphFeatures Parity Property + + + Período + Title for KeyGraphFeatures Periodicity Property + + + Intervalo + Title for KeyGraphFeatures Range Property + + + Asíntotas verticales + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Intersección con el eje X + Title for KeyGraphFeatures XIntercept Property + + + Intersección con el eje Y + Title for KeyGraphFeatures YIntercept Property + + + No se pudo realizar el análisis de la función. + + + No se puede calcular el dominio de la función. + Error displayed when Domain is not returned from the analyzer. + + + No se puede calcular el intervalo de la función. + Error displayed when Range is not returned from the analyzer. + + + Atrás + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Atrás + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analizar función + This is the tooltip for the analyze function button + + + Analizar función + This is the automation name for the analyze function button + + + Analizar función + This is the text for the for the analyze function context menu command + + + Quitar ecuación + This is the tooltip for the graphing calculator remove equation buttons + + + Quitar ecuación + This is the automation name for the graphing calculator remove equation buttons + + + Quitar ecuación + This is the text for the for the remove equation context menu command + + + Compartir + This is the automation name for the graphing calculator share button. + + + Compartir + This is the tooltip for the graphing calculator share button. + + + Cambiar estilo de ecuación + This is the tooltip for the graphing calculator equation style button + + + Cambiar estilo de ecuación + This is the automation name for the graphing calculator equation style button + + + Cambiar estilo de ecuación + This is the text for the for the equation style context menu command + + + Mostrar ecuación %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Ocultar ecuación %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Detener seguimiento + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Iniciar seguimiento + This is the tooltip/automation name for the graphing calculator start tracing button + + + Ventana de visualización de gráficos, eje x delimitado por %1 y %2, eje y limitado por %3 y %4, mostrando %5 ecuaciones + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Configurar control deslizante + This is the tooltip text for the slider options button in Graphing Calculator + + + Configurar control deslizante + This is the automation name text for the slider options button in Graphing Calculator + + + Cambiar al modo de ecuación + Used in Graphing Calculator to switch the view to the equation mode + + + Cambiar al modo de gráfico + Used in Graphing Calculator to switch the view to the graph mode + + + Cambiar al modo de ecuación + Used in Graphing Calculator to switch the view to the equation mode + + + El modo actual es el modo de ecuación + Announcement used in Graphing Calculator when switching to the equation mode + + + El modo actual es el modo de gráfico + Announcement used in Graphing Calculator when switching to the graph mode + + + Ventana + Heading for window extents on the settings + + + Grados + Degrees mode on settings page + + + Grados centesimales + Gradian mode on settings page + + + Radianes + Radians mode on settings page + + + Unidades + Heading for Unit's on the settings + + + Restablecer vista + Hyperlink button to reset the view of the graph + + + Máx. de X + X maximum value header + + + Mín. de X + X minimum value header + + + Máx. de Y + Y Maximum value header + + + Mín. de Y + Y minimum value header + + + Opciones de cuadrícula + This is the tooltip text for the grid options button in Graphing Calculator + + + Opciones de cuadrícula + This is the automation name text for the grid options button in Graphing Calculator + + + Opciones de gráfico + Heading for the Graph Options flyout in Graphing mode. + + + Escribe una expresión + this is the placeholder text used by the textbox to enter an equation + + + Copiar + Copy menu item for the graph context menu + + + Cortar + Cut menu item from the Equation TextBox + + + Copiar + Copy menu item from the Equation TextBox + + + Pegar + Paste menu item from the Equation TextBox + + + Deshacer + Undo menu item from the Equation TextBox + + + Seleccionar todo + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/et-EE/Resources.resw b/src/Calculator/Resources/et-EE/Resources.resw index 58e17c484..4f7e16d63 100644 --- a/src/Calculator/Resources/et-EE/Resources.resw +++ b/src/Calculator/Resources/et-EE/Resources.resw @@ -697,9 +697,9 @@ Kustuta Text string for the Calculator Delete swipe button in the History list - - Kopeeri - Text string for the Calculator Copy option in the History list context menu + + Kopeeri + Text string for the Calculator Copy option in the History list context menu Kustuta @@ -867,7 +867,7 @@ Võrdub - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Pöördfunktsioon @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Hoia kõige peal + Alati kõige peal (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Tagasi täisekraanvaatesse + Tagasi täisekraanvaatesse (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Arvutamine nurjus - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logi alus X @@ -3075,6 +3059,10 @@ Funktsioon Displayed on the button that contains a flyout for the general functions in scientific mode. + + Võrratused + Displayed on the button that contains a flyout for the inequality functions. + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ kõrgeim bitt Used to describe the last bit of a binary number. Used in bit flip + + Graafiline esitus + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Võrdub + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Diagramm + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Lähtesta vaade (Ctrl+0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Lähtesta vaade + Screen reader prompt for the reset zoom button. + + + Suurenda (Ctrl+plussmärgiklahv) + This is the tool tip automation name for the Calculator zoom in button. + + + Suurenda + Screen reader prompt for the zoom in button. + + + Vähenda (Ctrl+miinusmärgiklahv) + This is the tool tip automation name for the Calculator zoom out button. + + + Vähenda + Screen reader prompt for the zoom out button. + + + Lisa võrrand + Placeholder text for the equation input button + + + Jagamine pole praegu võimalik. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Vaadake, millest ma Windowsi kalkulaatoriga graafiku koostasin + Sent as part of the shared content. The title for the share. + + + Võrrandid + Header that appears over the equations section when sharing + + + Muutujad + Header that appears over the variables section when sharing + + + Võrranditega graafiku pilt + Alt text for the graph image when output via Share + + + Muutujad + Header text for variables area + + + Etapp + Label text for the step text box + + + Min + Label text for the min text box + + + Max + Label text for the max text box + + + Joone värv + Label for the Line Color section of the style picker + + + Funktsiooni analüüs + Title for KeyGraphFeatures Control + + + Funktsioonil pole horisontaalseid asümptoote. + Message displayed when the graph does not have any horizontal asymptotes + + + Funktsioonil pole käänupunkte. + Message displayed when the graph does not have any inflection points + + + Funktsioonil pole maksimumpunkte. + Message displayed when the graph does not have any maxima + + + Funktsioonil pole miinimumpunkte. + Message displayed when the graph does not have any minima + + + Konstant + String describing constant monotonicity of a function + + + Vähenev + String describing decreasing monotonicity of a function + + + Funktsiooni monotoonsust ei saa määratleda. + Error displayed when monotonicity cannot be determined + + + Suurenev + String describing increasing monotonicity of a function + + + Funktsiooni monotoonsus pole teada. + Error displayed when monotonicity is unknown + + + Funktsioonil pole kaldasümptoote. + Message displayed when the graph does not have any oblique asymptotes + + + Funktsiooni paarsust ei saa määratleda. + Error displayed when parity is cannot be determined + + + Funktsioon on paaris. + Message displayed with the function parity is even + + + Funktsioon pole paaris ega paaritu. + Message displayed with the function parity is neither even nor odd + + + Funktsioon on paaritu. + Message displayed with the function parity is odd + + + Funktsiooni paarsus pole teada. + Error displayed when parity is unknown + + + See funktsioon ei toeta perioodilisust. + Error displayed when periodicity is not supported + + + Funktsioon pole perioodiline. + Message displayed with the function periodicity is not periodic + + + Funktsiooni perioodilisus pole teada. + Message displayed with the function periodicity is unknown + + + Need funktsioonid on kalkulaatori jaoks arvutamiseks liiga keerukad: + Error displayed when analysis features cannot be calculated + + + Funktsioonil pole vertikaalseid asümptoote. + Message displayed when the graph does not have any vertical asymptotes + + + Funktsioonil pole ühtegi x-telje lõikepunkti. + Message displayed when the graph does not have any x-intercepts + + + Funktsioonil pole ühtegi y-telje lõikepunkti. + Message displayed when the graph does not have any y-intercepts + + + Domeen + Title for KeyGraphFeatures Domain Property + + + Horisontaalsed asümptoodid + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Käänupunktid + Title for KeyGraphFeatures Inflection Points Property + + + See funktsioon ei toeta analüüsi. + Error displayed when graph analysis is not supported or had an error. + + + Maksimum + Title for KeyGraphFeatures Maxima Property + + + Miinimum + Title for KeyGraphFeatures Minima Property + + + Monotoonsus + Title for KeyGraphFeatures Monotonicity Property + + + Kaldasümptoodid + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paarsus + Title for KeyGraphFeatures Parity Property + + + Perioodilisus + Title for KeyGraphFeatures Periodicity Property + + + Vahemik + Title for KeyGraphFeatures Range Property + + + Vertikaalsed asümptoodid + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-telje lõikepunkt + Title for KeyGraphFeatures XIntercept Property + + + Y-telje lõikepunkt + Title for KeyGraphFeatures YIntercept Property + + + Funktsiooni analüüsi ei saanud teha. + + + Selle funktsiooni jaoks ei saanud domeeni arvutada. + Error displayed when Domain is not returned from the analyzer. + + + Selle funktsiooni vahemikku ei saa arvutada. + Error displayed when Range is not returned from the analyzer. + + + Tagasi + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Tagasi + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analüüsi funktsiooni + This is the tooltip for the analyze function button + + + Analüüsi funktsiooni + This is the automation name for the analyze function button + + + Analüüsi funktsiooni + This is the text for the for the analyze function context menu command + + + Saate eemaldada võrrandi + This is the tooltip for the graphing calculator remove equation buttons + + + Eemalda võrrand + This is the automation name for the graphing calculator remove equation buttons + + + Eemalda võrrand + This is the text for the for the remove equation context menu command + + + Jaga + This is the automation name for the graphing calculator share button. + + + Jaga + This is the tooltip for the graphing calculator share button. + + + Saate muuta võrrandi laadi + This is the tooltip for the graphing calculator equation style button + + + Muuda võrrandi laadi + This is the automation name for the graphing calculator equation style button + + + Muuda võrrandi laadi + This is the text for the for the equation style context menu command + + + Kuva võrrand %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Peida võrrand %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Lõpeta jälgimine + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Alusta jälgimist + This is the tooltip/automation name for the graphing calculator start tracing button + + + Graphi kuvamine akna, x-telje bounded %1 ja %2, y-telje bounded %3 ja %4, kuvamine %5 võrrandid + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Saate konfigureerida liuguri + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfigureeri liugur + This is the automation name text for the slider options button in Graphing Calculator + + + Aktiveeri võrrandirežiim + Used in Graphing Calculator to switch the view to the equation mode + + + Saate aktiveerida graafikurežiimi + Used in Graphing Calculator to switch the view to the graph mode + + + Aktiveeri võrrandirežiim + Used in Graphing Calculator to switch the view to the equation mode + + + Praegune režiim on võrrandirežiim + Announcement used in Graphing Calculator when switching to the equation mode + + + Praegune režiim on graafikurežiim + Announcement used in Graphing Calculator when switching to the graph mode + + + Aken + Heading for window extents on the settings + + + Kraadid + Degrees mode on settings page + + + Goonid + Gradian mode on settings page + + + Radiaanid + Radians mode on settings page + + + Ühikud + Heading for Unit's on the settings + + + Lähtesta vaade + Hyperlink button to reset the view of the graph + + + X-telje maksimumväärtus + X maximum value header + + + X-telje miinimumväärtus + X minimum value header + + + Y-telje maksimumväärtus + Y Maximum value header + + + Y-telje miinimumväärtus + Y minimum value header + + + Ruudustikusuvandid + This is the tooltip text for the grid options button in Graphing Calculator + + + Ruudustikusuvandid + This is the automation name text for the grid options button in Graphing Calculator + + + Graafikusuvandid + Heading for the Graph Options flyout in Graphing mode. + + + Sisestage avaldis + this is the placeholder text used by the textbox to enter an equation + + + Kopeeri + Copy menu item for the graph context menu + + + Lõika + Cut menu item from the Equation TextBox + + + Kopeeri + Copy menu item from the Equation TextBox + + + Kleebi + Paste menu item from the Equation TextBox + + + Võta tagasi + Undo menu item from the Equation TextBox + + + Vali kõik + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/eu-ES/Resources.resw b/src/Calculator/Resources/eu-ES/Resources.resw index 241f0b3e6..8f16ddcde 100644 --- a/src/Calculator/Resources/eu-ES/Resources.resw +++ b/src/Calculator/Resources/eu-ES/Resources.resw @@ -698,9 +698,9 @@ Ezabatu Text string for the Calculator Delete swipe button in the History list - - Kopiatu - Text string for the Calculator Copy option in the History list context menu + + Kopiatu + Text string for the Calculator Copy option in the History list context menu Ezabatu @@ -868,7 +868,7 @@ Berdin - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Alderantzikatzeko funtzioa @@ -1075,11 +1075,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Mantendu goran + Mantendu goran (Alt+Gora) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Itzuli ikuspegi osora + Itzuli ikuspegi osora (Alt+Behera) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2692,10 +2692,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2708,18 +2704,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3062,7 +3046,7 @@ Ezin izan da kalkulatu - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Egunkariaren oinarrizko X @@ -3076,6 +3060,10 @@ Funtzioa Displayed on the button that contains a flyout for the general functions in scientific mode. + + Desberdintasunak + Displayed on the button that contains a flyout for the inequality functions. + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3252,4 +3240,427 @@ bit esanguratsuenak Used to describe the last bit of a binary number. Used in bit flip + + Grafikoak sortzea + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Berdin + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Marraztu + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Berrezarri ikuspegia (Ktrl+0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Berrezarri ikuspegia + Screen reader prompt for the reset zoom button. + + + Handiagotu (Ktrl+plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Handiagotu + Screen reader prompt for the zoom in button. + + + Txikiagotu (Ktrl+minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Txikiagotu + Screen reader prompt for the zoom out button. + + + Gehitu ekuazioa + Placeholder text for the equation input button + + + Ezin da partekatu une honetan. + If there is an error in the sharing action will display a dialog with this text. + + + Ados + Used on the dismiss button of the share action error dialog. + + + Ikusi zer grafiko egin dudan Windows Kalkulagailua erabiliz + Sent as part of the shared content. The title for the share. + + + Ekuazioak + Header that appears over the equations section when sharing + + + Aldagaiak + Header that appears over the variables section when sharing + + + Ekuazioak dituen diagrama baten irudia + Alt text for the graph image when output via Share + + + Aldagaiak + Header text for variables area + + + Urratsa + Label text for the step text box + + + Min + Label text for the min text box + + + Max + Label text for the max text box + + + Marraren kolorea + Label for the Line Color section of the style picker + + + Funtzio-analisia + Title for KeyGraphFeatures Control + + + Funtzioak ez du asintota horizontalik. + Message displayed when the graph does not have any horizontal asymptotes + + + Funtzioak ez du inflexio-punturik. + Message displayed when the graph does not have any inflection points + + + Funtzioak ez du puntu gehienekorik. + Message displayed when the graph does not have any maxima + + + Funtzioak ez du puntu gutxienekorik. + Message displayed when the graph does not have any minima + + + Konstantea + String describing constant monotonicity of a function + + + Beherantz + String describing decreasing monotonicity of a function + + + Ezin da zehaztu funtzioaren monotonizazioa. + Error displayed when monotonicity cannot be determined + + + Gorantz + String describing increasing monotonicity of a function + + + Funtzioaren monotonizazioa ezezaguna da. + Error displayed when monotonicity is unknown + + + Funtzioak ez du asintota zeiharrik. + Message displayed when the graph does not have any oblique asymptotes + + + Ezin da zehaztu funtzioaren paritaterik. + Error displayed when parity is cannot be determined + + + Funtzioa bikoitia da. + Message displayed with the function parity is even + + + Funtzioa ez da bikoitia ezta bakoitia ere. + Message displayed with the function parity is neither even nor odd + + + Funtzioa bakoitia da. + Message displayed with the function parity is odd + + + Funtzioaren paritatea ezezaguna da. + Error displayed when parity is unknown + + + Aldizkakotasuna ez da onartzen funtzio honetan. + Error displayed when periodicity is not supported + + + Funtzioa ez da aldizkakoa. + Message displayed with the function periodicity is not periodic + + + Funtzioaren aldizkakotasuna ezezaguna da. + Message displayed with the function periodicity is unknown + + + Eginbide horiek konplexuegiak dira Kalkulagailuak kalkuluak egiteko: + Error displayed when analysis features cannot be calculated + + + Funtzioak ez du asintota bertikalik. + Message displayed when the graph does not have any vertical asymptotes + + + Funtzioak ez du puntu X ebakitze-punturik. + Message displayed when the graph does not have any x-intercepts + + + Funtzioak ez du puntu Y ebakitze-punturik. + Message displayed when the graph does not have any y-intercepts + + + Domeinua + Title for KeyGraphFeatures Domain Property + + + Asintota horizontalak + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Inflexio puntuak + Title for KeyGraphFeatures Inflection Points Property + + + Ez da onartzen funtzio honen analisia. + Error displayed when graph analysis is not supported or had an error. + + + Gehienekoa + Title for KeyGraphFeatures Maxima Property + + + Gutxienekoa + Title for KeyGraphFeatures Minima Property + + + Monotonizazioa + Title for KeyGraphFeatures Monotonicity Property + + + Asintota zeiharrak + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paritatea + Title for KeyGraphFeatures Parity Property + + + Aldizkakotasuna + Title for KeyGraphFeatures Periodicity Property + + + Tartea + Title for KeyGraphFeatures Range Property + + + Asintota bertikalak + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X ebakitze-puntua + Title for KeyGraphFeatures XIntercept Property + + + Y ebakitze-puntua + Title for KeyGraphFeatures YIntercept Property + + + Ezin izan da gauzatu analisia funtzioarentzat. + + + Ezin izan da kalkulatu funtzioaren domeinua. + Error displayed when Domain is not returned from the analyzer. + + + Ezin izan da kalkulatu tartearen domeinua. + Error displayed when Range is not returned from the analyzer. + + + Atzera + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Atzera + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analizatu funtzioa + This is the tooltip for the analyze function button + + + Analizatu funtzioa + This is the automation name for the analyze function button + + + Analizatu funtzioa + This is the text for the for the analyze function context menu command + + + Kendu ekuazioa + This is the tooltip for the graphing calculator remove equation buttons + + + Kendu ekuazioa + This is the automation name for the graphing calculator remove equation buttons + + + Kendu ekuazioa + This is the text for the for the remove equation context menu command + + + Partekatu + This is the automation name for the graphing calculator share button. + + + Partekatu + This is the tooltip for the graphing calculator share button. + + + Aldatu ekuazioaren estiloa + This is the tooltip for the graphing calculator equation style button + + + Aldatu ekuazioaren estiloa + This is the automation name for the graphing calculator equation style button + + + Aldatu ekuazioaren estiloa + This is the text for the for the equation style context menu command + + + Erakutsi %1 ekuazioa + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Ezkutatu %1 ekuazioa + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Gelditu jarraipena + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Hasi jarraipena + This is the tooltip/automation name for the graphing calculator start tracing button + + + Grafikoa ikusteko leihoa, x ardatza %1 eta %2 balioei lotuta, y ardatza %3 eta %4 balioei lotuta eta %5 ekuazio erakusten + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfiguratu graduatzailea + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfiguratu graduatzailea + This is the automation name text for the slider options button in Graphing Calculator + + + Aldatu ekuazio modura + Used in Graphing Calculator to switch the view to the equation mode + + + Aldatu grafiko modura + Used in Graphing Calculator to switch the view to the graph mode + + + Aldatu ekuazio modura + Used in Graphing Calculator to switch the view to the equation mode + + + Uneko modua ekuazioa modua da + Announcement used in Graphing Calculator when switching to the equation mode + + + Uneko modua grafiko modua da + Announcement used in Graphing Calculator when switching to the graph mode + + + Leihoa + Heading for window extents on the settings + + + Graduak + Degrees mode on settings page + + + Gradianak + Gradian mode on settings page + + + Radianak + Radians mode on settings page + + + Unitateak + Heading for Unit's on the settings + + + Berrezarri ikuspegia + Hyperlink button to reset the view of the graph + + + X-Max + X maximum value header + + + X-Min + X minimum value header + + + Y-Max + Y Maximum value header + + + Y-Min + Y minimum value header + + + Saretaren aukerak + This is the tooltip text for the grid options button in Graphing Calculator + + + Saretaren aukerak + This is the automation name text for the grid options button in Graphing Calculator + + + Grafikoaren aukerak + Heading for the Graph Options flyout in Graphing mode. + + + Idatzi adierazpena + this is the placeholder text used by the textbox to enter an equation + + + Kopiatu + Copy menu item for the graph context menu + + + Ebaki + Cut menu item from the Equation TextBox + + + Kopiatu + Copy menu item from the Equation TextBox + + + Itsatsi + Paste menu item from the Equation TextBox + + + Desegin + Undo menu item from the Equation TextBox + + + Hautatu dena + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/fa-IR/Resources.resw b/src/Calculator/Resources/fa-IR/Resources.resw index 0e80dd198..96b2a45fa 100644 --- a/src/Calculator/Resources/fa-IR/Resources.resw +++ b/src/Calculator/Resources/fa-IR/Resources.resw @@ -697,9 +697,9 @@ حذف Text string for the Calculator Delete swipe button in the History list - - کپی - Text string for the Calculator Copy option in the History list context menu + + کپی + Text string for the Calculator Copy option in the History list context menu حذف @@ -867,7 +867,7 @@ مساوی است با - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad معکوس کردن عملکرد @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - نگه داشتن در بالا + نگه داشتن در بالا (Alt+بالا) This is the tool tip automation name for the Always-on-Top button when in normal mode. - بازگشت به نمای کامل + بازگشت به نمای کامل (Alt+بالا) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ شذ AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ محاسبه انجام نشد - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation لگاریتم بر مبنای X @@ -3075,6 +3059,10 @@ تابع Displayed on the button that contains a flyout for the general functions in scientific mode. + + نابرابری + Displayed on the button that contains a flyout for the inequality functions. + بیتی Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ پراهمیت‌ترین بیت Used to describe the last bit of a binary number. Used in bit flip + + رسم نمودار + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + مساوی + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + پلات + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + بازنشانی نما (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + بازنشانی نما + Screen reader prompt for the reset zoom button. + + + نزدیکنمایی (Ctrl + به‌علاوه) + This is the tool tip automation name for the Calculator zoom in button. + + + نزدیکنمایی + Screen reader prompt for the zoom in button. + + + دورنمایی (Ctrl + منها) + This is the tool tip automation name for the Calculator zoom out button. + + + دورنمایی + Screen reader prompt for the zoom out button. + + + افزودن معادله + Placeholder text for the equation input button + + + در حال حاضر اشتراک‌گذاری امکان‌پذیر نیست. + If there is an error in the sharing action will display a dialog with this text. + + + تأیید + Used on the dismiss button of the share action error dialog. + + + ببین با ماشین حساب Windows چی رسم کردم + Sent as part of the shared content. The title for the share. + + + معادلات + Header that appears over the equations section when sharing + + + متغیرها + Header that appears over the variables section when sharing + + + تصویر نمودار به همراه معادلات + Alt text for the graph image when output via Share + + + متغیرها + Header text for variables area + + + گام + Label text for the step text box + + + حداقل + Label text for the min text box + + + حداکثر + Label text for the max text box + + + رنگ خط + Label for the Line Color section of the style picker + + + تجزیه و تحلیل تابع + Title for KeyGraphFeatures Control + + + تابع هیچ مجانب افقی ندارد. + Message displayed when the graph does not have any horizontal asymptotes + + + تابع هیچ نقطه عطفی ندارد. + Message displayed when the graph does not have any inflection points + + + تابع هیچ نقطه بیشینه‌ای ندارد. + Message displayed when the graph does not have any maxima + + + تابع هیچ نقطه کمینه‌ای ندارد. + Message displayed when the graph does not have any minima + + + ثابت + String describing constant monotonicity of a function + + + کاهشی + String describing decreasing monotonicity of a function + + + تعیین یکنوایی تابع امکان‌پذیر نیست. + Error displayed when monotonicity cannot be determined + + + افزایشی + String describing increasing monotonicity of a function + + + یکنوایی تابع نامشخص است. + Error displayed when monotonicity is unknown + + + تابع هیچ مجانب مایلی ندارد. + Message displayed when the graph does not have any oblique asymptotes + + + تعیین پاریته بودن تابع امکان‌پذیر نیست. + Error displayed when parity is cannot be determined + + + تابع زوج است. + Message displayed with the function parity is even + + + تابع نه زوج است نه فرد. + Message displayed with the function parity is neither even nor odd + + + تابع فرد است. + Message displayed with the function parity is odd + + + پاریته بودن تابع ناشناخته است. + Error displayed when parity is unknown + + + تناوب برای این تابع پشتیبانی نمی‌شود. + Error displayed when periodicity is not supported + + + تابع متناوب نیست. + Message displayed with the function periodicity is not periodic + + + تناوب تابع نامشخص است. + Message displayed with the function periodicity is unknown + + + محاسبه این خصیصه‌ها برای ماشین حساب بسیار پیچیده است: + Error displayed when analysis features cannot be calculated + + + تابع هیچ مجانب قائمی ندارد. + Message displayed when the graph does not have any vertical asymptotes + + + تابع تقاطعی با محور x ندارد. + Message displayed when the graph does not have any x-intercepts + + + تابع تقاطعی با محور y ندارد. + Message displayed when the graph does not have any y-intercepts + + + دامنه + Title for KeyGraphFeatures Domain Property + + + مجانب‌های افقی + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + نقاط عطف + Title for KeyGraphFeatures Inflection Points Property + + + تجزیه و تحلیل برای این تابع پشتیبانی نمی‌شود. + Error displayed when graph analysis is not supported or had an error. + + + بیشینه + Title for KeyGraphFeatures Maxima Property + + + کمینه + Title for KeyGraphFeatures Minima Property + + + یکنوایی + Title for KeyGraphFeatures Monotonicity Property + + + مجانب مایل + Title for KeyGraphFeatures Oblique Asymptotes Property + + + پاریته + Title for KeyGraphFeatures Parity Property + + + متناوب + Title for KeyGraphFeatures Periodicity Property + + + محدوده + Title for KeyGraphFeatures Range Property + + + مجانب قائم + Title for KeyGraphFeatures Vertical Asymptotes Property + + + تقاطع با محور X + Title for KeyGraphFeatures XIntercept Property + + + تقاطع با محور Y + Title for KeyGraphFeatures YIntercept Property + + + انجام تجزیه و تحلیل برای این تابع امکان‌پذیر نبود. + + + محاسبه دامنه برای این تابع امکان‌پذیر نیست. + Error displayed when Domain is not returned from the analyzer. + + + محاسبه محدوده برای این تابع امکان‌پذیر نبود. + Error displayed when Range is not returned from the analyzer. + + + بازگشت + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + بازگشت + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + تجزیه و تحلیل تابع + This is the tooltip for the analyze function button + + + تجزیه و تحلیل تابع + This is the automation name for the analyze function button + + + تجزیه و تحلیل تابع + This is the text for the for the analyze function context menu command + + + حذف معادله + This is the tooltip for the graphing calculator remove equation buttons + + + حذف معادله + This is the automation name for the graphing calculator remove equation buttons + + + حذف معادله + This is the text for the for the remove equation context menu command + + + اشتراک‌گذاری + This is the automation name for the graphing calculator share button. + + + اشتراک‌گذاری + This is the tooltip for the graphing calculator share button. + + + تغییر سبک معادله + This is the tooltip for the graphing calculator equation style button + + + تغییر سبک معادله + This is the automation name for the graphing calculator equation style button + + + تغییر سبک معادله + This is the text for the for the equation style context menu command + + + نمایش معادله %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + پنهان کردن معادله %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + توقف ردیابی + This is the tooltip/automation name for the graphing calculator stop tracing button + + + شروع ردیابی + This is the tooltip/automation name for the graphing calculator start tracing button + + + پنجره مشاهده نمودار، محور x توسط %1 و %2 محدود شده، و محور y توسط %3 و %4 محدود شده است، %5 معادله را نمایش می‌دهد + {Locked="%1","%2", "%3", "%4", "%5"}. + + + پیکربندی زبانه متحرک + This is the tooltip text for the slider options button in Graphing Calculator + + + پیکربندی زبانه متحرک + This is the automation name text for the slider options button in Graphing Calculator + + + تغییر وضعیت به حالت معادله + Used in Graphing Calculator to switch the view to the equation mode + + + تغییر وضعیت به حالت نمودار + Used in Graphing Calculator to switch the view to the graph mode + + + تغییر وضعیت به حالت معادله + Used in Graphing Calculator to switch the view to the equation mode + + + حالت فعلی حالت معادله است + Announcement used in Graphing Calculator when switching to the equation mode + + + حالت فعلی حالت نمودار است + Announcement used in Graphing Calculator when switching to the graph mode + + + پنجره + Heading for window extents on the settings + + + درجه + Degrees mode on settings page + + + گرادیان + Gradian mode on settings page + + + رادیان + Radians mode on settings page + + + واحدها + Heading for Unit's on the settings + + + بازنشانی نما + Hyperlink button to reset the view of the graph + + + بیشینه محور X + X maximum value header + + + کمینه محور X + X minimum value header + + + بیشینه محور Y + Y Maximum value header + + + کمینه محور Y + Y minimum value header + + + گزینه‌های شبکه + This is the tooltip text for the grid options button in Graphing Calculator + + + گزینه‌های شبکه + This is the automation name text for the grid options button in Graphing Calculator + + + گزینه‌های نمودار + Heading for the Graph Options flyout in Graphing mode. + + + یک عبارت وارد کنید + this is the placeholder text used by the textbox to enter an equation + + + کپی + Copy menu item for the graph context menu + + + برش + Cut menu item from the Equation TextBox + + + کپی + Copy menu item from the Equation TextBox + + + جایگذاری + Paste menu item from the Equation TextBox + + + لغو عمل + Undo menu item from the Equation TextBox + + + انتخاب همه + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/fi-FI/Resources.resw b/src/Calculator/Resources/fi-FI/Resources.resw index 210d10256..d6836a4c1 100644 --- a/src/Calculator/Resources/fi-FI/Resources.resw +++ b/src/Calculator/Resources/fi-FI/Resources.resw @@ -697,9 +697,9 @@ Poista Text string for the Calculator Delete swipe button in the History list - - Kopioi - Text string for the Calculator Copy option in the History list context menu + + Kopioi + Text string for the Calculator Copy option in the History list context menu Poista @@ -867,7 +867,7 @@ On yhtä suuri kuin - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Käänteinen funktio @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Pidä päällä + Pidä päällimmäisenä (Alt+Ylänuoli) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Takaisin koko näytön näkymään + Takaisin koko näytön näkymään (Alt+Alanuoli) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Laskenta epäonnistui - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logaritmikanta X @@ -3075,6 +3059,10 @@ Funktio Displayed on the button that contains a flyout for the general functions in scientific mode. + + Epäyhtälöt + Displayed on the button that contains a flyout for the inequality functions. + Bittitaso Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ merkitsevin bitti Used to describe the last bit of a binary number. Used in bit flip + + Kaavioiden piirtäminen + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + On yhtä suuri kuin + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Piirrä + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Palauta näkymä (Ctrl+0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Palauta näkymä + Screen reader prompt for the reset zoom button. + + + Lähennä (Ctrl+plusnäppäin) + This is the tool tip automation name for the Calculator zoom in button. + + + Lähennä + Screen reader prompt for the zoom in button. + + + Loitonna (Ctrl+miinusnäppäin) + This is the tool tip automation name for the Calculator zoom out button. + + + Loitonna + Screen reader prompt for the zoom out button. + + + Lisää yhtälö + Placeholder text for the equation input button + + + Jakaminen ei tällä hetkellä onnistu. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Katso, millaisia kaavioita olen piirtänyt Windowsin laskimella + Sent as part of the shared content. The title for the share. + + + Yhtälöt + Header that appears over the equations section when sharing + + + Muuttujat + Header that appears over the variables section when sharing + + + Kuva kaaviosta, jossa on yhtälöitä + Alt text for the graph image when output via Share + + + Muuttujat + Header text for variables area + + + Vaihe + Label text for the step text box + + + Vähintään + Label text for the min text box + + + Enintään + Label text for the max text box + + + Viivan väri + Label for the Line Color section of the style picker + + + Funktion analyysi + Title for KeyGraphFeatures Control + + + Funktiolla ei ole vaakasuoria asymptootteja. + Message displayed when the graph does not have any horizontal asymptotes + + + Funktiolla ei ole käännepisteitä. + Message displayed when the graph does not have any inflection points + + + Funktiolla ei ole maksimipisteitä. + Message displayed when the graph does not have any maxima + + + Funktiolla ei ole minimipisteitä. + Message displayed when the graph does not have any minima + + + Vakio + String describing constant monotonicity of a function + + + Vähenevä + String describing decreasing monotonicity of a function + + + Funktion monotonisuutta ei voi määrittää. + Error displayed when monotonicity cannot be determined + + + Kasvava + String describing increasing monotonicity of a function + + + Funktion monotonisuus on tuntematon. + Error displayed when monotonicity is unknown + + + Funktiolla ei ole käyriä asymptootteja. + Message displayed when the graph does not have any oblique asymptotes + + + Funktion pariteettia ei voi määrittää. + Error displayed when parity is cannot be determined + + + Funktio on parillinen. + Message displayed with the function parity is even + + + Funktio ei ole parillinen eikä pariton. + Message displayed with the function parity is neither even nor odd + + + Funktio on pariton. + Message displayed with the function parity is odd + + + Funktion pariteetti on tuntematon. + Error displayed when parity is unknown + + + Jaksollisuutta ei tueta tässä funktiossa. + Error displayed when periodicity is not supported + + + Funktio ei ole jaksollinen. + Message displayed with the function periodicity is not periodic + + + Funktion jaksollisuus on tuntematon. + Message displayed with the function periodicity is unknown + + + Nämä ominaisuudet ovat liian monimutkaisia laskimella laskemiseen: + Error displayed when analysis features cannot be calculated + + + Funktiolla ei ole pystysuoria asymptootteja. + Message displayed when the graph does not have any vertical asymptotes + + + Funktiolla ei ole x-leikkauspisteitä. + Message displayed when the graph does not have any x-intercepts + + + Funktiolla ei ole y-leikkauspisteitä. + Message displayed when the graph does not have any y-intercepts + + + Toimialue + Title for KeyGraphFeatures Domain Property + + + Vaakasuorat asymptootit + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Käännepisteet + Title for KeyGraphFeatures Inflection Points Property + + + Analyysia ei tueta tässä funktiossa. + Error displayed when graph analysis is not supported or had an error. + + + Maksimit + Title for KeyGraphFeatures Maxima Property + + + Minimit + Title for KeyGraphFeatures Minima Property + + + Monotonisuus + Title for KeyGraphFeatures Monotonicity Property + + + Käyrät asymptootit + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Pariteetti + Title for KeyGraphFeatures Parity Property + + + Jakso + Title for KeyGraphFeatures Periodicity Property + + + Alue + Title for KeyGraphFeatures Range Property + + + Pystysuorat asymptootit + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-leikkauspiste + Title for KeyGraphFeatures XIntercept Property + + + Y-leikkauspiste + Title for KeyGraphFeatures YIntercept Property + + + Funktion analyysia ei voitu suorittaa. + + + Tämän funktion arvoaluetta ei voi laskea. + Error displayed when Domain is not returned from the analyzer. + + + Funktion aluetta ei voi laskea. + Error displayed when Range is not returned from the analyzer. + + + Edellinen + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Edellinen + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analysoi funktio + This is the tooltip for the analyze function button + + + Analysoi funktio + This is the automation name for the analyze function button + + + Analysoi funktio + This is the text for the for the analyze function context menu command + + + Poista yhtälö + This is the tooltip for the graphing calculator remove equation buttons + + + Poista yhtälö + This is the automation name for the graphing calculator remove equation buttons + + + Poista yhtälö + This is the text for the for the remove equation context menu command + + + Jaa + This is the automation name for the graphing calculator share button. + + + Jaa + This is the tooltip for the graphing calculator share button. + + + Muuta yhtälön tyyliä + This is the tooltip for the graphing calculator equation style button + + + Muuta yhtälön tyyliä + This is the automation name for the graphing calculator equation style button + + + Muuta yhtälön tyyliä + This is the text for the for the equation style context menu command + + + Näytä yhtälö %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Piilota yhtälö %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Lopeta seuranta + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Aloita seuranta + This is the tooltip/automation name for the graphing calculator start tracing button + + + Kaavion tarkastelu ikkuna, x-akseli sitovat %1 ja %2, y-akseli sitovat %3 ja %4, näytetään %5 kaavat + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Määritä liukusäädin + This is the tooltip text for the slider options button in Graphing Calculator + + + Määritä liukusäädin + This is the automation name text for the slider options button in Graphing Calculator + + + Vaihda yhtälötilaan + Used in Graphing Calculator to switch the view to the equation mode + + + Vaihda kaaviotilaan + Used in Graphing Calculator to switch the view to the graph mode + + + Vaihda yhtälötilaan + Used in Graphing Calculator to switch the view to the equation mode + + + Nykyinen tila on yhtälötila + Announcement used in Graphing Calculator when switching to the equation mode + + + Nykyinen tila on kaaviotila + Announcement used in Graphing Calculator when switching to the graph mode + + + Ikkuna + Heading for window extents on the settings + + + Asteet + Degrees mode on settings page + + + Uusasteet + Gradian mode on settings page + + + Radiaanit + Radians mode on settings page + + + Yksiköt + Heading for Unit's on the settings + + + Palauta näkymä + Hyperlink button to reset the view of the graph + + + X-maksimi + X maximum value header + + + X-minimi + X minimum value header + + + Y-maksimi + Y Maximum value header + + + Y-minimi + Y minimum value header + + + Ruudukon asetukset + This is the tooltip text for the grid options button in Graphing Calculator + + + Ruudukon asetukset + This is the automation name text for the grid options button in Graphing Calculator + + + Kaavion asetukset + Heading for the Graph Options flyout in Graphing mode. + + + Kirjoita lauseke + this is the placeholder text used by the textbox to enter an equation + + + Kopioi + Copy menu item for the graph context menu + + + Leikkaa + Cut menu item from the Equation TextBox + + + Kopioi + Copy menu item from the Equation TextBox + + + Liitä + Paste menu item from the Equation TextBox + + + Kumoa + Undo menu item from the Equation TextBox + + + Valitse kaikki + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/fil-PH/Resources.resw b/src/Calculator/Resources/fil-PH/Resources.resw index 4c825554e..4a82ddd63 100644 --- a/src/Calculator/Resources/fil-PH/Resources.resw +++ b/src/Calculator/Resources/fil-PH/Resources.resw @@ -697,9 +697,9 @@ Tanggalin Text string for the Calculator Delete swipe button in the History list - - Kopyahin - Text string for the Calculator Copy option in the History list context menu + + Kopyahin + Text string for the Calculator Copy option in the History list context menu Tanggalin @@ -867,7 +867,7 @@ Equals - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Inverse na Function @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Panatilihin sa ibabaw + Panatilihin sa ibabaw (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Bumalik sa buong view + Bumalik sa buong view (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Nabigo ang pagkalkula - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Log base X @@ -3075,6 +3059,10 @@ Function Displayed on the button that contains a flyout for the general functions in scientific mode. + + Mga Inequality + Displayed on the button that contains a flyout for the inequality functions. + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ most significant bit Used to describe the last bit of a binary number. Used in bit flip + + Pag-graph + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Mga Equal + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Plot + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + I-reset ang View (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + I-reset ang View + Screen reader prompt for the reset zoom button. + + + Mag-zoom In (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Mag-zoom In + Screen reader prompt for the zoom in button. + + + Mag-zoom Out (Ctrl + minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Mag-zoom Out + Screen reader prompt for the zoom out button. + + + Magdagdag ng Equation + Placeholder text for the equation input button + + + Hindi makapagbahagi sa oras na ito. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Tingnan kung ano ang na-graph ko gamit ang Windows Calculator + Sent as part of the shared content. The title for the share. + + + Mga Equation + Header that appears over the equations section when sharing + + + Mga Variable + Header that appears over the variables section when sharing + + + Larawan ng isang graph na may mga equation + Alt text for the graph image when output via Share + + + Mga Variable + Header text for variables area + + + Hakbang + Label text for the step text box + + + Min + Label text for the min text box + + + Max + Label text for the max text box + + + Kulay ng Linya + Label for the Line Color section of the style picker + + + Pagsusuri ng function + Title for KeyGraphFeatures Control + + + Walang anumang pahigang asymptote ang function. + Message displayed when the graph does not have any horizontal asymptotes + + + Walang anumang inflection point ang function. + Message displayed when the graph does not have any inflection points + + + Walang anumang maxima point ang function. + Message displayed when the graph does not have any maxima + + + Walang anumang minima point ang function. + Message displayed when the graph does not have any minima + + + Constant + String describing constant monotonicity of a function + + + Lumiliit + String describing decreasing monotonicity of a function + + + Hindi matukoy ang monotonicity ng function. + Error displayed when monotonicity cannot be determined + + + Lumalaki + String describing increasing monotonicity of a function + + + Hindi alam ang monotonicity ng function. + Error displayed when monotonicity is unknown + + + Walang anumang pahilis na aysmptote ang function. + Message displayed when the graph does not have any oblique asymptotes + + + Hindi matukoy ang pagkakapareho ng function. + Error displayed when parity is cannot be determined + + + Even ang function. + Message displayed with the function parity is even + + + Hindi even o odd ang function. + Message displayed with the function parity is neither even nor odd + + + Odd ang function. + Message displayed with the function parity is odd + + + Hindi alam ang pagkakapareho ng function. + Error displayed when parity is unknown + + + Hindi sinusuportahan ang periodicity para sa function na ito. + Error displayed when periodicity is not supported + + + Hindi periodic ang function. + Message displayed with the function periodicity is not periodic + + + Hindi alam ang periodicity ng function. + Message displayed with the function periodicity is unknown + + + Ang mga tampok na ito ay masyadong kumplikado para makalkula ng Calculator: + Error displayed when analysis features cannot be calculated + + + Walang anumang patayong asymptote ang function. + Message displayed when the graph does not have any vertical asymptotes + + + Walang anumang x-intercept ang function. + Message displayed when the graph does not have any x-intercepts + + + Walang anumang y-intercept ang function. + Message displayed when the graph does not have any y-intercepts + + + Domain + Title for KeyGraphFeatures Domain Property + + + Mga Pahigang Asymptote + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Mga Inflection Point + Title for KeyGraphFeatures Inflection Points Property + + + Hindi sinusuportahan ang pagsusuri para sa function na ito. + Error displayed when graph analysis is not supported or had an error. + + + Maxima + Title for KeyGraphFeatures Maxima Property + + + Minima + Title for KeyGraphFeatures Minima Property + + + Monotonicity + Title for KeyGraphFeatures Monotonicity Property + + + Mga Pahilis na Asymptote + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Pagkakapareho + Title for KeyGraphFeatures Parity Property + + + Yugto + Title for KeyGraphFeatures Periodicity Property + + + Range + Title for KeyGraphFeatures Range Property + + + Mga Patayong Asymptote + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-Intercept + Title for KeyGraphFeatures XIntercept Property + + + Y-Intercept + Title for KeyGraphFeatures YIntercept Property + + + Hindi maisasagawa ang pagsusuri para sa function. + + + Hindi makalkula ang domain para sa function na ito. + Error displayed when Domain is not returned from the analyzer. + + + Hindi makalkula ang range para sa function na ito. + Error displayed when Range is not returned from the analyzer. + + + Bumalik + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Bumalik + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Suriin ang function + This is the tooltip for the analyze function button + + + Suriin ang function + This is the automation name for the analyze function button + + + Suriin ang function + This is the text for the for the analyze function context menu command + + + Tanggalin ang equation + This is the tooltip for the graphing calculator remove equation buttons + + + Tanggalin ang equation + This is the automation name for the graphing calculator remove equation buttons + + + Tanggalin ang equation + This is the text for the for the remove equation context menu command + + + Ibahagi + This is the automation name for the graphing calculator share button. + + + Ibahagi + This is the tooltip for the graphing calculator share button. + + + Baguhin ang estilo ng equation + This is the tooltip for the graphing calculator equation style button + + + Baguhin ang estilo ng equation + This is the automation name for the graphing calculator equation style button + + + Baguhin ang estilo ng equation + This is the text for the for the equation style context menu command + + + Ipakita ang equation %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Itago ang equation %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Ihinto ang pag-trace + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Simulan ang pag-trace + This is the tooltip/automation name for the graphing calculator start tracing button + + + Graph viewing window, x-axis na bounded ng %1 at %2, y-axis na bounded ng %3 at %4, nagpapakita ng %5 (na) equation + {Locked="%1","%2", "%3", "%4", "%5"}. + + + I-configure ang slider + This is the tooltip text for the slider options button in Graphing Calculator + + + I-configure ang slider + This is the automation name text for the slider options button in Graphing Calculator + + + Lumipat sa equation mode + Used in Graphing Calculator to switch the view to the equation mode + + + Lumipat sa graph mode + Used in Graphing Calculator to switch the view to the graph mode + + + Lumipat sa equation mode + Used in Graphing Calculator to switch the view to the equation mode + + + Ang kasalukuyang mode ay equation mode + Announcement used in Graphing Calculator when switching to the equation mode + + + Ang kasalukuyang mode ay graph mode + Announcement used in Graphing Calculator when switching to the graph mode + + + Window + Heading for window extents on the settings + + + Mga Degree + Degrees mode on settings page + + + Mga Gradian + Gradian mode on settings page + + + Mga Radian + Radians mode on settings page + + + Mga Unit + Heading for Unit's on the settings + + + I-reset ang view + Hyperlink button to reset the view of the graph + + + X-Max + X maximum value header + + + X-Min + X minimum value header + + + Y-Max + Y Maximum value header + + + Y-Min + Y minimum value header + + + Mga opsyon sa grid + This is the tooltip text for the grid options button in Graphing Calculator + + + Mga opsyon sa grid + This is the automation name text for the grid options button in Graphing Calculator + + + Mga Opsyon sa Graph + Heading for the Graph Options flyout in Graphing mode. + + + Magpasok ng expression + this is the placeholder text used by the textbox to enter an equation + + + Kopyahin + Copy menu item for the graph context menu + + + I-cut + Cut menu item from the Equation TextBox + + + Kopyahin + Copy menu item from the Equation TextBox + + + I-paste + Paste menu item from the Equation TextBox + + + I-undo + Undo menu item from the Equation TextBox + + + Piliin Lahat + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/fr-CA/Resources.resw b/src/Calculator/Resources/fr-CA/Resources.resw index 1afcf00da..46827090a 100644 --- a/src/Calculator/Resources/fr-CA/Resources.resw +++ b/src/Calculator/Resources/fr-CA/Resources.resw @@ -697,9 +697,9 @@ Supprimer Text string for the Calculator Delete swipe button in the History list - - Copier - Text string for the Calculator Copy option in the History list context menu + + Copier + Text string for the Calculator Copy option in the History list context menu Supprimer @@ -867,7 +867,7 @@ Égale - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Inverser les fonctions @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Toujours visible + Toujours visible (Alt+Haut) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Revenir à l’affichage plein écran + Revenir à l’affichage plein écran (Alt+Bas) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - An AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Échec du calcul - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Journal de base X @@ -3075,6 +3059,10 @@ Fonction Displayed on the button that contains a flyout for the general functions in scientific mode. + + Inégalités + Displayed on the button that contains a flyout for the inequality functions. + Au niveau du bit Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ octet le plus significatif Used to describe the last bit of a binary number. Used in bit flip + + Représentation + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Est égal à + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Tracer + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Réinitialiser l’affichage (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Réinitialiser la vue + Screen reader prompt for the reset zoom button. + + + Zoom avant (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Zoom avant + Screen reader prompt for the zoom in button. + + + Zoom arrière (Ctrl + moins) + This is the tool tip automation name for the Calculator zoom out button. + + + Zoom arrière + Screen reader prompt for the zoom out button. + + + Ajouter une équation + Placeholder text for the equation input button + + + Impossible de partager pour le moment. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Regardez ce que j’ai représenté avec la Calculatrice Windows + Sent as part of the shared content. The title for the share. + + + Équations + Header that appears over the equations section when sharing + + + Variables + Header that appears over the variables section when sharing + + + Image d’un graphique avec des équations + Alt text for the graph image when output via Share + + + Variables + Header text for variables area + + + Étape + Label text for the step text box + + + Min + Label text for the min text box + + + Max + Label text for the max text box + + + Couleur de la ligne + Label for the Line Color section of the style picker + + + Analyse de fonction + Title for KeyGraphFeatures Control + + + La fonction ne comporte aucune asymptote horizontale. + Message displayed when the graph does not have any horizontal asymptotes + + + La fonction ne comporte aucun point d’inflexion. + Message displayed when the graph does not have any inflection points + + + La fonction ne comporte aucun maximum. + Message displayed when the graph does not have any maxima + + + La fonction ne comporte aucun minimum. + Message displayed when the graph does not have any minima + + + Constante + String describing constant monotonicity of a function + + + Décroissante + String describing decreasing monotonicity of a function + + + Impossible de déterminer la monotonie de la fonction. + Error displayed when monotonicity cannot be determined + + + Croissante + String describing increasing monotonicity of a function + + + La monotonie de la fonction est inconnue. + Error displayed when monotonicity is unknown + + + La fonction ne comporte aucune asymptote oblique. + Message displayed when the graph does not have any oblique asymptotes + + + Impossible de déterminer la parité de la fonction. + Error displayed when parity is cannot be determined + + + La fonction est paire. + Message displayed with the function parity is even + + + La fonction n’est ni paire ni impaire. + Message displayed with the function parity is neither even nor odd + + + La fonction est impaire. + Message displayed with the function parity is odd + + + La parité de la fonction est inconnue. + Error displayed when parity is unknown + + + La périodicité n’est pas prise en charge pour cette fonction. + Error displayed when periodicity is not supported + + + La fonction n’est pas périodique. + Message displayed with the function periodicity is not periodic + + + La périodicité de la fonction est inconnue. + Message displayed with the function periodicity is unknown + + + Ces fonctionnalités sont trop complexes pour que la calculatrice effectue le calcul : + Error displayed when analysis features cannot be calculated + + + La fonction ne comporte aucune asymptote verticale. + Message displayed when the graph does not have any vertical asymptotes + + + La fonction ne comporte aucune interception x. + Message displayed when the graph does not have any x-intercepts + + + La fonction ne comporte aucune interception y. + Message displayed when the graph does not have any y-intercepts + + + Domaine + Title for KeyGraphFeatures Domain Property + + + Asymptotes horizontales + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Points d’inflexion + Title for KeyGraphFeatures Inflection Points Property + + + L’analyse n’est pas prise en charge pour cette fonction. + Error displayed when graph analysis is not supported or had an error. + + + Maxima + Title for KeyGraphFeatures Maxima Property + + + Minima + Title for KeyGraphFeatures Minima Property + + + Monotonie + Title for KeyGraphFeatures Monotonicity Property + + + Asymptotes obliques + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Parité + Title for KeyGraphFeatures Parity Property + + + Période + Title for KeyGraphFeatures Periodicity Property + + + Plage + Title for KeyGraphFeatures Range Property + + + Asymptotes verticales + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Interception X + Title for KeyGraphFeatures XIntercept Property + + + Interception Y + Title for KeyGraphFeatures YIntercept Property + + + Impossible d'effectuer l’analyse pour la fonction. + + + Impossible de calculer le domaine pour cette fonction. + Error displayed when Domain is not returned from the analyzer. + + + Impossible de calculer la plage pour cette fonction. + Error displayed when Range is not returned from the analyzer. + + + Retour + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Retour + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analyser la fonction + This is the tooltip for the analyze function button + + + Analyser la fonction + This is the automation name for the analyze function button + + + Analyser la fonction + This is the text for the for the analyze function context menu command + + + Supprimer l’équation + This is the tooltip for the graphing calculator remove equation buttons + + + Supprimer l’équation + This is the automation name for the graphing calculator remove equation buttons + + + Supprimer l’équation + This is the text for the for the remove equation context menu command + + + Partager + This is the automation name for the graphing calculator share button. + + + Partager + This is the tooltip for the graphing calculator share button. + + + Modifier le style d’équation + This is the tooltip for the graphing calculator equation style button + + + Modifier le style d’équation + This is the automation name for the graphing calculator equation style button + + + Modifier le style d’équation + This is the text for the for the equation style context menu command + + + Afficher l’équation %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Masquer l’équation %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Arrêter le suivi + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Démarrer le suivi + This is the tooltip/automation name for the graphing calculator start tracing button + + + Fenêtre de visualisation de Graph, axe x délimité par %1 et %2, axe y délimité par %3 et %4, affichage %5 équations + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Configurer le curseur + This is the tooltip text for the slider options button in Graphing Calculator + + + Configurer le curseur + This is the automation name text for the slider options button in Graphing Calculator + + + Passer en mode équation + Used in Graphing Calculator to switch the view to the equation mode + + + Passer en mode graphique + Used in Graphing Calculator to switch the view to the graph mode + + + Passer en mode équation + Used in Graphing Calculator to switch the view to the equation mode + + + Le mode actuel est le mode équation + Announcement used in Graphing Calculator when switching to the equation mode + + + Le mode actuel est le mode graphique + Announcement used in Graphing Calculator when switching to the graph mode + + + Fenêtre + Heading for window extents on the settings + + + Degrés + Degrees mode on settings page + + + Grades + Gradian mode on settings page + + + Radians + Radians mode on settings page + + + Unités + Heading for Unit's on the settings + + + Réinitialiser l’affichage + Hyperlink button to reset the view of the graph + + + X-Max + X maximum value header + + + X-Min + X minimum value header + + + Y-Max + Y Maximum value header + + + Y-Min + Y minimum value header + + + Options de la grille + This is the tooltip text for the grid options button in Graphing Calculator + + + Options de la grille + This is the automation name text for the grid options button in Graphing Calculator + + + Options de graphique + Heading for the Graph Options flyout in Graphing mode. + + + Entrer une expression + this is the placeholder text used by the textbox to enter an equation + + + Copier + Copy menu item for the graph context menu + + + Couper + Cut menu item from the Equation TextBox + + + Copier + Copy menu item from the Equation TextBox + + + Coller + Paste menu item from the Equation TextBox + + + Annuler + Undo menu item from the Equation TextBox + + + Sélectionner tout + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/fr-FR/Resources.resw b/src/Calculator/Resources/fr-FR/Resources.resw index d66f607cd..7ae4598e3 100644 --- a/src/Calculator/Resources/fr-FR/Resources.resw +++ b/src/Calculator/Resources/fr-FR/Resources.resw @@ -697,9 +697,9 @@ Supprimer Text string for the Calculator Delete swipe button in the History list - - Copier - Text string for the Calculator Copy option in the History list context menu + + Copier + Text string for the Calculator Copy option in the History list context menu Supprimer @@ -867,7 +867,7 @@ Est égal à - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Inverser les fonctions @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Toujours visible + Toujours visible (Alt+Haut) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Revenir à l’affichage plein écran + Revenir à l’affichage plein écran (Alt+Bas) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - H Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Échec du calcul - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Journal de base X @@ -3075,6 +3059,10 @@ Fonction Displayed on the button that contains a flyout for the general functions in scientific mode. + + Inégalités + Displayed on the button that contains a flyout for the inequality functions. + Au niveau du bit Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ octet le plus lourd Used to describe the last bit of a binary number. Used in bit flip + + Représentation + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Est égal à + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Tracer + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Réinitialiser l’affichage (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Réinitialiser la vue + Screen reader prompt for the reset zoom button. + + + Zoom avant (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Zoom avant + Screen reader prompt for the zoom in button. + + + Zoom arrière (Ctrl + moins) + This is the tool tip automation name for the Calculator zoom out button. + + + Zoom arrière + Screen reader prompt for the zoom out button. + + + Ajouter une équation + Placeholder text for the equation input button + + + Impossible de partager pour le moment. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Regardez ce que j’ai représenté avec la Calculatrice Windows + Sent as part of the shared content. The title for the share. + + + Équations + Header that appears over the equations section when sharing + + + Variables + Header that appears over the variables section when sharing + + + Image d’un graphique avec des équations + Alt text for the graph image when output via Share + + + Variables + Header text for variables area + + + Étape + Label text for the step text box + + + Min + Label text for the min text box + + + Max + Label text for the max text box + + + Couleur de la ligne + Label for the Line Color section of the style picker + + + Analyse de fonction + Title for KeyGraphFeatures Control + + + La fonction ne comporte aucune asymptote horizontale. + Message displayed when the graph does not have any horizontal asymptotes + + + La fonction ne comporte aucun point d’inflexion. + Message displayed when the graph does not have any inflection points + + + La fonction ne comporte aucun maximum. + Message displayed when the graph does not have any maxima + + + La fonction ne comporte aucun minimum. + Message displayed when the graph does not have any minima + + + Constante + String describing constant monotonicity of a function + + + Décroissante + String describing decreasing monotonicity of a function + + + Impossible de déterminer la monotonie de la fonction. + Error displayed when monotonicity cannot be determined + + + Croissante + String describing increasing monotonicity of a function + + + La monotonie de la fonction est inconnue. + Error displayed when monotonicity is unknown + + + La fonction ne comporte aucune asymptote oblique. + Message displayed when the graph does not have any oblique asymptotes + + + Impossible de déterminer la parité de la fonction. + Error displayed when parity is cannot be determined + + + La fonction est paire. + Message displayed with the function parity is even + + + La fonction n’est ni paire ni impaire. + Message displayed with the function parity is neither even nor odd + + + La fonction est impaire. + Message displayed with the function parity is odd + + + La parité de la fonction est inconnue. + Error displayed when parity is unknown + + + La périodicité n’est pas prise en charge pour cette fonction. + Error displayed when periodicity is not supported + + + La fonction n’est pas périodique. + Message displayed with the function periodicity is not periodic + + + La périodicité de la fonction est inconnue. + Message displayed with the function periodicity is unknown + + + Ces fonctionnalités sont trop complexes pour que la calculatrice effectue le calcul : + Error displayed when analysis features cannot be calculated + + + La fonction ne comporte aucune asymptote verticale. + Message displayed when the graph does not have any vertical asymptotes + + + La fonction ne comporte aucune interception x. + Message displayed when the graph does not have any x-intercepts + + + La fonction ne comporte aucune interception y. + Message displayed when the graph does not have any y-intercepts + + + Domaine + Title for KeyGraphFeatures Domain Property + + + Asymptotes horizontales + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Points d’inflexion + Title for KeyGraphFeatures Inflection Points Property + + + L’analyse n’est pas prise en charge pour cette fonction. + Error displayed when graph analysis is not supported or had an error. + + + Maxima + Title for KeyGraphFeatures Maxima Property + + + Minima + Title for KeyGraphFeatures Minima Property + + + Monotonie + Title for KeyGraphFeatures Monotonicity Property + + + Asymptotes obliques + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Parité + Title for KeyGraphFeatures Parity Property + + + Période + Title for KeyGraphFeatures Periodicity Property + + + Plage + Title for KeyGraphFeatures Range Property + + + Asymptotes verticales + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Interception X + Title for KeyGraphFeatures XIntercept Property + + + Interception Y + Title for KeyGraphFeatures YIntercept Property + + + Impossible d'effectuer l’analyse pour la fonction. + + + Impossible de calculer le domaine pour cette fonction. + Error displayed when Domain is not returned from the analyzer. + + + Impossible de calculer la plage pour cette fonction. + Error displayed when Range is not returned from the analyzer. + + + Retour + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Retour + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analyser la fonction + This is the tooltip for the analyze function button + + + Analyser la fonction + This is the automation name for the analyze function button + + + Analyser la fonction + This is the text for the for the analyze function context menu command + + + Supprimer l’équation + This is the tooltip for the graphing calculator remove equation buttons + + + Supprimer l’équation + This is the automation name for the graphing calculator remove equation buttons + + + Supprimer l’équation + This is the text for the for the remove equation context menu command + + + Partager + This is the automation name for the graphing calculator share button. + + + Partager + This is the tooltip for the graphing calculator share button. + + + Modifier le style d’équation + This is the tooltip for the graphing calculator equation style button + + + Modifier le style d’équation + This is the automation name for the graphing calculator equation style button + + + Modifier le style d’équation + This is the text for the for the equation style context menu command + + + Afficher l’équation %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Masquer l’équation %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Arrêter le suivi + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Démarrer le suivi + This is the tooltip/automation name for the graphing calculator start tracing button + + + Fenêtre d’affichage du graphe, axe des x délimité par %1 et %2, axe y délimité par %3 et %4, affichage des équations de %5 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Configurer le curseur + This is the tooltip text for the slider options button in Graphing Calculator + + + Configurer le curseur + This is the automation name text for the slider options button in Graphing Calculator + + + Passer en mode équation + Used in Graphing Calculator to switch the view to the equation mode + + + Passer en mode graphique + Used in Graphing Calculator to switch the view to the graph mode + + + Passer en mode équation + Used in Graphing Calculator to switch the view to the equation mode + + + Le mode actuel est le mode équation + Announcement used in Graphing Calculator when switching to the equation mode + + + Le mode actuel est le mode graphique + Announcement used in Graphing Calculator when switching to the graph mode + + + Fenêtre + Heading for window extents on the settings + + + Degrés + Degrees mode on settings page + + + Grades + Gradian mode on settings page + + + Radians + Radians mode on settings page + + + Unités + Heading for Unit's on the settings + + + Réinitialiser l’affichage + Hyperlink button to reset the view of the graph + + + X-Max + X maximum value header + + + X-Min + X minimum value header + + + Y-Max + Y Maximum value header + + + Y-Min + Y minimum value header + + + Options de la grille + This is the tooltip text for the grid options button in Graphing Calculator + + + Options de la grille + This is the automation name text for the grid options button in Graphing Calculator + + + Options du graphique + Heading for the Graph Options flyout in Graphing mode. + + + Entrer une expression + this is the placeholder text used by the textbox to enter an equation + + + Copier + Copy menu item for the graph context menu + + + Couper + Cut menu item from the Equation TextBox + + + Copier + Copy menu item from the Equation TextBox + + + Coller + Paste menu item from the Equation TextBox + + + Annuler + Undo menu item from the Equation TextBox + + + Sélectionner tout + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/gl-ES/Resources.resw b/src/Calculator/Resources/gl-ES/Resources.resw index 8d51c6604..55dfb879d 100644 --- a/src/Calculator/Resources/gl-ES/Resources.resw +++ b/src/Calculator/Resources/gl-ES/Resources.resw @@ -697,9 +697,9 @@ Eliminar Text string for the Calculator Delete swipe button in the History list - - Copiar - Text string for the Calculator Copy option in the History list context menu + + Copiar + Text string for the Calculator Copy option in the History list context menu Eliminar @@ -867,7 +867,7 @@ É igual a - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Inverse Function @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Manter arriba + Manter na parte superior (Alt+frecha cara arriba) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Volver á vista completa + Volver á vista completa (Alt+frecha cara abaixo) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Erro de cálculo - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Rexistro de base X @@ -3075,6 +3059,10 @@ Función Displayed on the button that contains a flyout for the general functions in scientific mode. + + Desigualdades + Displayed on the button that contains a flyout for the inequality functions. + Bit a bit Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ bit máis significativo Used to describe the last bit of a binary number. Used in bit flip + + Representación gráfica + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + É igual a + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Trazado + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Restablecer visualización (CTRL + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Restablecer visualización + Screen reader prompt for the reset zoom button. + + + Ampliar (CTRL + signo máis) + This is the tool tip automation name for the Calculator zoom in button. + + + Ampliar + Screen reader prompt for the zoom in button. + + + Reducir (CTRL + signo menos) + This is the tool tip automation name for the Calculator zoom out button. + + + Reducir + Screen reader prompt for the zoom out button. + + + Engadir ecuación + Placeholder text for the equation input button + + + Non se pode compartir neste momento. + If there is an error in the sharing action will display a dialog with this text. + + + Aceptar + Used on the dismiss button of the share action error dialog. + + + Buscar as representacións gráficas con Calculadora de Windows + Sent as part of the shared content. The title for the share. + + + Ecuacións + Header that appears over the equations section when sharing + + + Variables + Header that appears over the variables section when sharing + + + Imaxe dunha gráfica con ecuacións + Alt text for the graph image when output via Share + + + Variables + Header text for variables area + + + Paso + Label text for the step text box + + + Mín. + Label text for the min text box + + + Máx. + Label text for the max text box + + + Cor de liña + Label for the Line Color section of the style picker + + + Análise de función + Title for KeyGraphFeatures Control + + + A función non ten ningunha asíntota horizontal. + Message displayed when the graph does not have any horizontal asymptotes + + + A función non ten ningún punto de inflexión. + Message displayed when the graph does not have any inflection points + + + A función non ten ningún punto máximo. + Message displayed when the graph does not have any maxima + + + A función non ten ningún punto mínimo. + Message displayed when the graph does not have any minima + + + Constante + String describing constant monotonicity of a function + + + Decrecente + String describing decreasing monotonicity of a function + + + Non é posible determinar a monotonía da función. + Error displayed when monotonicity cannot be determined + + + Crecente + String describing increasing monotonicity of a function + + + Descoñécese a monotonía da función. + Error displayed when monotonicity is unknown + + + A función non ten ningunha asíntota oblicua. + Message displayed when the graph does not have any oblique asymptotes + + + Non é posible determinar a paridade da función. + Error displayed when parity is cannot be determined + + + A función é par. + Message displayed with the function parity is even + + + A función non é nin par nin impar. + Message displayed with the function parity is neither even nor odd + + + A función é impar. + Message displayed with the function parity is odd + + + Descoñécese a paridade da función. + Error displayed when parity is unknown + + + Esta función non admite periodicidade. + Error displayed when periodicity is not supported + + + A función non é periódica. + Message displayed with the function periodicity is not periodic + + + Descoñécese a función de periodicidade. + Message displayed with the function periodicity is unknown + + + Estas funcionalidades son demasiado complexas para que as calcule a Calculadora: + Error displayed when analysis features cannot be calculated + + + A función non ten ningunha asíntota vertical. + Message displayed when the graph does not have any vertical asymptotes + + + A función non ten ningunha intersección x. + Message displayed when the graph does not have any x-intercepts + + + A función non ten ningunha intersección y-. + Message displayed when the graph does not have any y-intercepts + + + Dominio + Title for KeyGraphFeatures Domain Property + + + Asíntotas horizontais + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Puntos de inflexión + Title for KeyGraphFeatures Inflection Points Property + + + Esta función non admite análises. + Error displayed when graph analysis is not supported or had an error. + + + Máxima + Title for KeyGraphFeatures Maxima Property + + + Mínima + Title for KeyGraphFeatures Minima Property + + + Monotonía + Title for KeyGraphFeatures Monotonicity Property + + + Asíntotas oblicuas + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paridade + Title for KeyGraphFeatures Parity Property + + + Período + Title for KeyGraphFeatures Periodicity Property + + + Intervalo + Title for KeyGraphFeatures Range Property + + + Asíntotas verticais + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Intersección X + Title for KeyGraphFeatures XIntercept Property + + + Intersección Y + Title for KeyGraphFeatures YIntercept Property + + + Non foi posible realizar a análise para a función. + + + Non é posible calcular o dominio para esta función. + Error displayed when Domain is not returned from the analyzer. + + + Non é posible calcular o intervalo para esta función. + Error displayed when Range is not returned from the analyzer. + + + Atrás + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Atrás + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analizar función + This is the tooltip for the analyze function button + + + Analizar función + This is the automation name for the analyze function button + + + Analizar función + This is the text for the for the analyze function context menu command + + + Eliminar ecuación + This is the tooltip for the graphing calculator remove equation buttons + + + Eliminar ecuación + This is the automation name for the graphing calculator remove equation buttons + + + Eliminar ecuación + This is the text for the for the remove equation context menu command + + + Compartir + This is the automation name for the graphing calculator share button. + + + Compartir + This is the tooltip for the graphing calculator share button. + + + Modificar estilo de ecuación + This is the tooltip for the graphing calculator equation style button + + + Modificar estilo de ecuación + This is the automation name for the graphing calculator equation style button + + + Modificar estilo de ecuación + This is the text for the for the equation style context menu command + + + Mostrar ecuación %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Ocultar ecuación %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Parar rastrexamento + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Iniciar rastrexamento + This is the tooltip/automation name for the graphing calculator start tracing button + + + Ventá de visualización de gráficos, eixe x ligado por %1 e %2, eixe y ligado por %3 e %4, mostrando %5 ecuacións + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Configurar o cursor da barra de desprazamento + This is the tooltip text for the slider options button in Graphing Calculator + + + Configurar o cursor da barra de desprazamento + This is the automation name text for the slider options button in Graphing Calculator + + + Cambiar ao modo de ecuación + Used in Graphing Calculator to switch the view to the equation mode + + + Cambiar ao modo de gráfica + Used in Graphing Calculator to switch the view to the graph mode + + + Cambiar ao modo de ecuación + Used in Graphing Calculator to switch the view to the equation mode + + + O modo actual é o modo de ecuación + Announcement used in Graphing Calculator when switching to the equation mode + + + O modo actual é o modo de gráfica + Announcement used in Graphing Calculator when switching to the graph mode + + + Ventá + Heading for window extents on the settings + + + Graos + Degrees mode on settings page + + + Gradiáns + Gradian mode on settings page + + + Radiáns + Radians mode on settings page + + + Unidades + Heading for Unit's on the settings + + + Restablecer a vista + Hyperlink button to reset the view of the graph + + + X-máx. + X maximum value header + + + X-mín. + X minimum value header + + + Y-máx. + Y Maximum value header + + + Y-mín. + Y minimum value header + + + Opcións de grade + This is the tooltip text for the grid options button in Graphing Calculator + + + Opcións de grade + This is the automation name text for the grid options button in Graphing Calculator + + + Opcións de gráfica + Heading for the Graph Options flyout in Graphing mode. + + + Introducir unha expresión + this is the placeholder text used by the textbox to enter an equation + + + Copiar + Copy menu item for the graph context menu + + + Cortar + Cut menu item from the Equation TextBox + + + Copiar + Copy menu item from the Equation TextBox + + + Pegar + Paste menu item from the Equation TextBox + + + Desfacer + Undo menu item from the Equation TextBox + + + Seleccionar todo + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/ha-Latn-NG/Resources.resw b/src/Calculator/Resources/ha-Latn-NG/Resources.resw index 7cffbfc61..17bb9052b 100644 --- a/src/Calculator/Resources/ha-Latn-NG/Resources.resw +++ b/src/Calculator/Resources/ha-Latn-NG/Resources.resw @@ -351,7 +351,7 @@ Daidai - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Ɗebewa diff --git a/src/Calculator/Resources/he-IL/Resources.resw b/src/Calculator/Resources/he-IL/Resources.resw index 1b2089176..9aa1932b4 100644 --- a/src/Calculator/Resources/he-IL/Resources.resw +++ b/src/Calculator/Resources/he-IL/Resources.resw @@ -697,9 +697,9 @@ מחק Text string for the Calculator Delete swipe button in the History list - - העתק - Text string for the Calculator Copy option in the History list context menu + + העתק + Text string for the Calculator Copy option in the History list context menu מחק @@ -867,7 +867,7 @@ שווה - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad ‏‏פונקציה הפיכה @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - שמור למעלה + שמור למעלה (Alt + חץ למעלה) This is the tool tip automation name for the Always-on-Top button when in normal mode. - חזרה לתצוגה מלאה + חזרה לתצוגה מלאה (Alt + חץ למטה) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ או AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ החישוב נכשל - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation בסיס יומן רישום X @@ -3075,6 +3059,10 @@ פונקציה Displayed on the button that contains a flyout for the general functions in scientific mode. + + אי-שיוויונות + Displayed on the button that contains a flyout for the inequality functions. + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3255,4 +3243,427 @@ הסיבית הכי חשובה Used to describe the last bit of a binary number. Used in bit flip + + הצגת גרף + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + שווה + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + בצע התוויית נתונים + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + איפוס תצוגה (מקש Ctrl ‏+‏ 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + אפס תצוגה + Screen reader prompt for the reset zoom button. + + + הגדל תצוגה (מקש Ctrl + מקש חיבור ('+')) + This is the tool tip automation name for the Calculator zoom in button. + + + הגדל תצוגה + Screen reader prompt for the zoom in button. + + + הקטן תצוגה (מקש Ctrl + מקש חיסור ('-')) + This is the tool tip automation name for the Calculator zoom out button. + + + הקטן תצוגה + Screen reader prompt for the zoom out button. + + + הוסף משוואה + Placeholder text for the equation input button + + + אין אפשרות לשתף כעת. + If there is an error in the sharing action will display a dialog with this text. + + + אישור + Used on the dismiss button of the share action error dialog. + + + ראה איזה גרף יצרתי עם 'מחשבון Windows' + Sent as part of the shared content. The title for the share. + + + משוואות + Header that appears over the equations section when sharing + + + משתנים + Header that appears over the variables section when sharing + + + תמונה של גרף עם משוואות + Alt text for the graph image when output via Share + + + משתנים + Header text for variables area + + + שלב + Label text for the step text box + + + Min + Label text for the min text box + + + Max + Label text for the max text box + + + צבע שורה + Label for the Line Color section of the style picker + + + ניתוח פונקציה + Title for KeyGraphFeatures Control + + + הפונקציה אינה כוללת אסימפטוטות אופקיות. + Message displayed when the graph does not have any horizontal asymptotes + + + הפונקציה אינה כוללת נקודות פיתול. + Message displayed when the graph does not have any inflection points + + + הפונקציה אינה כוללת נקודות מקסימום. + Message displayed when the graph does not have any maxima + + + הפונקציה אינה כוללת נקודות מינימום. + Message displayed when the graph does not have any minima + + + קבוע + String describing constant monotonicity of a function + + + פוחתת + String describing decreasing monotonicity of a function + + + לא ניתן לקבוע את המונוטוניות של הפונקציה. + Error displayed when monotonicity cannot be determined + + + גודלת + String describing increasing monotonicity of a function + + + המונוטוניות של הפונקציה אינה ידועה. + Error displayed when monotonicity is unknown + + + לפונקציה אין אסימפטוטים אלכסוניות. + Message displayed when the graph does not have any oblique asymptotes + + + אין אפשרות לקבוע את הזוגיות של הפונקציה. + Error displayed when parity is cannot be determined + + + הפונקציה זוגית. + Message displayed with the function parity is even + + + הפונקציה אינה זוגית ואינה לא זוגית. + Message displayed with the function parity is neither even nor odd + + + הפונקציה לא זוגית. + Message displayed with the function parity is odd + + + זוגיות הפונקציה אינה ידועה. + Error displayed when parity is unknown + + + מחזוריות אינה נתמכת בפונקציה זו. + Error displayed when periodicity is not supported + + + הפונקציה אינה מחזורית. + Message displayed with the function periodicity is not periodic + + + מחזוריות הפונקציה אינה ידועה. + Message displayed with the function periodicity is unknown + + + תכונות אלה מורכבות מדי לחישוב 'מחשבון': + Error displayed when analysis features cannot be calculated + + + הפונקציה אינה כוללת אסימפטוטות אנכיות. + Message displayed when the graph does not have any vertical asymptotes + + + הפונקציה אינה כוללת נקודות חיתוך עם ציר x. + Message displayed when the graph does not have any x-intercepts + + + הפונקציה אינה כוללת נקודות חיתוך עם ציר y. + Message displayed when the graph does not have any y-intercepts + + + תחום + Title for KeyGraphFeatures Domain Property + + + אסימפטוטות אופקיות + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + נקודות פיתול + Title for KeyGraphFeatures Inflection Points Property + + + אין תמיכה בניתוח עבור פונקציה זו. + Error displayed when graph analysis is not supported or had an error. + + + מקסימום + Title for KeyGraphFeatures Maxima Property + + + מינימום + Title for KeyGraphFeatures Minima Property + + + מונוטוניות + Title for KeyGraphFeatures Monotonicity Property + + + אסימפטוטות אלכסוניות + Title for KeyGraphFeatures Oblique Asymptotes Property + + + זוגיות + Title for KeyGraphFeatures Parity Property + + + מחזור + Title for KeyGraphFeatures Periodicity Property + + + טווח + Title for KeyGraphFeatures Range Property + + + אסימפטוטות אנכיות + Title for KeyGraphFeatures Vertical Asymptotes Property + + + חיתוך עם ציר X + Title for KeyGraphFeatures XIntercept Property + + + חיתוך עם ציר Y + Title for KeyGraphFeatures YIntercept Property + + + לא היתה אפשרות לבצע ניתוח עבור הפונקציה. + + + אין אפשרות לחשב את התחום עבור פונקציה זו. + Error displayed when Domain is not returned from the analyzer. + + + אין אפשרות לחשב את הטווח עבור פונקציה זו. + Error displayed when Range is not returned from the analyzer. + + + הקודם + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + הקודם + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + נתח פונקציה + This is the tooltip for the analyze function button + + + נתח פונקציה + This is the automation name for the analyze function button + + + נתח פונקציה + This is the text for the for the analyze function context menu command + + + הסר משוואה + This is the tooltip for the graphing calculator remove equation buttons + + + הסר משוואה + This is the automation name for the graphing calculator remove equation buttons + + + הסר משוואה + This is the text for the for the remove equation context menu command + + + שתף + This is the automation name for the graphing calculator share button. + + + שתף + This is the tooltip for the graphing calculator share button. + + + שנה סגנון משוואה + This is the tooltip for the graphing calculator equation style button + + + שנה סגנון משוואה + This is the automation name for the graphing calculator equation style button + + + שנה סגנון משוואה + This is the text for the for the equation style context menu command + + + הצג את משוואה %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + הסתר את משוואה %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + הפסק מעקב + This is the tooltip/automation name for the graphing calculator stop tracing button + + + התחל מעקב + This is the tooltip/automation name for the graphing calculator start tracing button + + + חלון הצגה של גרף, ציר x המאוגד על-ידי %1 ו%2, ציר y המאוגד על-ידי %3 ו%4, מציג משוואות %5 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + קבע תצורת מחוון + This is the tooltip text for the slider options button in Graphing Calculator + + + קבע תצורת מחוון + This is the automation name text for the slider options button in Graphing Calculator + + + עבור למצב משוואה + Used in Graphing Calculator to switch the view to the equation mode + + + עבור למצב גרף + Used in Graphing Calculator to switch the view to the graph mode + + + עבור למצב משוואה + Used in Graphing Calculator to switch the view to the equation mode + + + המצב הנוכחי הוא מצב משוואה + Announcement used in Graphing Calculator when switching to the equation mode + + + המצב הנוכחי הוא מצב גרף + Announcement used in Graphing Calculator when switching to the graph mode + + + חלון + Heading for window extents on the settings + + + מעלות + Degrees mode on settings page + + + גראדים + Gradian mode on settings page + + + רדיאנים + Radians mode on settings page + + + יחידות + Heading for Unit's on the settings + + + איפוס תצוגה + Hyperlink button to reset the view of the graph + + + X-Max + X maximum value header + + + X-Min + X minimum value header + + + Y-Max + Y Maximum value header + + + Y-Min + Y minimum value header + + + אפשרויות רשת + This is the tooltip text for the grid options button in Graphing Calculator + + + אפשרויות רשת + This is the automation name text for the grid options button in Graphing Calculator + + + אפשרויות גרף + Heading for the Graph Options flyout in Graphing mode. + + + הזן ביטוי + this is the placeholder text used by the textbox to enter an equation + + + העתק + Copy menu item for the graph context menu + + + גזור + Cut menu item from the Equation TextBox + + + העתק + Copy menu item from the Equation TextBox + + + הדבק + Paste menu item from the Equation TextBox + + + בטל + Undo menu item from the Equation TextBox + + + בחר הכל + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/hi-IN/Resources.resw b/src/Calculator/Resources/hi-IN/Resources.resw index 791b20f6f..b4b31f394 100644 --- a/src/Calculator/Resources/hi-IN/Resources.resw +++ b/src/Calculator/Resources/hi-IN/Resources.resw @@ -697,9 +697,9 @@ हटाएँ Text string for the Calculator Delete swipe button in the History list - - प्रतिलिपि बनाएँ - Text string for the Calculator Copy option in the History list context menu + + प्रतिलिपि बनाएँ + Text string for the Calculator Copy option in the History list context menu हटाएँ @@ -867,7 +867,7 @@ बराबर - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad प्रतिलोम फ़ंक्शन @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - शीर्ष पर रखें + शीर्ष पर रखें (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - पूर्ण दृश्य पर वापस जाएँ + पूर्ण दृश्य पर वापस जाएँ (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ है Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - को AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ गणना विफल - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation लघुगुणक आधार X @@ -3075,6 +3059,10 @@ फलन Displayed on the button that contains a flyout for the general functions in scientific mode. + + असमानताएँ + Displayed on the button that contains a flyout for the inequality functions. + बिटवाइज़ Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ सबसे अधिक महत्वपूर्ण बिट Used to describe the last bit of a binary number. Used in bit flip + + ग्राफ़िंग + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + बराबर + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + प्लॉट + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + दृश्य रीसेट करें (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + दृश्य रीसेट करें + Screen reader prompt for the reset zoom button. + + + ज़ूम इन करें (Ctrl + प्लस) + This is the tool tip automation name for the Calculator zoom in button. + + + ज़ूम इन करें + Screen reader prompt for the zoom in button. + + + ज़ूम आउट करें (Ctrl + माइनस) + This is the tool tip automation name for the Calculator zoom out button. + + + ज़ूम आउट करें + Screen reader prompt for the zoom out button. + + + समीकरण जोड़ें + Placeholder text for the equation input button + + + इस समय साझा करने में असमर्थ. + If there is an error in the sharing action will display a dialog with this text. + + + ठीक + Used on the dismiss button of the share action error dialog. + + + देखें कि Windows कैल्क्यूलेटर के साथ मैंने क्या ग्राफ़ बनाया है + Sent as part of the shared content. The title for the share. + + + समीकरण + Header that appears over the equations section when sharing + + + चर + Header that appears over the variables section when sharing + + + समीकरणों के साथ ग्राफ़ की छवि + Alt text for the graph image when output via Share + + + चर + Header text for variables area + + + चरण + Label text for the step text box + + + न्यून + Label text for the min text box + + + अधिक + Label text for the max text box + + + रेखा का रंग + Label for the Line Color section of the style picker + + + फ़ंक्शन विश्लेषण + Title for KeyGraphFeatures Control + + + फ़ंक्शन में कोई भी क्षैतिज अनंतस्पर्शी नहीं हैं. + Message displayed when the graph does not have any horizontal asymptotes + + + फ़ंक्शन में कोई भी मोड़ बिंदु नहीं हैं. + Message displayed when the graph does not have any inflection points + + + फ़ंक्शन में कोई भी अधिकतम बिंदु नहीं हैं. + Message displayed when the graph does not have any maxima + + + फ़ंक्शन में कोई भी न्यूनतम बिंदु नहीं हैं. + Message displayed when the graph does not have any minima + + + लगातार + String describing constant monotonicity of a function + + + कम होते हुए + String describing decreasing monotonicity of a function + + + फ़ंक्शन का एकदिष्टता निर्धारित करने में असमर्थ. + Error displayed when monotonicity cannot be determined + + + बढ़ते हुए + String describing increasing monotonicity of a function + + + फ़ंक्शन की एकदिष्टता अज्ञात है. + Error displayed when monotonicity is unknown + + + फ़ंक्शन में कोई भी तिर्यक अनंतस्पर्शी नहीं हैं. + Message displayed when the graph does not have any oblique asymptotes + + + फ़ंक्शन की समता को निर्धारित करने में असमर्थ. + Error displayed when parity is cannot be determined + + + फ़ंक्शन सम है. + Message displayed with the function parity is even + + + फ़ंक्शन न तो सम है और न ही विषम. + Message displayed with the function parity is neither even nor odd + + + फ़ंक्शन विषम है. + Message displayed with the function parity is odd + + + फ़ंक्शन समता अज्ञात है. + Error displayed when parity is unknown + + + इस फ़ंक्शन के लिए आवधिकता समर्थित नहीं है. + Error displayed when periodicity is not supported + + + फ़ंक्शन आवधिक नहीं है. + Message displayed with the function periodicity is not periodic + + + फ़ंक्शन आवधिकता अज्ञात है. + Message displayed with the function periodicity is unknown + + + कैल्क्यूलेटर की गणना करने के लिए ये सुविधाएँ बहुत जटिल हैं: + Error displayed when analysis features cannot be calculated + + + फ़ंक्शन में कोई भी अनुलंब अनंतस्पर्शी नहीं हैं. + Message displayed when the graph does not have any vertical asymptotes + + + फ़ंक्शन में कोई भी x-अवरोधन नहीं हैं. + Message displayed when the graph does not have any x-intercepts + + + फ़ंक्शन में कोई भी y-अवरोधन नहीं हैं. + Message displayed when the graph does not have any y-intercepts + + + डोमेन + Title for KeyGraphFeatures Domain Property + + + क्षैतिज अनंतस्पर्शी + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + मोड़ बिंदु + Title for KeyGraphFeatures Inflection Points Property + + + इस फ़ंक्शन के लिए विश्लेषण समर्थित नहीं है. + Error displayed when graph analysis is not supported or had an error. + + + अधिकतम + Title for KeyGraphFeatures Maxima Property + + + न्यूनतम + Title for KeyGraphFeatures Minima Property + + + एकदिष्टता + Title for KeyGraphFeatures Monotonicity Property + + + तिर्यक अनंतस्पर्शी + Title for KeyGraphFeatures Oblique Asymptotes Property + + + समता + Title for KeyGraphFeatures Parity Property + + + अवधि + Title for KeyGraphFeatures Periodicity Property + + + रेंज + Title for KeyGraphFeatures Range Property + + + अनुलंब अनंतस्पर्शी + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-अवरोधन + Title for KeyGraphFeatures XIntercept Property + + + Y-अवरोधन + Title for KeyGraphFeatures YIntercept Property + + + फ़ंक्शन के लिए विश्लेषण निष्पादित नहीं किया जा सका. + + + इस फ़ंक्शन के लिए डोमेन की गणना करने में असमर्थ. + Error displayed when Domain is not returned from the analyzer. + + + इस फ़ंक्शन के लिए श्रेणी की गणना करने में असमर्थ. + Error displayed when Range is not returned from the analyzer. + + + वापस + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + वापस + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + फ़ंक्शन का विश्लेषण करें + This is the tooltip for the analyze function button + + + फ़ंक्शन का विश्लेषण करें + This is the automation name for the analyze function button + + + फ़ंक्शन का विश्लेषण करें + This is the text for the for the analyze function context menu command + + + समीकरण निकालें + This is the tooltip for the graphing calculator remove equation buttons + + + समीकरण निकालें + This is the automation name for the graphing calculator remove equation buttons + + + समीकरण निकालें + This is the text for the for the remove equation context menu command + + + साझा करें + This is the automation name for the graphing calculator share button. + + + साझा करें + This is the tooltip for the graphing calculator share button. + + + समीकरण शैली परिवर्तित करें + This is the tooltip for the graphing calculator equation style button + + + समीकरण शैली परिवर्तित करें + This is the automation name for the graphing calculator equation style button + + + समीकरण शैली परिवर्तित करें + This is the text for the for the equation style context menu command + + + समीकरण %1 दिखाएँ + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + समीकरण %1 छुपाएँ + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + ट्रेसिंग रोकें + This is the tooltip/automation name for the graphing calculator stop tracing button + + + ट्रेसिंग प्रारंभ करें + This is the tooltip/automation name for the graphing calculator start tracing button + + + ग्राफ़ दृश्य विंडो, x-अक्ष, %1 और %2 द्वारा बाउंड है, %3 और %4 द्वारा बाउंड किए गए y-अक्ष, %5 समीकरणों को प्रदर्शित करते हुए + {Locked="%1","%2", "%3", "%4", "%5"}. + + + स्लाइडर कॉन्फ़िगर करें + This is the tooltip text for the slider options button in Graphing Calculator + + + स्लाइडर कॉन्फ़िगर करें + This is the automation name text for the slider options button in Graphing Calculator + + + समीकरण मोड पर स्विच करें + Used in Graphing Calculator to switch the view to the equation mode + + + ग्राफ़ मोड पर स्विच करें + Used in Graphing Calculator to switch the view to the graph mode + + + समीकरण मोड पर स्विच करें + Used in Graphing Calculator to switch the view to the equation mode + + + वर्तमान मोड समीकरण मोड है + Announcement used in Graphing Calculator when switching to the equation mode + + + वर्तमान मोड ग्राफ़ मोड है + Announcement used in Graphing Calculator when switching to the graph mode + + + विंडो + Heading for window extents on the settings + + + डिग्री + Degrees mode on settings page + + + ग्रेडियन + Gradian mode on settings page + + + रेडियन + Radians mode on settings page + + + इकाइयाँ + Heading for Unit's on the settings + + + दृश्य रीसेट करें + Hyperlink button to reset the view of the graph + + + X-अधिकतम + X maximum value header + + + X-न्यूनतम + X minimum value header + + + Y-अधिकतम + Y Maximum value header + + + Y-न्यूनतम + Y minimum value header + + + ग्रिड विकल्प + This is the tooltip text for the grid options button in Graphing Calculator + + + ग्रिड विकल्प + This is the automation name text for the grid options button in Graphing Calculator + + + ग्राफ़ विकल्प + Heading for the Graph Options flyout in Graphing mode. + + + कोई व्यंजक दर्ज करें + this is the placeholder text used by the textbox to enter an equation + + + प्रतिलिपि बनाएँ + Copy menu item for the graph context menu + + + काटें + Cut menu item from the Equation TextBox + + + प्रतिलिपि बनाएँ + Copy menu item from the Equation TextBox + + + चिपकाएँ + Paste menu item from the Equation TextBox + + + पूर्ववत् करें + Undo menu item from the Equation TextBox + + + सभी का चयन करें + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/hr-HR/Resources.resw b/src/Calculator/Resources/hr-HR/Resources.resw index 2c172e50c..8743b51d0 100644 --- a/src/Calculator/Resources/hr-HR/Resources.resw +++ b/src/Calculator/Resources/hr-HR/Resources.resw @@ -697,9 +697,9 @@ Izbriši Text string for the Calculator Delete swipe button in the History list - - Kopiraj - Text string for the Calculator Copy option in the History list context menu + + Kopiraj + Text string for the Calculator Copy option in the History list context menu Izbriši @@ -867,7 +867,7 @@ Jednako - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Inverzna funkcija @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Zadrži na vrhu + Zadrži na vrhu (Alt+gore) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Natrag na puni prikaz + Natrag na puni prikaz (Alt+dolje) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Izračun nije uspio - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logaritamska baza X @@ -3075,6 +3059,10 @@ Funkcija Displayed on the button that contains a flyout for the general functions in scientific mode. + + Nejednakosti + Displayed on the button that contains a flyout for the inequality functions. + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ najznačajniji dio Used to describe the last bit of a binary number. Used in bit flip + + Izrada grafikona + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Jednako + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Ucrtaj + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Ponovno postavi prikaz (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Vrati izvorni prikaz + Screen reader prompt for the reset zoom button. + + + Povećavanje (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Povećavanje + Screen reader prompt for the zoom in button. + + + Smanjivanje (Ctrl + minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Smanjivanje + Screen reader prompt for the zoom out button. + + + Dodaj jednadžbu + Placeholder text for the equation input button + + + Trenutno nije moguće dijeliti. + If there is an error in the sharing action will display a dialog with this text. + + + U redu + Used on the dismiss button of the share action error dialog. + + + Pogledajte grafikon koji sam izradio/la pomoću aplikacije Windows kalkulator + Sent as part of the shared content. The title for the share. + + + Jednadžbe + Header that appears over the equations section when sharing + + + Varijable + Header that appears over the variables section when sharing + + + Slika grafikona s jednadžbama + Alt text for the graph image when output via Share + + + Varijable + Header text for variables area + + + Korak + Label text for the step text box + + + Minimum + Label text for the min text box + + + Maksimum + Label text for the max text box + + + Boja crte + Label for the Line Color section of the style picker + + + Analiza funkcije + Title for KeyGraphFeatures Control + + + Funkcija nema vodoravne asimptote. + Message displayed when the graph does not have any horizontal asymptotes + + + Funkcija nema prijevojnih točaka. + Message displayed when the graph does not have any inflection points + + + Funkcija ne sadrži točke maksimuma. + Message displayed when the graph does not have any maxima + + + Funkcija ne sadrži točke minimuma. + Message displayed when the graph does not have any minima + + + Konstanta + String describing constant monotonicity of a function + + + Padajuće + String describing decreasing monotonicity of a function + + + Nije moguće utvrditi monotonost funkcije. + Error displayed when monotonicity cannot be determined + + + Rastuća + String describing increasing monotonicity of a function + + + Monotonost funkcije nije poznata. + Error displayed when monotonicity is unknown + + + Funkcija ne sadrži niti jednu kosu asimptotu. + Message displayed when the graph does not have any oblique asymptotes + + + Nije moguće utvrditi parnost funkcije. + Error displayed when parity is cannot be determined + + + Funkcija je parna. + Message displayed with the function parity is even + + + Funkcija nije ni parna ni neparna. + Message displayed with the function parity is neither even nor odd + + + Funkcija je neparna. + Message displayed with the function parity is odd + + + Parnost funkcije nije poznata. + Error displayed when parity is unknown + + + Za ovu funkciju nije podržana periodičnost. + Error displayed when periodicity is not supported + + + Funkcija nije periodična. + Message displayed with the function periodicity is not periodic + + + Periodičnost funkcije nije poznata. + Message displayed with the function periodicity is unknown + + + Ove su značajke previše složene da bi Kalkulator mogao izračunati: + Error displayed when analysis features cannot be calculated + + + Funkcija nema okomitih asimptota. + Message displayed when the graph does not have any vertical asymptotes + + + Funkcija ne sadrži niti jedno sjecište x-osi. + Message displayed when the graph does not have any x-intercepts + + + Funkcija ne sadrži niti jedno sjecište y-osi. + Message displayed when the graph does not have any y-intercepts + + + Domena + Title for KeyGraphFeatures Domain Property + + + Vodoravne asimptote + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Prijevojne točke + Title for KeyGraphFeatures Inflection Points Property + + + Za ovu funkciju nije podržana analiza. + Error displayed when graph analysis is not supported or had an error. + + + Točka maksimuma + Title for KeyGraphFeatures Maxima Property + + + Točka minimuma + Title for KeyGraphFeatures Minima Property + + + Monotonost + Title for KeyGraphFeatures Monotonicity Property + + + Kose asimptote + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Parnost + Title for KeyGraphFeatures Parity Property + + + Period + Title for KeyGraphFeatures Periodicity Property + + + Raspon + Title for KeyGraphFeatures Range Property + + + Okomite asimptote + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Sjecište x-osi + Title for KeyGraphFeatures XIntercept Property + + + Sjecište y-osi + Title for KeyGraphFeatures YIntercept Property + + + Nije moguće izvršiti analizu za tu funkciju. + + + Nije moguće izračunati domenu za ovu funkciju. + Error displayed when Domain is not returned from the analyzer. + + + Nije moguće izračunati raspon za tu funkciju. + Error displayed when Range is not returned from the analyzer. + + + Natrag + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Natrag + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analiziraj funkciju + This is the tooltip for the analyze function button + + + Analiziraj funkciju + This is the automation name for the analyze function button + + + Analiziraj funkciju + This is the text for the for the analyze function context menu command + + + Ukloni jednadžbu + This is the tooltip for the graphing calculator remove equation buttons + + + Ukloni jednadžbu + This is the automation name for the graphing calculator remove equation buttons + + + Ukloni jednadžbu + This is the text for the for the remove equation context menu command + + + Zajednički koristi + This is the automation name for the graphing calculator share button. + + + Podijeli + This is the tooltip for the graphing calculator share button. + + + Promijeni stil jednadžbe + This is the tooltip for the graphing calculator equation style button + + + Promijeni stil jednadžbe + This is the automation name for the graphing calculator equation style button + + + Promijeni stil jednadžbe + This is the text for the for the equation style context menu command + + + Prikaži jednadžbu %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Sakrij jednadžbu %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Prekini ucrtavanje + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Započni ucrtavanje + This is the tooltip/automation name for the graphing calculator start tracing button + + + Prozor za prikaz grafikona, x-OS bounded %1 i %2, os y bounded %3 i %4, prikazuje %5 jednadžbe + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfiguriraj klizač + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfiguriraj klizač + This is the automation name text for the slider options button in Graphing Calculator + + + Prebaci na način jednadžbe + Used in Graphing Calculator to switch the view to the equation mode + + + Prebaci na način grafikona + Used in Graphing Calculator to switch the view to the graph mode + + + Prebaci na način jednadžbe + Used in Graphing Calculator to switch the view to the equation mode + + + Trenutni način rada je način jednadžbe + Announcement used in Graphing Calculator when switching to the equation mode + + + Trenutni je način rada je način grafikona + Announcement used in Graphing Calculator when switching to the graph mode + + + Prozor + Heading for window extents on the settings + + + Stupnjevi + Degrees mode on settings page + + + Gradijenti + Gradian mode on settings page + + + Radijani + Radians mode on settings page + + + Jedinice + Heading for Unit's on the settings + + + Vrati izvorni prikaz + Hyperlink button to reset the view of the graph + + + X-maks. + X maximum value header + + + X-min. + X minimum value header + + + Y-maks. + Y Maximum value header + + + Y-min. + Y minimum value header + + + Mogućnosti rešetke + This is the tooltip text for the grid options button in Graphing Calculator + + + Mogućnosti rešetke + This is the automation name text for the grid options button in Graphing Calculator + + + Mogućnosti grafikona + Heading for the Graph Options flyout in Graphing mode. + + + Unesite izraz + this is the placeholder text used by the textbox to enter an equation + + + Kopiraj + Copy menu item for the graph context menu + + + Izreži + Cut menu item from the Equation TextBox + + + Kopiraj + Copy menu item from the Equation TextBox + + + Zalijepi + Paste menu item from the Equation TextBox + + + Poništi + Undo menu item from the Equation TextBox + + + Odaberi sve + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/hu-HU/Resources.resw b/src/Calculator/Resources/hu-HU/Resources.resw index 86297d48c..f8b1bac3c 100644 --- a/src/Calculator/Resources/hu-HU/Resources.resw +++ b/src/Calculator/Resources/hu-HU/Resources.resw @@ -697,9 +697,9 @@ Törlés Text string for the Calculator Delete swipe button in the History list - - Másolás - Text string for the Calculator Copy option in the History list context menu + + Másolás + Text string for the Calculator Copy option in the History list context menu Törlés @@ -867,7 +867,7 @@ Egyenlő - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Inverz függvény @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Mindig felül legyen + Mindig felül legyen (Alt+fel) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Vissza a teljes nézethez + Vissza a teljes nézethez (Alt+le) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ A számítás nem sikerült. - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logaritmus alapja X @@ -3075,6 +3059,10 @@ Függvény Displayed on the button that contains a flyout for the general functions in scientific mode. + + Egyenlőtlenségek + Displayed on the button that contains a flyout for the inequality functions. + Bitenként Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ legfontosabb bit Used to describe the last bit of a binary number. Used in bit flip + + Grafikus + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Egyenlő + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Elhelyezés + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Nézet alaphelyzetbe állítása (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Nézet alaphelyzetbe + Screen reader prompt for the reset zoom button. + + + Nagyítás (Ctrl + pluszjel) + This is the tool tip automation name for the Calculator zoom in button. + + + Nagyítás + Screen reader prompt for the zoom in button. + + + Kicsinyítés (Ctrl + mínuszjel) + This is the tool tip automation name for the Calculator zoom out button. + + + Kicsinyítés + Screen reader prompt for the zoom out button. + + + Egyenlet hozzáadása + Placeholder text for the equation input button + + + A megosztás jelenleg nem lehetséges. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Ezt a grafikont készítettem a Windows Számológéppel! + Sent as part of the shared content. The title for the share. + + + Egyenletek + Header that appears over the equations section when sharing + + + Változók + Header that appears over the variables section when sharing + + + Egyenletekkel ellátott grafikon képe + Alt text for the graph image when output via Share + + + Változók + Header text for variables area + + + Lépték + Label text for the step text box + + + Min. + Label text for the min text box + + + Max. + Label text for the max text box + + + Vonal színe + Label for the Line Color section of the style picker + + + Függvényelemzés + Title for KeyGraphFeatures Control + + + A függvénynek nincs vízszintes aszimptotája. + Message displayed when the graph does not have any horizontal asymptotes + + + A függvénynek nincs inflexiós pontja. + Message displayed when the graph does not have any inflection points + + + A függvénynek nincs maximumpontja. + Message displayed when the graph does not have any maxima + + + A függvénynek nincs minimumpontja. + Message displayed when the graph does not have any minima + + + Állandó + String describing constant monotonicity of a function + + + Csökkenő + String describing decreasing monotonicity of a function + + + Nem sikerült megállapítani a függvény monotonitását. + Error displayed when monotonicity cannot be determined + + + Növekvő + String describing increasing monotonicity of a function + + + A függvény monotonitása ismeretlen. + Error displayed when monotonicity is unknown + + + A függvénynek nincs ferde aszimptotája. + Message displayed when the graph does not have any oblique asymptotes + + + Nem sikerült megállapítani a függvény paritását. + Error displayed when parity is cannot be determined + + + A függvény páros. + Message displayed with the function parity is even + + + A függvény se nem páros, se nem páratlan. + Message displayed with the function parity is neither even nor odd + + + A függvény páratlan. + Message displayed with the function parity is odd + + + A függvény paritása ismeretlen. + Error displayed when parity is unknown + + + Ez a függvény nem támogatja a periodicitást. + Error displayed when periodicity is not supported + + + A függvény nem periodikus. + Message displayed with the function periodicity is not periodic + + + A függvény periodicitása ismeretlen. + Message displayed with the function periodicity is unknown + + + Ezek a jellemzők túl összetettek a Számológép általi kiszámításhoz: + Error displayed when analysis features cannot be calculated + + + A függvénynek nincs függőleges aszimptotája. + Message displayed when the graph does not have any vertical asymptotes + + + A függvénynek nincs x tengelymetszete. + Message displayed when the graph does not have any x-intercepts + + + A függvénynek nincs y tengelymetszete. + Message displayed when the graph does not have any y-intercepts + + + Értelmezési tartomány + Title for KeyGraphFeatures Domain Property + + + Vízszintes aszimptoták + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Inflexiós pontok + Title for KeyGraphFeatures Inflection Points Property + + + Ez a függvény nem támogatja az elemzést. + Error displayed when graph analysis is not supported or had an error. + + + Maximum + Title for KeyGraphFeatures Maxima Property + + + Minimum + Title for KeyGraphFeatures Minima Property + + + Monotonicitás + Title for KeyGraphFeatures Monotonicity Property + + + Ferde aszimptoták + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paritás + Title for KeyGraphFeatures Parity Property + + + Periódus + Title for KeyGraphFeatures Periodicity Property + + + Értékkészlet + Title for KeyGraphFeatures Range Property + + + Függőleges aszimptoták + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X tengelymetszet + Title for KeyGraphFeatures XIntercept Property + + + Y tengelymetszet + Title for KeyGraphFeatures YIntercept Property + + + Nem sikerült elvégezni az elemzést a függvényhez. + + + Nem lehet kiszámítani a függvény értelmezési tartományát. + Error displayed when Domain is not returned from the analyzer. + + + Nem lehet kiszámítani a függvény értékkészletét. + Error displayed when Range is not returned from the analyzer. + + + Vissza + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Vissza + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Függvény elemzése + This is the tooltip for the analyze function button + + + Függvény elemzése + This is the automation name for the analyze function button + + + Függvény elemzése + This is the text for the for the analyze function context menu command + + + Egyenlet eltávolítása + This is the tooltip for the graphing calculator remove equation buttons + + + Egyenlet eltávolítása + This is the automation name for the graphing calculator remove equation buttons + + + Egyenlet eltávolítása + This is the text for the for the remove equation context menu command + + + Megosztás + This is the automation name for the graphing calculator share button. + + + Megosztás + This is the tooltip for the graphing calculator share button. + + + Egyenlet stílusának módosítása + This is the tooltip for the graphing calculator equation style button + + + Egyenlet stílusának módosítása + This is the automation name for the graphing calculator equation style button + + + Egyenlet stílusának módosítása + This is the text for the for the equation style context menu command + + + %1. egyenlet megjelenítése + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + %1. egyenlet elrejtése + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Ábrázolás leállítása + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Ábrázolás indítása + This is the tooltip/automation name for the graphing calculator start tracing button + + + A diagram kötött, az x tengely a %1 és a %2, az y tengely kötött, %3 és %4 között %5 egyenletek megjelenítése + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Csúszka konfigurálása + This is the tooltip text for the slider options button in Graphing Calculator + + + Csúszka konfigurálása + This is the automation name text for the slider options button in Graphing Calculator + + + Váltás egyenlet módba + Used in Graphing Calculator to switch the view to the equation mode + + + Váltás grafikon módba + Used in Graphing Calculator to switch the view to the graph mode + + + Váltás egyenlet módba + Used in Graphing Calculator to switch the view to the equation mode + + + A jelenlegi mód az egyenlet mód + Announcement used in Graphing Calculator when switching to the equation mode + + + A jelenlegi mód a grafikon mód + Announcement used in Graphing Calculator when switching to the graph mode + + + Ablak + Heading for window extents on the settings + + + Fok + Degrees mode on settings page + + + Gradián + Gradian mode on settings page + + + Radián + Radians mode on settings page + + + Egységek + Heading for Unit's on the settings + + + Nézet alaphelyzetbe állítása + Hyperlink button to reset the view of the graph + + + X max. + X maximum value header + + + X min. + X minimum value header + + + Y max. + Y Maximum value header + + + Y min. + Y minimum value header + + + Rács beállításai + This is the tooltip text for the grid options button in Graphing Calculator + + + Rács beállításai + This is the automation name text for the grid options button in Graphing Calculator + + + Grafikon beállításai + Heading for the Graph Options flyout in Graphing mode. + + + Adjon meg egy kifejezést + this is the placeholder text used by the textbox to enter an equation + + + Másolás + Copy menu item for the graph context menu + + + Kivágás + Cut menu item from the Equation TextBox + + + Másolás + Copy menu item from the Equation TextBox + + + Beillesztés + Paste menu item from the Equation TextBox + + + Visszavonás + Undo menu item from the Equation TextBox + + + Az összes kijelölése + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/id-ID/Resources.resw b/src/Calculator/Resources/id-ID/Resources.resw index e2181af91..ed14ea756 100644 --- a/src/Calculator/Resources/id-ID/Resources.resw +++ b/src/Calculator/Resources/id-ID/Resources.resw @@ -697,9 +697,9 @@ Hapus Text string for the Calculator Delete swipe button in the History list - - Salin - Text string for the Calculator Copy option in the History list context menu + + Salin + Text string for the Calculator Copy option in the History list context menu Hapus @@ -867,7 +867,7 @@ Sama dengan - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Balikkan Fungsi @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Tetap di atas + Tetapkan di atas (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Kembali ke tampilan penuh + Kembali ke tampilan penuh (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Penghitungan gagal - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Log dasar X @@ -3075,6 +3059,10 @@ Fungsi Displayed on the button that contains a flyout for the general functions in scientific mode. + + Pertidaksamaan + Displayed on the button that contains a flyout for the inequality functions. + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ bit paling signifikan Used to describe the last bit of a binary number. Used in bit flip + + Pembuatan grafik + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Sama dengan + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Plot + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Atur Ulang Tampilan (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Reset Tampilan + Screen reader prompt for the reset zoom button. + + + Perbesar (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Perbesar + Screen reader prompt for the zoom in button. + + + Perkecil (Ctrl + minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Perkecil + Screen reader prompt for the zoom out button. + + + Tambahkan Persamaan + Placeholder text for the equation input button + + + Tidak dapat berbagi untuk saat ini. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Lihat apa yang saya grafikkan dengan Kalkulator Windows + Sent as part of the shared content. The title for the share. + + + Persamaan + Header that appears over the equations section when sharing + + + Variabel + Header that appears over the variables section when sharing + + + Gambar grafik dengan persamaan + Alt text for the graph image when output via Share + + + Variabel + Header text for variables area + + + Langkah + Label text for the step text box + + + Min + Label text for the min text box + + + Maks + Label text for the max text box + + + Warna Garis + Label for the Line Color section of the style picker + + + Analisis fungsi + Title for KeyGraphFeatures Control + + + Fungsi tidak memiliki asimtot horizontal apa pun. + Message displayed when the graph does not have any horizontal asymptotes + + + Fungsi tidak memiliki titik infleksi apa pun. + Message displayed when the graph does not have any inflection points + + + Fungsi tidak memiliki titik maksima apa pun. + Message displayed when the graph does not have any maxima + + + Fungsi tidak memiliki titik minima apa pun. + Message displayed when the graph does not have any minima + + + Konstan + String describing constant monotonicity of a function + + + Menurun + String describing decreasing monotonicity of a function + + + Tidak dapat menentukan monotonisitas fungsi. + Error displayed when monotonicity cannot be determined + + + Meningkat + String describing increasing monotonicity of a function + + + Monotonisitas fungsi tidak diketahui. + Error displayed when monotonicity is unknown + + + Fungsi tidak memiliki asimtot serong apa pun. + Message displayed when the graph does not have any oblique asymptotes + + + Tidak dapat menentukan paritas fungsi. + Error displayed when parity is cannot be determined + + + Fungsi ini genap. + Message displayed with the function parity is even + + + Fungsi ini tidak genap maupun ganjil. + Message displayed with the function parity is neither even nor odd + + + Fungsi ini ganjil. + Message displayed with the function parity is odd + + + Paritas fungsi tidak diketahui. + Error displayed when parity is unknown + + + Periodisitas tidak didukung untuk fungsi ini. + Error displayed when periodicity is not supported + + + Fungsi tidak periodik. + Message displayed with the function periodicity is not periodic + + + Periodisitas fungsi tidak diketahui. + Message displayed with the function periodicity is unknown + + + Fitur ini terlalu rumit untuk penghitungan Kalkulator: + Error displayed when analysis features cannot be calculated + + + Fungsi tidak memiliki asimtot vertikal apa pun. + Message displayed when the graph does not have any vertical asymptotes + + + Fungsi tidak memiliki intersepsi x apa pun. + Message displayed when the graph does not have any x-intercepts + + + Fungsi tidak memiliki intersepsi y apa pun. + Message displayed when the graph does not have any y-intercepts + + + Domain + Title for KeyGraphFeatures Domain Property + + + Asimtot Horizontal + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Titik Infleksi + Title for KeyGraphFeatures Inflection Points Property + + + Analisis tidak didukung untuk fungsi ini. + Error displayed when graph analysis is not supported or had an error. + + + Maksima + Title for KeyGraphFeatures Maxima Property + + + Minima + Title for KeyGraphFeatures Minima Property + + + Monotonisitas + Title for KeyGraphFeatures Monotonicity Property + + + Asimtot Serong + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paritas + Title for KeyGraphFeatures Parity Property + + + Periode + Title for KeyGraphFeatures Periodicity Property + + + Rentang + Title for KeyGraphFeatures Range Property + + + Asimtot Vertikal + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Intersepsi X + Title for KeyGraphFeatures XIntercept Property + + + Intersepsi Y + Title for KeyGraphFeatures YIntercept Property + + + Analisis tidak dapat dilakukan untuk fungsi tersebut. + + + Tidak dapat menghitung domain untuk fungsi ini. + Error displayed when Domain is not returned from the analyzer. + + + Tidak dapat menghitung rentang untuk fungsi ini. + Error displayed when Range is not returned from the analyzer. + + + Kembali + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Kembali + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Lakukan analisis fungsi + This is the tooltip for the analyze function button + + + Lakukan analisis fungsi + This is the automation name for the analyze function button + + + Lakukan analisis fungsi + This is the text for the for the analyze function context menu command + + + Hapus persamaan + This is the tooltip for the graphing calculator remove equation buttons + + + Hapus persamaan + This is the automation name for the graphing calculator remove equation buttons + + + Hapus persamaan + This is the text for the for the remove equation context menu command + + + Berbagi + This is the automation name for the graphing calculator share button. + + + Bagikan + This is the tooltip for the graphing calculator share button. + + + Ubah gaya persamaan + This is the tooltip for the graphing calculator equation style button + + + Ubah gaya persamaan + This is the automation name for the graphing calculator equation style button + + + Ubah gaya persamaan + This is the text for the for the equation style context menu command + + + Tampilkan persamaan %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Sembunyikan persamaan %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Berhenti merunut + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Mulai merunut + This is the tooltip/automation name for the graphing calculator start tracing button + + + Jendela tampilan grafik, oleh sumbu x dengan %1 dan %2, sumbu-y oleh oleh %3 dan %4, menampilkan persamaan %5 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfigurasikan penggeser + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfigurasikan penggeser + This is the automation name text for the slider options button in Graphing Calculator + + + Beralih ke mode persamaan + Used in Graphing Calculator to switch the view to the equation mode + + + Beralih ke mode grafik + Used in Graphing Calculator to switch the view to the graph mode + + + Beralih ke mode persamaan + Used in Graphing Calculator to switch the view to the equation mode + + + Mode saat ini adalah mode persamaan + Announcement used in Graphing Calculator when switching to the equation mode + + + Mode saat ini adalah mode grafik + Announcement used in Graphing Calculator when switching to the graph mode + + + Jendela + Heading for window extents on the settings + + + Derajat + Degrees mode on settings page + + + Gradien + Gradian mode on settings page + + + Radian + Radians mode on settings page + + + Unit + Heading for Unit's on the settings + + + Atur ulang tampilan + Hyperlink button to reset the view of the graph + + + X-Maks + X maximum value header + + + X-Min + X minimum value header + + + Y-Maks + Y Maximum value header + + + Y-Min + Y minimum value header + + + Opsi kisi + This is the tooltip text for the grid options button in Graphing Calculator + + + Opsi kisi + This is the automation name text for the grid options button in Graphing Calculator + + + Opsi Grafik + Heading for the Graph Options flyout in Graphing mode. + + + Masukkan ekspresi + this is the placeholder text used by the textbox to enter an equation + + + Salin + Copy menu item for the graph context menu + + + Potong + Cut menu item from the Equation TextBox + + + Salin + Copy menu item from the Equation TextBox + + + Tempel + Paste menu item from the Equation TextBox + + + Batalkan + Undo menu item from the Equation TextBox + + + Pilih Semua + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/is-IS/Resources.resw b/src/Calculator/Resources/is-IS/Resources.resw index 94503eb18..9a359872b 100644 --- a/src/Calculator/Resources/is-IS/Resources.resw +++ b/src/Calculator/Resources/is-IS/Resources.resw @@ -697,9 +697,9 @@ Eyða Text string for the Calculator Delete swipe button in the History list - - Afrita - Text string for the Calculator Copy option in the History list context menu + + Afrita + Text string for the Calculator Copy option in the History list context menu Eyða @@ -867,7 +867,7 @@ Jafngildir - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Andhverft fall @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Hafa efst + Hafa efst (Alt+upp) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Aftur í heildaryfirlit + Aftur í heildaryfirlit (Alt+niður) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ UM AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Útreikningur mistókst - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logragrunnur X @@ -3075,6 +3059,10 @@ Virkni Displayed on the button that contains a flyout for the general functions in scientific mode. + + Ójöfnuður + Displayed on the button that contains a flyout for the inequality functions. + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ gildishæsti biti Used to describe the last bit of a binary number. Used in bit flip + + Birtir gröf + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Er jafnt og + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Teikna + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Endurstilla yfirlit (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Endurstilla yfirlit + Screen reader prompt for the reset zoom button. + + + Auka aðdrátt (Ctrl + plús) + This is the tool tip automation name for the Calculator zoom in button. + + + Auka aðdrátt + Screen reader prompt for the zoom in button. + + + Minnka aðdrátt (Ctrl + mínus) + This is the tool tip automation name for the Calculator zoom out button. + + + Minnka aðdrátt + Screen reader prompt for the zoom out button. + + + Bæta jöfnu við + Placeholder text for the equation input button + + + Ekki er hægt að deila eins og er. + If there is an error in the sharing action will display a dialog with this text. + + + Í lagi + Used on the dismiss button of the share action error dialog. + + + Sjáðu grafið sem ég bjó til með Windows-reiknivél + Sent as part of the shared content. The title for the share. + + + Jöfnur + Header that appears over the equations section when sharing + + + Breytur + Header that appears over the variables section when sharing + + + Mynd af grafi með jöfnum + Alt text for the graph image when output via Share + + + Breytur + Header text for variables area + + + Skref + Label text for the step text box + + + Lágmark + Label text for the min text box + + + Hámark + Label text for the max text box + + + Litur línu + Label for the Line Color section of the style picker + + + Greining falls + Title for KeyGraphFeatures Control + + + Engar láréttar aðfellur eru í þessu falli. + Message displayed when the graph does not have any horizontal asymptotes + + + Engir hverfipunktar eru fallinu. + Message displayed when the graph does not have any inflection points + + + Engin hágildi eru í fallinu. + Message displayed when the graph does not have any maxima + + + Engin lággildi eru í fallinu. + Message displayed when the graph does not have any minima + + + Fasti + String describing constant monotonicity of a function + + + Lækkandi + String describing decreasing monotonicity of a function + + + Ekki er hægt að ákvarða einhalla fallsins. + Error displayed when monotonicity cannot be determined + + + Hækkandi + String describing increasing monotonicity of a function + + + Einhalli fallsins er óþekktur. + Error displayed when monotonicity is unknown + + + Engar skásettar aðfellur eru í þessu falli. + Message displayed when the graph does not have any oblique asymptotes + + + Ekki er hægt að ákvarða formerki fallsins. + Error displayed when parity is cannot be determined + + + Fallið er slétt tala. + Message displayed with the function parity is even + + + Fallið er hvorki oddatala né slétt tala. + Message displayed with the function parity is neither even nor odd + + + Fallið er oddatala. + Message displayed with the function parity is odd + + + Formerki falls er óþekkt. + Error displayed when parity is unknown + + + Lotubinding er ekki studd í þessu falli. + Error displayed when periodicity is not supported + + + Fallið er ekki reglubundið. + Message displayed with the function periodicity is not periodic + + + Lotubinding fallsins þekkist ekki. + Message displayed with the function periodicity is unknown + + + Þessir eiginleikar eru of flóknir fyrir reiknivélina: + Error displayed when analysis features cannot be calculated + + + Engar lóðréttar aðfellur eru í þessu falli. + Message displayed when the graph does not have any vertical asymptotes + + + Engin x-ássnið eru í fallinu. + Message displayed when the graph does not have any x-intercepts + + + Engin y-ássnið eru í fallinu. + Message displayed when the graph does not have any y-intercepts + + + Lén + Title for KeyGraphFeatures Domain Property + + + Láréttar aðfellur + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Hverfipunktar + Title for KeyGraphFeatures Inflection Points Property + + + Greining er ekki studd fyrir þetta fall. + Error displayed when graph analysis is not supported or had an error. + + + Hágildi + Title for KeyGraphFeatures Maxima Property + + + Lággildi + Title for KeyGraphFeatures Minima Property + + + Einhalli + Title for KeyGraphFeatures Monotonicity Property + + + Skásettar aðfellur + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Sammerking + Title for KeyGraphFeatures Parity Property + + + Punktur + Title for KeyGraphFeatures Periodicity Property + + + Svið + Title for KeyGraphFeatures Range Property + + + Lóðréttar aðfellur + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-ássnið + Title for KeyGraphFeatures XIntercept Property + + + Y-ássnið + Title for KeyGraphFeatures YIntercept Property + + + Ekki var hægt að framkvæma greininguna fyrir fallið. + + + Ekki er hægt að reikna heilbaug fyrir þetta fall. + Error displayed when Domain is not returned from the analyzer. + + + Ekki er hægt að reikna mengi þessa falls. + Error displayed when Range is not returned from the analyzer. + + + Til baka + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Til baka + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Greina fall + This is the tooltip for the analyze function button + + + Greina fall + This is the automation name for the analyze function button + + + Greina fall + This is the text for the for the analyze function context menu command + + + Fjarlægja jöfnu + This is the tooltip for the graphing calculator remove equation buttons + + + Fjarlægja jöfnu + This is the automation name for the graphing calculator remove equation buttons + + + Fjarlægja jöfnu + This is the text for the for the remove equation context menu command + + + Deila + This is the automation name for the graphing calculator share button. + + + Deila + This is the tooltip for the graphing calculator share button. + + + Breyta jöfnustíl + This is the tooltip for the graphing calculator equation style button + + + Breyta jöfnustíl + This is the automation name for the graphing calculator equation style button + + + Breyta jöfnustíl + This is the text for the for the equation style context menu command + + + Sýna jöfnu %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Fela jöfnu %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Stöðva rakningu + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Hefja rakningu + This is the tooltip/automation name for the graphing calculator start tracing button + + + Skoðunargluggi grafs, x-ás bundinn af %1 og %2, y-ás bundinn af %3 og %4, birtir %5 jöfnur + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Stilla sleða + This is the tooltip text for the slider options button in Graphing Calculator + + + Stilla sleða + This is the automation name text for the slider options button in Graphing Calculator + + + Skipta yfir í jöfnustillingu + Used in Graphing Calculator to switch the view to the equation mode + + + Skipta yfir í grafsstillingu + Used in Graphing Calculator to switch the view to the graph mode + + + Skipta yfir í jöfnustillingu + Used in Graphing Calculator to switch the view to the equation mode + + + Núverandi stilling er jöfnustilling + Announcement used in Graphing Calculator when switching to the equation mode + + + Núverandi stilling er grafsstilling + Announcement used in Graphing Calculator when switching to the graph mode + + + Gluggi + Heading for window extents on the settings + + + Gráður + Degrees mode on settings page + + + Nýgráður + Gradian mode on settings page + + + Bogamál + Radians mode on settings page + + + Einingar + Heading for Unit's on the settings + + + Endurstilla yfirlit + Hyperlink button to reset the view of the graph + + + X-hám. + X maximum value header + + + X-lágm. + X minimum value header + + + Y-hám. + Y Maximum value header + + + Y-lágm. + Y minimum value header + + + Valkostir hnitanets + This is the tooltip text for the grid options button in Graphing Calculator + + + Valkostir hnitanets + This is the automation name text for the grid options button in Graphing Calculator + + + Valkostir grafs + Heading for the Graph Options flyout in Graphing mode. + + + Sláðu inn segð + this is the placeholder text used by the textbox to enter an equation + + + Afrita + Copy menu item for the graph context menu + + + Klippa + Cut menu item from the Equation TextBox + + + Afrita + Copy menu item from the Equation TextBox + + + Líma + Paste menu item from the Equation TextBox + + + Afturkalla + Undo menu item from the Equation TextBox + + + Velja allt + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/it-IT/Resources.resw b/src/Calculator/Resources/it-IT/Resources.resw index bd6a36540..a72ad32d7 100644 --- a/src/Calculator/Resources/it-IT/Resources.resw +++ b/src/Calculator/Resources/it-IT/Resources.resw @@ -697,9 +697,9 @@ Elimina Text string for the Calculator Delete swipe button in the History list - - Copia - Text string for the Calculator Copy option in the History list context menu + + Copia + Text string for the Calculator Copy option in the History list context menu Elimina @@ -867,7 +867,7 @@ Uguale - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Funzione inversa @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Mantieni in primo piano + Mantieni in primo piano (ALT + freccia SU) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Torna a visualizzazione completa + Torna a visualizzazione completa (ALT + freccia GIÙ) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Calcolo non riuscito - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Registro base X @@ -3075,6 +3059,10 @@ Funzione Displayed on the button that contains a flyout for the general functions in scientific mode. + + Disuguaglianze + Displayed on the button that contains a flyout for the inequality functions. + Bit per bit Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ bit più significativo Used to describe the last bit of a binary number. Used in bit flip + + Rappresentazione grafica + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Uguale + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Tracciato + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Reimposta visualizzazione (CTRL + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Reimposta visualizzazione + Screen reader prompt for the reset zoom button. + + + Zoom avanti (CTRL + segno più) + This is the tool tip automation name for the Calculator zoom in button. + + + Zoom avanti + Screen reader prompt for the zoom in button. + + + Zoom indietro (CTRL+segno meno) + This is the tool tip automation name for the Calculator zoom out button. + + + Zoom indietro + Screen reader prompt for the zoom out button. + + + Aggiungi equazione + Placeholder text for the equation input button + + + Impossibile condividere in questo momento. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Guarda il grafo creato con Calcolatrice Windows + Sent as part of the shared content. The title for the share. + + + Equazioni + Header that appears over the equations section when sharing + + + Variabili + Header that appears over the variables section when sharing + + + Immagine di un grafo con equazioni + Alt text for the graph image when output via Share + + + Variabili + Header text for variables area + + + Passaggio + Label text for the step text box + + + Minimo + Label text for the min text box + + + Massimo + Label text for the max text box + + + Colore linea + Label for the Line Color section of the style picker + + + Analisi funzioni + Title for KeyGraphFeatures Control + + + La funzione non contiene asintoti orizzontali. + Message displayed when the graph does not have any horizontal asymptotes + + + La funzione non include punti di flesso. + Message displayed when the graph does not have any inflection points + + + La funzione non include punti massimi. + Message displayed when the graph does not have any maxima + + + La funzione non include punti minimi. + Message displayed when the graph does not have any minima + + + Costante + String describing constant monotonicity of a function + + + Decrescente + String describing decreasing monotonicity of a function + + + Impossibile determinare la monotonicità della funzione. + Error displayed when monotonicity cannot be determined + + + Crescente + String describing increasing monotonicity of a function + + + La monotonicità della funzione è sconosciuta. + Error displayed when monotonicity is unknown + + + La funzione non include alcun asintoto obliquo. + Message displayed when the graph does not have any oblique asymptotes + + + Impossibile determinare la parità della funzione. + Error displayed when parity is cannot be determined + + + La funzione è pari. + Message displayed with the function parity is even + + + La funzione non è né pari né dispari. + Message displayed with the function parity is neither even nor odd + + + La funzione è dispari. + Message displayed with the function parity is odd + + + Parità di funzione sconosciuta. + Error displayed when parity is unknown + + + La periodicità non è supportata per questa funzione. + Error displayed when periodicity is not supported + + + La funzione non è periodica. + Message displayed with the function periodicity is not periodic + + + La periodicità della funzione è sconosciuta. + Message displayed with the function periodicity is unknown + + + Queste funzionalità sono troppo complesse per il calcolo tramite Calcolatrice: + Error displayed when analysis features cannot be calculated + + + La funzione non contiene asintoti verticali. + Message displayed when the graph does not have any vertical asymptotes + + + La funzione non contiene intersezioni con l'asse x. + Message displayed when the graph does not have any x-intercepts + + + La funzione non contiene intersezioni con l'asse y. + Message displayed when the graph does not have any y-intercepts + + + Dominio + Title for KeyGraphFeatures Domain Property + + + Asintoti orizzontali + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Punti di flesso + Title for KeyGraphFeatures Inflection Points Property + + + L'analisi non è supportata per questa funzione. + Error displayed when graph analysis is not supported or had an error. + + + Massimi + Title for KeyGraphFeatures Maxima Property + + + Minimi + Title for KeyGraphFeatures Minima Property + + + Monotonicità + Title for KeyGraphFeatures Monotonicity Property + + + Asintoti obliqui + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Parità + Title for KeyGraphFeatures Parity Property + + + Periodo + Title for KeyGraphFeatures Periodicity Property + + + Intervallo + Title for KeyGraphFeatures Range Property + + + Asintoti verticali + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Intersezione X + Title for KeyGraphFeatures XIntercept Property + + + Intersezione Y + Title for KeyGraphFeatures YIntercept Property + + + Impossibile eseguire l'analisi per la funzione. + + + Impossibile calcolare il dominio per questa funzione. + Error displayed when Domain is not returned from the analyzer. + + + Impossibile calcolare l'intervallo per questa funzione. + Error displayed when Range is not returned from the analyzer. + + + Indietro + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Indietro + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analizza funzione + This is the tooltip for the analyze function button + + + Analizza funzione + This is the automation name for the analyze function button + + + Analizza funzione + This is the text for the for the analyze function context menu command + + + Rimuovi equazione + This is the tooltip for the graphing calculator remove equation buttons + + + Rimuovi equazione + This is the automation name for the graphing calculator remove equation buttons + + + Rimuovi equazione + This is the text for the for the remove equation context menu command + + + Condividi + This is the automation name for the graphing calculator share button. + + + Condividi + This is the tooltip for the graphing calculator share button. + + + Cambia stile equazione + This is the tooltip for the graphing calculator equation style button + + + Cambia stile equazione + This is the automation name for the graphing calculator equation style button + + + Cambia stile equazione + This is the text for the for the equation style context menu command + + + Mostra equazione %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Nascondi equazione %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Arresta traccia + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Avvia traccia + This is the tooltip/automation name for the graphing calculator start tracing button + + + Finestra di visualizzazione del grafico, vincolato asse x %1 e %2, l'asse y vincolato %3 e %4, visualizzando le equazioni %5 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Configura dispositivo di scorrimento + This is the tooltip text for the slider options button in Graphing Calculator + + + Configura dispositivo di scorrimento + This is the automation name text for the slider options button in Graphing Calculator + + + Passa alla modalità equazione + Used in Graphing Calculator to switch the view to the equation mode + + + Passa alla modalità grafo + Used in Graphing Calculator to switch the view to the graph mode + + + Passa alla modalità equazione + Used in Graphing Calculator to switch the view to the equation mode + + + La modalità corrente è la modalità equazione + Announcement used in Graphing Calculator when switching to the equation mode + + + La modalità corrente è la modalità grafo + Announcement used in Graphing Calculator when switching to the graph mode + + + Finestra + Heading for window extents on the settings + + + Gradi + Degrees mode on settings page + + + Gradienti + Gradian mode on settings page + + + Radianti + Radians mode on settings page + + + Unità + Heading for Unit's on the settings + + + Reimposta visualizzazione + Hyperlink button to reset the view of the graph + + + X-Max + X maximum value header + + + X-Min + X minimum value header + + + Y-Max + Y Maximum value header + + + Y-Min + Y minimum value header + + + Opzioni griglia + This is the tooltip text for the grid options button in Graphing Calculator + + + Opzioni griglia + This is the automation name text for the grid options button in Graphing Calculator + + + Opzioni Graph + Heading for the Graph Options flyout in Graphing mode. + + + Immetti un'espressione + this is the placeholder text used by the textbox to enter an equation + + + Copia + Copy menu item for the graph context menu + + + Taglia + Cut menu item from the Equation TextBox + + + Copia + Copy menu item from the Equation TextBox + + + Incolla + Paste menu item from the Equation TextBox + + + Annulla + Undo menu item from the Equation TextBox + + + Seleziona tutto + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/ja-JP/Resources.resw b/src/Calculator/Resources/ja-JP/Resources.resw index 3aadf5641..25e03ddca 100644 --- a/src/Calculator/Resources/ja-JP/Resources.resw +++ b/src/Calculator/Resources/ja-JP/Resources.resw @@ -697,9 +697,9 @@ 削除 Text string for the Calculator Delete swipe button in the History list - - コピー - Text string for the Calculator Copy option in the History list context menu + + コピー + Text string for the Calculator Copy option in the History list context menu 削除 @@ -867,7 +867,7 @@ 等号 - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad 逆関数 @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - 常に手前に表示 + 常に手前に表示 (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - 全画面表示に戻る + 全画面表示に戻る (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ 計算できませんでした - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation ログ ベース X @@ -3075,6 +3059,10 @@ 関数 Displayed on the button that contains a flyout for the general functions in scientific mode. + + 不等式 + Displayed on the button that contains a flyout for the inequality functions. + ビット単位 Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ 最上位ビット Used to describe the last bit of a binary number. Used in bit flip + + グラフ作成 + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + 等号 + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + プロット + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + 表示のリセット (Ctrl+数字 0 キー) + This is the tool tip automation name for the Calculator zoom reset button. + + + 表示のリセット + Screen reader prompt for the reset zoom button. + + + 拡大 (Ctrl+プラス記号 (+) キー) + This is the tool tip automation name for the Calculator zoom in button. + + + 拡大 + Screen reader prompt for the zoom in button. + + + 縮小 (Ctrl+マイナス記号 (-) キー) + This is the tool tip automation name for the Calculator zoom out button. + + + 縮小 + Screen reader prompt for the zoom out button. + + + 数式の追加 + Placeholder text for the equation input button + + + 現時点では共有できません。 + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Windows 電卓で作成したグラフを確認 + Sent as part of the shared content. The title for the share. + + + 数式 + Header that appears over the equations section when sharing + + + 変数 + Header that appears over the variables section when sharing + + + 数式を含むグラフの画像 + Alt text for the graph image when output via Share + + + 変数 + Header text for variables area + + + ステップ + Label text for the step text box + + + 最小 + Label text for the min text box + + + 最大 + Label text for the max text box + + + 線の色 + Label for the Line Color section of the style picker + + + 関数による分析 + Title for KeyGraphFeatures Control + + + 関数に水平方向の漸近線がありません。 + Message displayed when the graph does not have any horizontal asymptotes + + + 関数に変曲点がありません。 + Message displayed when the graph does not have any inflection points + + + 関数に最大点がありません。 + Message displayed when the graph does not have any maxima + + + 関数に最小点がありません。 + Message displayed when the graph does not have any minima + + + 一定 + String describing constant monotonicity of a function + + + 減少 + String describing decreasing monotonicity of a function + + + 関数の単調性を特定できません。 + Error displayed when monotonicity cannot be determined + + + 増加 + String describing increasing monotonicity of a function + + + 関数の単調性が不明です。 + Error displayed when monotonicity is unknown + + + 関数に斜め方向の漸近線がありません。 + Message displayed when the graph does not have any oblique asymptotes + + + 関数のパリティを特定できません。 + Error displayed when parity is cannot be determined + + + 関数は偶数です。 + Message displayed with the function parity is even + + + 関数は偶数または奇数ではありません。 + Message displayed with the function parity is neither even nor odd + + + 関数は奇数です。 + Message displayed with the function parity is odd + + + 関数のパリティが不明です。 + Error displayed when parity is unknown + + + この関数では周期性はサポートされていません。 + Error displayed when periodicity is not supported + + + 関数は周期的ではありません。 + Message displayed with the function periodicity is not periodic + + + 関数の周期性が不明です。 + Message displayed with the function periodicity is unknown + + + これらの機能は複雑すぎるため、電卓は計算できません: + Error displayed when analysis features cannot be calculated + + + 関数に垂直方向の漸近線がありません。 + Message displayed when the graph does not have any vertical asymptotes + + + 関数に x-インターセプトがありません。 + Message displayed when the graph does not have any x-intercepts + + + 関数に y-インターセプトがありません。 + Message displayed when the graph does not have any y-intercepts + + + ドメイン + Title for KeyGraphFeatures Domain Property + + + 水平方向の漸近線 + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + 変曲点 + Title for KeyGraphFeatures Inflection Points Property + + + 分析はこの関数ではサポートされていません。 + Error displayed when graph analysis is not supported or had an error. + + + 最大 + Title for KeyGraphFeatures Maxima Property + + + 最小 + Title for KeyGraphFeatures Minima Property + + + 単調性 + Title for KeyGraphFeatures Monotonicity Property + + + 斜め方向の漸近線 + Title for KeyGraphFeatures Oblique Asymptotes Property + + + パリティ + Title for KeyGraphFeatures Parity Property + + + 期間 + Title for KeyGraphFeatures Periodicity Property + + + 範囲 + Title for KeyGraphFeatures Range Property + + + 垂直方向の漸近線 + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-インターセプト + Title for KeyGraphFeatures XIntercept Property + + + Y-インターセプト + Title for KeyGraphFeatures YIntercept Property + + + 関数に対して分析を実行できませんでした。 + + + この関数のドメインを計算できません。 + Error displayed when Domain is not returned from the analyzer. + + + この関数の範囲を計算できません。 + Error displayed when Range is not returned from the analyzer. + + + 戻る + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + 戻る + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + 分析関数 + This is the tooltip for the analyze function button + + + 分析関数 + This is the automation name for the analyze function button + + + 分析関数 + This is the text for the for the analyze function context menu command + + + 数式の削除 + This is the tooltip for the graphing calculator remove equation buttons + + + 数式の削除 + This is the automation name for the graphing calculator remove equation buttons + + + 数式の削除 + This is the text for the for the remove equation context menu command + + + 共有 + This is the automation name for the graphing calculator share button. + + + 共有 + This is the tooltip for the graphing calculator share button. + + + 数式のスタイルの変更 + This is the tooltip for the graphing calculator equation style button + + + 数式のスタイルの変更 + This is the automation name for the graphing calculator equation style button + + + 数式のスタイルの変更 + This is the text for the for the equation style context menu command + + + 演算式 %1 を表示する + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + 演算式 %1 を非表示にする + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + トレースの停止 + This is the tooltip/automation name for the graphing calculator stop tracing button + + + トレースの開始 + This is the tooltip/automation name for the graphing calculator start tracing button + + + グラフ表示ウィンドウ、x 軸の範囲は %1 と %2 で制限され、y 軸の範囲は %3 と %4 で制限され、%5 個の数式が表示されます + {Locked="%1","%2", "%3", "%4", "%5"}. + + + スライダーの構成 + This is the tooltip text for the slider options button in Graphing Calculator + + + スライダーの構成 + This is the automation name text for the slider options button in Graphing Calculator + + + 数式モードに切り替える + Used in Graphing Calculator to switch the view to the equation mode + + + グラフ モードに切り替える + Used in Graphing Calculator to switch the view to the graph mode + + + 数式モードに切り替える + Used in Graphing Calculator to switch the view to the equation mode + + + 現在のモードは数式モードです + Announcement used in Graphing Calculator when switching to the equation mode + + + 現在のモードはグラフ モードです + Announcement used in Graphing Calculator when switching to the graph mode + + + ウィンドウ + Heading for window extents on the settings + + + 度数 + Degrees mode on settings page + + + グラジアン + Gradian mode on settings page + + + ラジアン + Radians mode on settings page + + + 単位 + Heading for Unit's on the settings + + + 表示のリセット + Hyperlink button to reset the view of the graph + + + X - 最大 + X maximum value header + + + X - 最小 + X minimum value header + + + Y - 最大 + Y Maximum value header + + + Y - 最小 + Y minimum value header + + + グリッドのオプション + This is the tooltip text for the grid options button in Graphing Calculator + + + グリッドのオプション + This is the automation name text for the grid options button in Graphing Calculator + + + グラフのオプション + Heading for the Graph Options flyout in Graphing mode. + + + 式を入力してください + this is the placeholder text used by the textbox to enter an equation + + + コピー + Copy menu item for the graph context menu + + + 切り取り + Cut menu item from the Equation TextBox + + + コピー + Copy menu item from the Equation TextBox + + + 貼り付け + Paste menu item from the Equation TextBox + + + 元に戻す + Undo menu item from the Equation TextBox + + + すべて選択 + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/kk-KZ/Resources.resw b/src/Calculator/Resources/kk-KZ/Resources.resw index 7f4579795..5c009c67e 100644 --- a/src/Calculator/Resources/kk-KZ/Resources.resw +++ b/src/Calculator/Resources/kk-KZ/Resources.resw @@ -697,9 +697,9 @@ Жою Text string for the Calculator Delete swipe button in the History list - - Көшіру - Text string for the Calculator Copy option in the History list context menu + + Көшіру + Text string for the Calculator Copy option in the History list context menu Жою @@ -867,7 +867,7 @@ Тең - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Кері функция @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Жоғарыда ұстау + Жоғарыда ұстау (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Толық көрініске оралу + Толық көрініске оралу (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Есептеу сәтсіз болды - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Негізгі X кіру @@ -3075,6 +3059,10 @@ Функция Displayed on the button that contains a flyout for the general functions in scientific mode. + + Теңсіздік + Displayed on the button that contains a flyout for the inequality functions. + Биттік Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ өте маңызды бит Used to describe the last bit of a binary number. Used in bit flip + + График құру + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Тең + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Тұрғызу аумағы + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Көріністі қалпына келтіру (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Көріністі қалпына келтіру + Screen reader prompt for the reset zoom button. + + + Ірілеу (Ctrl + қосу) + This is the tool tip automation name for the Calculator zoom in button. + + + Ірілеу + Screen reader prompt for the zoom in button. + + + Кішілеу (Ctrl + алу) + This is the tool tip automation name for the Calculator zoom out button. + + + Кішірейту + Screen reader prompt for the zoom out button. + + + Теңдеу қосу + Placeholder text for the equation input button + + + Дәл қазір ортақ пайдалану мүмкін емес. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Windows есептегіші көмегімен қандай диаграмма сызғанымды қара + Sent as part of the shared content. The title for the share. + + + Теңдеулер + Header that appears over the equations section when sharing + + + Айнымалы мәндері + Header that appears over the variables section when sharing + + + Теңдеулер бар диаграмма суреті + Alt text for the graph image when output via Share + + + Айнымалы мәндері + Header text for variables area + + + Қадам + Label text for the step text box + + + Мин. + Label text for the min text box + + + Макс. + Label text for the max text box + + + Сызық түсі + Label for the Line Color section of the style picker + + + Функция талдау + Title for KeyGraphFeatures Control + + + Функцияның көлденең асимптоталары жоқ. + Message displayed when the graph does not have any horizontal asymptotes + + + Функцияның бүгілген нүктелері жоқ. + Message displayed when the graph does not have any inflection points + + + Функцияның "ең үлкен мән" нүктелері жоқ. + Message displayed when the graph does not have any maxima + + + Функцияның "ең кіші мән" нүктелері жоқ. + Message displayed when the graph does not have any minima + + + Тұрақты + String describing constant monotonicity of a function + + + Кемуі бойынша + String describing decreasing monotonicity of a function + + + Функциясының біркелкілігін анықтау мүмкін емес. + Error displayed when monotonicity cannot be determined + + + Артуы бойынша + String describing increasing monotonicity of a function + + + Функциясының біркелкілігі белгісіз болып табылады. + Error displayed when monotonicity is unknown + + + Функцияның иілу асимптоталары жоқ. + Message displayed when the graph does not have any oblique asymptotes + + + Функцияның жұптығын анықтау мүмкін емес. + Error displayed when parity is cannot be determined + + + Функция жұп болып табылады. + Message displayed with the function parity is even + + + Функция жұп та, тақ та емес. + Message displayed with the function parity is neither even nor odd + + + Функция тақ болып табылады. + Message displayed with the function parity is odd + + + Функцияның жұптығы белгісіз болып табылады. + Error displayed when parity is unknown + + + Бұл функция үшін кезеңділікке қолдау көрсетілмейді. + Error displayed when periodicity is not supported + + + Функция кезеңдік болып табылмайды. + Message displayed with the function periodicity is not periodic + + + Функцияның кезеңділігі белгісіз болып табылады. + Message displayed with the function periodicity is unknown + + + Бұл мүмкіндіктер Есептегіште есептеу үшін тым күрделі болып табылады: + Error displayed when analysis features cannot be calculated + + + Функцияның тік асимптоталары жоқ. + Message displayed when the graph does not have any vertical asymptotes + + + Функцияның x-бөліктері жоқ. + Message displayed when the graph does not have any x-intercepts + + + Функцияның y-бөліктері жоқ. + Message displayed when the graph does not have any y-intercepts + + + Домен + Title for KeyGraphFeatures Domain Property + + + Көлденең асимптоталар + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Бүгілген нүктелері + Title for KeyGraphFeatures Inflection Points Property + + + Бұл функция үшін талдауға қолдау көрсетілмейді. + Error displayed when graph analysis is not supported or had an error. + + + Ең үлкен мәні + Title for KeyGraphFeatures Maxima Property + + + Ең кіші мәні + Title for KeyGraphFeatures Minima Property + + + Біркелкілік + Title for KeyGraphFeatures Monotonicity Property + + + Көлбеу асимптоталар + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Бөлік + Title for KeyGraphFeatures Parity Property + + + Кезең + Title for KeyGraphFeatures Periodicity Property + + + Ауқым + Title for KeyGraphFeatures Range Property + + + Тік асимптоталар + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-бөлігі + Title for KeyGraphFeatures XIntercept Property + + + Y-бөлігі + Title for KeyGraphFeatures YIntercept Property + + + Бұл функция үшін талдауды орындау мүмкін болмады. + + + Бұл функция үшін домен есептеу мүмкін емес. + Error displayed when Domain is not returned from the analyzer. + + + Бұл функция үшін ауқым есептеу мүмкін емес. + Error displayed when Range is not returned from the analyzer. + + + Артқа + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Артқа + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Талдау функциясы + This is the tooltip for the analyze function button + + + Талдау функциясы + This is the automation name for the analyze function button + + + Талдау функциясы + This is the text for the for the analyze function context menu command + + + Теңдеуді жою + This is the tooltip for the graphing calculator remove equation buttons + + + Теңдеуді жою + This is the automation name for the graphing calculator remove equation buttons + + + Теңдеуді жою + This is the text for the for the remove equation context menu command + + + Ортақ пайдалану + This is the automation name for the graphing calculator share button. + + + Бөлісу + This is the tooltip for the graphing calculator share button. + + + Теңдеу мәнерін өзгерту + This is the tooltip for the graphing calculator equation style button + + + Теңдеу мәнерін өзгерту + This is the automation name for the graphing calculator equation style button + + + Теңдеу мәнерін өзгерту + This is the text for the for the equation style context menu command + + + %1-өрнекті көрсету + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + %1-өрнекті жасыру + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Қадағалауды тоқтату + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Қадағалауды бастау + This is the tooltip/automation name for the graphing calculator start tracing button + + + Графикті қарау терезесі, x осі %1 және %2 арқылы шектелген, ал y осі %3 және %4 арқылы шектелген, %5 теңдеулерін көрсетіп тұр + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Жүгірткіні конфигурациялау + This is the tooltip text for the slider options button in Graphing Calculator + + + Жүгірткіні конфигурациялау + This is the automation name text for the slider options button in Graphing Calculator + + + Теңдеу режиміне ауысу + Used in Graphing Calculator to switch the view to the equation mode + + + Диаграмма режиміне ауысу + Used in Graphing Calculator to switch the view to the graph mode + + + Теңдеу режиміне ауысу + Used in Graphing Calculator to switch the view to the equation mode + + + Ағымдағы режим — теңдеу режимі + Announcement used in Graphing Calculator when switching to the equation mode + + + Ағымдағы режим — диаграмма режимі + Announcement used in Graphing Calculator when switching to the graph mode + + + Терезе + Heading for window extents on the settings + + + Градус + Degrees mode on settings page + + + Градиан + Gradian mode on settings page + + + Радиан + Radians mode on settings page + + + Бірліктер + Heading for Unit's on the settings + + + Көріністі қалпына келтіру + Hyperlink button to reset the view of the graph + + + X-ең үлкен + X maximum value header + + + X-ең кіші + X minimum value header + + + Y-ең үлкен + Y Maximum value header + + + Y-ең кіші + Y minimum value header + + + Тор параметрлері + This is the tooltip text for the grid options button in Graphing Calculator + + + Тор параметрлері + This is the automation name text for the grid options button in Graphing Calculator + + + Параметрлер + Heading for the Graph Options flyout in Graphing mode. + + + Өрнекті енгізіңіз + this is the placeholder text used by the textbox to enter an equation + + + Көшіру + Copy menu item for the graph context menu + + + Қиып алу + Cut menu item from the Equation TextBox + + + Көшіру + Copy menu item from the Equation TextBox + + + Қою + Paste menu item from the Equation TextBox + + + Болдырмау + Undo menu item from the Equation TextBox + + + Барлығын таңдау + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/km-KH/Resources.resw b/src/Calculator/Resources/km-KH/Resources.resw index ab3c07f52..fe49a3fc3 100644 --- a/src/Calculator/Resources/km-KH/Resources.resw +++ b/src/Calculator/Resources/km-KH/Resources.resw @@ -697,9 +697,9 @@ លុប Text string for the Calculator Delete swipe button in the History list - - ចម្លង - Text string for the Calculator Copy option in the History list context menu + + ចម្លង + Text string for the Calculator Copy option in the History list context menu លុប @@ -867,7 +867,7 @@ ស្មើ - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad មុខងារដាក់បញ្ច្រាស @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - រក្សានៅខាងលើ + រក្សានៅខាងលើ (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - ថយទៅទិដ្ឋភាពពេញលេញ + ថយទៅទិដ្ឋភាពពេញ (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ ការគណនាបាបរាជ័យ - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation កំណត់ហេតុមូលដ្ឋាន X @@ -3075,6 +3059,10 @@ មុខងារ Displayed on the button that contains a flyout for the general functions in scientific mode. + + អសមភាព + Displayed on the button that contains a flyout for the inequality functions. + ប៊ីតវ៉ាយស៍ Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ ប៊ីតសំខាន់ខ្លាំងបំផុត Used to describe the last bit of a binary number. Used in bit flip + + ការសង់ក្រាប + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + ស្មើ + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + គំនូស + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + កំណត់ទិដ្ឋភាពទឡើងវិញ (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + កំណត់មើល​ឡើង​វិញ + Screen reader prompt for the reset zoom button. + + + ពង្រីក (Ctrl + សញ្ញាបូក) + This is the tool tip automation name for the Calculator zoom in button. + + + ពង្រីក + Screen reader prompt for the zoom in button. + + + បង្រួម (Ctrl + សញ្ញាដក) + This is the tool tip automation name for the Calculator zoom out button. + + + បង្រួម + Screen reader prompt for the zoom out button. + + + បន្ថែមសមីការ + Placeholder text for the equation input button + + + មិនអាចចែករំលែកនៅពេលនេះទេ។ + If there is an error in the sharing action will display a dialog with this text. + + + យល់ព្រម + Used on the dismiss button of the share action error dialog. + + + មើលអ្វីដែលខ្ញុំបានគូសក្រាបជាមួយ Windows ម៉ាស៊ីនគិតលេខ + Sent as part of the shared content. The title for the share. + + + សមីការ + Header that appears over the equations section when sharing + + + អថេរ + Header that appears over the variables section when sharing + + + រូបភាពក្រាបជាមួយសមីការ + Alt text for the graph image when output via Share + + + អថេរ + Header text for variables area + + + ជំហាន + Label text for the step text box + + + អប្ប + Label text for the min text box + + + អតិ + Label text for the max text box + + + ពណ៌បន្ទាត់ + Label for the Line Color section of the style picker + + + ការវិភាគមុខងារ + Title for KeyGraphFeatures Control + + + អនុគមន៍នេះមិនមានអាស៊ីមតូតដេកណាមួយទេ។ + Message displayed when the graph does not have any horizontal asymptotes + + + អនុគមន៍នេះមិនមានចំណុចរបត់ណាមួយទេ។ + Message displayed when the graph does not have any inflection points + + + អនុគមន៍នេះមិនមានចំណុចអតិបរមាណាមួយទេ។ + Message displayed when the graph does not have any maxima + + + អនុគមន៍នេះមិនមានចំណុចអប្បបរមាណាមួយទេ។ + Message displayed when the graph does not have any minima + + + តម្លៃថេរ + String describing constant monotonicity of a function + + + ការថយចុះ + String describing decreasing monotonicity of a function + + + មិនអាចកំណត់ម៉ូណូតូនីស៊ីធីនៃអនុគមន៍នេះទេ។ + Error displayed when monotonicity cannot be determined + + + ការកើនឡើង + String describing increasing monotonicity of a function + + + ម៉ូណូតូនីស៊ីធីនៃមុខងារនេះមិនត្រូវបានស្គាល់។ + Error displayed when monotonicity is unknown + + + អនុគមន៍នេះមិនមានអាស៊ីមតូតទេរណាមួយទេ។ + Message displayed when the graph does not have any oblique asymptotes + + + មិនអាចកំណត់ភាពស្មើគ្នានៃអនុគមន៍នេះទេ។ + Error displayed when parity is cannot be determined + + + អនុគមន៍នេះគឺគូ។ + Message displayed with the function parity is even + + + អនុគមន៍នេះគឺមិនគូ ហើយក៏មិនសេស។ + Message displayed with the function parity is neither even nor odd + + + អនុគមន៍នេះគឺសេស។ + Message displayed with the function parity is odd + + + ភាពស្មើគ្នានៃអនុគមន៍នេះមិនត្រូវបានស្គាល់។ + Error displayed when parity is unknown + + + សាមយិកភាពគឺមិនត្រូវបានគាំទ្រសម្រាប់អនុគមន៍នេះទេ។ + Error displayed when periodicity is not supported + + + អនុគមន៍គឺមិនមានសាមយិកភាព។ + Message displayed with the function periodicity is not periodic + + + សាមយិកភាពនៃអនុគមន៍នេះមិនត្រូវបានស្គាល់។ + Message displayed with the function periodicity is unknown + + + លក្ខណៈពិសេសទាំងនេះគឺស្មុគស្មាញពេកសម្រាប់ម៉ាស៊ីនគិតលេខក្នុងការគណនា៖ + Error displayed when analysis features cannot be calculated + + + ពីព្រោះអនុគមន៍ មាន ដែល អាស៊ីមតូតបញ្ឈរ + Message displayed when the graph does not have any vertical asymptotes + + + អនុគមន៍នេះមិនមាន x-ស្ទាក់ចាប់ ណាមួយឡើយ។ + Message displayed when the graph does not have any x-intercepts + + + អនុគមន៍នេះមិនមាន y-ស្ទាក់ចាប់ ណាមួយឡើយ។ + Message displayed when the graph does not have any y-intercepts + + + ដូមែន + Title for KeyGraphFeatures Domain Property + + + អាស៊ីមតូតដេក + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + ចំណុចរបត់ + Title for KeyGraphFeatures Inflection Points Property + + + ការវិភាគមិនត្រូវបានគាំទ្រសម្រាប់អនុគមន៍នេះទេ។ + Error displayed when graph analysis is not supported or had an error. + + + អតិបរមា + Title for KeyGraphFeatures Maxima Property + + + អប្បបរមា + Title for KeyGraphFeatures Minima Property + + + ម៉ូណូតូនីស៊ីធី + Title for KeyGraphFeatures Monotonicity Property + + + អាស៊ីមតូតទេរ + Title for KeyGraphFeatures Oblique Asymptotes Property + + + ភាពស្មើគ្នា + Title for KeyGraphFeatures Parity Property + + + រយៈពេល + Title for KeyGraphFeatures Periodicity Property + + + ជួរ + Title for KeyGraphFeatures Range Property + + + អាស៊ីមតូតបញ្ឈរ + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-ស្ទាក់ចាប់ + Title for KeyGraphFeatures XIntercept Property + + + Y-ស្ទាក់ចាប់ + Title for KeyGraphFeatures YIntercept Property + + + ការវិភាគមិនអាចធ្វើទៅបានទេសម្រាប់អនុគមន៍នេះ។ + + + មិនអាចគណនាដូមែនសម្រាប់អនុគមន៍នេះទេ។ + Error displayed when Domain is not returned from the analyzer. + + + មិនអាចគណនាជួរសម្រាប់អនុគមន៍នេះទេ។ + Error displayed when Range is not returned from the analyzer. + + + ថយក្រោយ + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + ថយក្រោយ + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + វិភាគមុខងារ + This is the tooltip for the analyze function button + + + វិភាគមុខងារ + This is the automation name for the analyze function button + + + វិភាគមុខងារ + This is the text for the for the analyze function context menu command + + + យកចេញសមីការ + This is the tooltip for the graphing calculator remove equation buttons + + + យកចេញសមីការ + This is the automation name for the graphing calculator remove equation buttons + + + យកចេញសមីការ + This is the text for the for the remove equation context menu command + + + ចែក​រំលែក + This is the automation name for the graphing calculator share button. + + + ចែក​រំលែក + This is the tooltip for the graphing calculator share button. + + + ប្ដូររចនាបថសមីការ + This is the tooltip for the graphing calculator equation style button + + + ប្ដូររចនាបថសមីការ + This is the automation name for the graphing calculator equation style button + + + ប្ដូររចនាបថសមីការ + This is the text for the for the equation style context menu command + + + បង្ហាញសមីការ %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + លាក់សមីការ %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + ឈប់តាមដាន + This is the tooltip/automation name for the graphing calculator stop tracing button + + + ចាប់ផ្ដើមតាមដាន + This is the tooltip/automation name for the graphing calculator start tracing button + + + វីនដូមើលក្រាប, អាក់ស៊ីស x ដែលភ្ជាប់ដោយ %1 និង %2, អាក់ស៊ីស y ដែលភ្ជាប់ដោយ %3 និង %4, ដែលបង្ហាញ %5 សមីការ + {Locked="%1","%2", "%3", "%4", "%5"}. + + + រៀបចំរបាររំកិល + This is the tooltip text for the slider options button in Graphing Calculator + + + រៀបចំរបាររំកិល + This is the automation name text for the slider options button in Graphing Calculator + + + ប្តូរទៅម៉ូដសមីការ + Used in Graphing Calculator to switch the view to the equation mode + + + ប្តូរទៅម៉ូដក្រាប + Used in Graphing Calculator to switch the view to the graph mode + + + ប្តូរទៅម៉ូដសមីការ + Used in Graphing Calculator to switch the view to the equation mode + + + ម៉ូដបច្ចុប្បន្នគឺជាម៉ូដសមីការ + Announcement used in Graphing Calculator when switching to the equation mode + + + ម៉ូដបច្ចុប្បន្នគឺជាម៉ូដក្រាប + Announcement used in Graphing Calculator when switching to the graph mode + + + វីនដូ + Heading for window extents on the settings + + + ដឺក្រេ + Degrees mode on settings page + + + ហ្គ្រាដ្យង់ + Gradian mode on settings page + + + រ៉ាដ្យង់ + Radians mode on settings page + + + ឯកតា + Heading for Unit's on the settings + + + កំណត់​ការ​មើលឡើងវិញ + Hyperlink button to reset the view of the graph + + + X-អតិ + X maximum value header + + + X-អប្ប + X minimum value header + + + Y-អតិ + Y Maximum value header + + + Y-អប្ប + Y minimum value header + + + ជម្រើសក្រឡាចត្រង្គ + This is the tooltip text for the grid options button in Graphing Calculator + + + ជម្រើសក្រឡាចត្រង្គ + This is the automation name text for the grid options button in Graphing Calculator + + + ជម្រើសក្រាហ្វិច + Heading for the Graph Options flyout in Graphing mode. + + + បញ្ចូលកន្សោមពាក្យមួយ + this is the placeholder text used by the textbox to enter an equation + + + ចម្លង + Copy menu item for the graph context menu + + + កាត់ + Cut menu item from the Equation TextBox + + + ចម្លង + Copy menu item from the Equation TextBox + + + បិទភ្ជាប់ + Paste menu item from the Equation TextBox + + + មិនធ្វើវិញ + Undo menu item from the Equation TextBox + + + ជ្រើសទាំងអស់ + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/kn-IN/Resources.resw b/src/Calculator/Resources/kn-IN/Resources.resw index 8ef08e70a..9c233c9d9 100644 --- a/src/Calculator/Resources/kn-IN/Resources.resw +++ b/src/Calculator/Resources/kn-IN/Resources.resw @@ -697,9 +697,9 @@ ಅಳಿಸಿ Text string for the Calculator Delete swipe button in the History list - - ನಕಲಿಸಿ - Text string for the Calculator Copy option in the History list context menu + + ನಕಲಿಸಿ + Text string for the Calculator Copy option in the History list context menu ಅಳಿಸಿ @@ -867,7 +867,7 @@ ಸಮ - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad ಹಿಮ್ಮುಖ ಕಾರ್ಯ @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - ಮೇಲೆ ಇರಿಸಿ + ಮೇಲೆ ಇರಿಸಿ (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - ಪೂರ್ಣ ವೀಕ್ಷಣೆಗೆ ಹಿಂತಿರುಗಿ + ಪೂರ್ಣ ವೀಕ್ಷಣೆಗೆ ಹಿಂತಿರುಗಿ (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ ಲೆಕ್ಕಾಚಾರ ವಿಫಲವಾಗಿದೆ - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation ಲಾಗ್ ಬೇಸ್ ಎಕ್ಸ್ @@ -3075,6 +3059,10 @@ ಕಾರ್ಯ Displayed on the button that contains a flyout for the general functions in scientific mode. + + ಅಸಮಾನತೆಗಳು + Displayed on the button that contains a flyout for the inequality functions. + ಬಿಟ್‌ವೈಸ್ Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ ಅತ್ಯಂತ ಮಹತ್ವದ ಬಿಟ್ Used to describe the last bit of a binary number. Used in bit flip + + ಗ್ರಾಫಿಂಗ್ + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + ಸಮ + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + ಪ್ಲಾಟ್ + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + ವೀಕ್ಷಣೆ ಮರುಹೊಂದಿಸಿ (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + ವೀಕ್ಷಣೆಯನ್ನು ಮರುಹೊಂದಿಸಿ + Screen reader prompt for the reset zoom button. + + + ಜೂಮ್ ಇನ್ (Ctrl + ಪ್ಲಸ್) + This is the tool tip automation name for the Calculator zoom in button. + + + ಜೂಮ್ ಇನ್ + Screen reader prompt for the zoom in button. + + + ಜೂಮ್ ಔಟ್ (Ctrl + ಮೈನಸ್) + This is the tool tip automation name for the Calculator zoom out button. + + + ಜೂಮ್ ಔಟ್ + Screen reader prompt for the zoom out button. + + + ಸಮೀಕರಣ ಸೇರಿಸಿ + Placeholder text for the equation input button + + + ಈ ಸಮಯದಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ. + If there is an error in the sharing action will display a dialog with this text. + + + ಸರಿ + Used on the dismiss button of the share action error dialog. + + + Windows ಕ್ಯಾಲ್ಕುಲೇಟರ್‌ನೊಂದಿಗೆ ನಾನು ಏನು ಗ್ರಹಿಸಿದ್ದೇನೆ ಎಂಬುದನ್ನು ನೋಡಿ + Sent as part of the shared content. The title for the share. + + + ಸಮೀಕರಣಗಳು + Header that appears over the equations section when sharing + + + ವೇರಿಯೇಬಲ್‌ಗಳು + Header that appears over the variables section when sharing + + + ಸಮೀಕರಣಗಳೊಂದಿಗೆ ಗ್ರಾಫ್ ಚಿತ್ರ + Alt text for the graph image when output via Share + + + ವೇರಿಯೇಬಲ್‌ಗಳು + Header text for variables area + + + ಹಂತ + Label text for the step text box + + + ಕನಿಷ್ಠ + Label text for the min text box + + + ಗರಿಷ್ಠ + Label text for the max text box + + + ಸಾಲು ಬಣ್ಣ + Label for the Line Color section of the style picker + + + ಕಾರ್ಯ ವಿಶ್ಲೇಷಣೆ + Title for KeyGraphFeatures Control + + + ಫಂಕ್ಷನ್ ಯಾವುದೇ ಅಡ್ಡ ಅಸಂಪಾತಗಳನ್ನು ಹೊಂದಿಲ್ಲ. + Message displayed when the graph does not have any horizontal asymptotes + + + ಫಂಕ್ಷನ್ ಯಾವುದೇ ಇನ್ಫ್ಲೆಕ್ಷನ್ ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಹೊಂದಿಲ್ಲ. + Message displayed when the graph does not have any inflection points + + + ಫಂಕ್ಷನ್ ಯಾವುದೇ ಗರಿಷ್ಠ ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಹೊಂದಿಲ್ಲ. + Message displayed when the graph does not have any maxima + + + ಫಂಕ್ಷನ್ ಯಾವುದೇ ಕನಿಷ್ಠ ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಹೊಂದಿಲ್ಲ. + Message displayed when the graph does not have any minima + + + ನಿರಂತರ + String describing constant monotonicity of a function + + + ಕಡಿಮೆಯಾಗುತ್ತಿದೆ + String describing decreasing monotonicity of a function + + + ಫಂಕ್ಷನ್‌ನ ಏಕತಾನತೆಯನ್ನು ನಿರ್ಧರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. + Error displayed when monotonicity cannot be determined + + + ಹೆಚ್ಚುತ್ತಿದೆ + String describing increasing monotonicity of a function + + + ಫಂಕ್ಷನ್‌ನ ಏಕತಾನತೆ ಅಜ್ಞಾತವಾಗಿದೆ. + Error displayed when monotonicity is unknown + + + ಫಂಕ್ಷನ್ ಯಾವುದೇ ಓರೆಯಾದ ಅಸಂಪಾತಗಳನ್ನು ಹೊಂದಿಲ್ಲ. + Message displayed when the graph does not have any oblique asymptotes + + + ಫಂಕ್ಷನ್‌ನ ಸಮಾನತೆಯನ್ನು ನಿರ್ಧರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. + Error displayed when parity is cannot be determined + + + ಫಂಕ್ಷನ್ ಸಮವಾಗಿದೆ. + Message displayed with the function parity is even + + + ಫಂಕ್ಷನ್ ಸಮ ಅಥವಾ ಬೆಸ ಆಗಿಲ್ಲ. + Message displayed with the function parity is neither even nor odd + + + ಫಂಕ್ಷನ್ ಬೆಸವಾಗಿದೆ. + Message displayed with the function parity is odd + + + ಫಂಕ್ಷನ್‌ನ ಸಮಾನತೆ ಅಜ್ಞಾತವಾಗಿದೆ. + Error displayed when parity is unknown + + + ಈ ಫಂಕ್ಷನ್‌ಗಾಗಿ ಆವರ್ತಕತೆ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ. + Error displayed when periodicity is not supported + + + ಫಂಕ್ಷನ್ ಆವರ್ತಕವಲ್ಲ. + Message displayed with the function periodicity is not periodic + + + ಫಂಕ್ಷನ್ ಆವರ್ತಕತೆ ಅಜ್ಞಾತವಾಗಿದೆ. + Message displayed with the function periodicity is unknown + + + ಈ ವೈಶಿಷ್ಟ್ಯಗಳು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ಕ್ಯಾಲ್ಕುಲೇಟರ್‌ಗೆ ತುಂಬಾ ಸಂಕೀರ್ಣವಾಗಿವೆ: + Error displayed when analysis features cannot be calculated + + + ಫಂಕ್ಷನ್ ಯಾವುದೇ ಲಂಬ ಅಸಂಪಾತಗಳನ್ನು ಹೊಂದಿಲ್ಲ. + Message displayed when the graph does not have any vertical asymptotes + + + ಫಂಕ್ಷನ್ ಯಾವುದೇ x-ಪ್ರತಿಬಂಧಗಳನ್ನು ಹೊಂದಿಲ್ಲ. + Message displayed when the graph does not have any x-intercepts + + + ಫಂಕ್ಷನ್ ಯಾವುದೇ y-ಪ್ರತಿಬಂಧಗಳನ್ನು ಹೊಂದಿಲ್ಲ. + Message displayed when the graph does not have any y-intercepts + + + ಡೊಮೇನ್ + Title for KeyGraphFeatures Domain Property + + + ಅಡ್ಡ ಅಸಂಪಾತಗಳು + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + ಇನ್ಫ್ಲೆಕ್ಷನ್ ಪಾಯಿಂಟ್‌ಗಳು + Title for KeyGraphFeatures Inflection Points Property + + + ಈ ಫಂಕ್ಷನ್‌ಗಾಗಿ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಬೆಂಬಲಿತವಾಗಿಲ್ಲ. + Error displayed when graph analysis is not supported or had an error. + + + ಗರಿಷ್ಠ + Title for KeyGraphFeatures Maxima Property + + + ಕನಿಷ್ಠ + Title for KeyGraphFeatures Minima Property + + + ಏಕತಾನತೆ + Title for KeyGraphFeatures Monotonicity Property + + + ಓರೆಯಾದ ಅಸಂಪಾತಗಳು + Title for KeyGraphFeatures Oblique Asymptotes Property + + + ಸಮಾನತೆ + Title for KeyGraphFeatures Parity Property + + + ಅವಧಿ + Title for KeyGraphFeatures Periodicity Property + + + ವ್ಯಾಪ್ತಿ + Title for KeyGraphFeatures Range Property + + + ಲಂಬ ಅಸಂಪಾತಗಳು + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-ಪ್ರತಿಬಂಧ + Title for KeyGraphFeatures XIntercept Property + + + Y-ಪ್ರತಿಬಂಧ + Title for KeyGraphFeatures YIntercept Property + + + ಫಂಕ್ಷನ್‌ಗಾಗಿ ವಿಶ್ಲೇಷಣೆ ನಡೆಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. + + + ಈ ಫಂಕ್ಷನ್‌ಗಾಗಿ ಡೊಮೇನ್ ಅನ್ನು ಲೆಕ್ಕಹಾಕಲು ಸಾಧ್ಯವಿಲ್ಲ. + Error displayed when Domain is not returned from the analyzer. + + + ಈ ಫಂಕ್ಷನ್‌ಗಾಗಿ ಶ್ರೇಣಿಯನ್ನು ಲೆಕ್ಕಹಾಕಲು ಸಾಧ್ಯವಿಲ್ಲ. + Error displayed when Range is not returned from the analyzer. + + + ಹಿಂದೆ + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + ಹಿಂದೆ + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + ಕಾರ್ಯ ವಿಶ್ಲೇಷಿಸಿ + This is the tooltip for the analyze function button + + + ಕಾರ್ಯ ವಿಶ್ಲೇಷಿಸಿ + This is the automation name for the analyze function button + + + ಕಾರ್ಯ ವಿಶ್ಲೇಷಿಸಿ + This is the text for the for the analyze function context menu command + + + ಸಮೀಕರಣವನ್ನು ತೆಗೆದುಹಾಕಿ + This is the tooltip for the graphing calculator remove equation buttons + + + ಸಮೀಕರಣವನ್ನು ತೆಗೆದುಹಾಕಿ + This is the automation name for the graphing calculator remove equation buttons + + + ಸಮೀಕರಣವನ್ನು ತೆಗೆದುಹಾಕಿ + This is the text for the for the remove equation context menu command + + + ಹಂಚಿಕೊಳ್ಳಿ + This is the automation name for the graphing calculator share button. + + + ಹಂಚಿಕೊಳ್ಳಿ + This is the tooltip for the graphing calculator share button. + + + ಸಮೀಕರಣದ ಶೈಲಿಯನ್ನು ಬದಲಾಯಿಸಿ + This is the tooltip for the graphing calculator equation style button + + + ಸಮೀಕರಣದ ಶೈಲಿಯನ್ನು ಬದಲಾಯಿಸಿ + This is the automation name for the graphing calculator equation style button + + + ಸಮೀಕರಣದ ಶೈಲಿಯನ್ನು ಬದಲಾಯಿಸಿ + This is the text for the for the equation style context menu command + + + ಸಮೀಕರಣ %1 ತೋರಿಸು + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + ಸಮೀಕರಣ %1 ಮರೆಮಾಡಿ + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + ಪತ್ತೆಹಚ್ಚುತ್ತಿರುವುದನ್ನು ನಿಲ್ಲಿಸಿ + This is the tooltip/automation name for the graphing calculator stop tracing button + + + ಪತ್ತೆಹಚ್ಚುತ್ತಿರುವುದನ್ನು ಪ್ರಾರಂಭಿಸಿ + This is the tooltip/automation name for the graphing calculator start tracing button + + + ಗ್ರಾಫ್ ವೀಕ್ಷಣೆ ವಿಂಡೋ, x- ಅಕ್ಷವು %1 ಮತ್ತು %2 ರಿಂದ ಸುತ್ತುವರಿಯಲ್ಪಟ್ಟಿದೆ, y- ಅಕ್ಷವು %3 ಮತ್ತು %4 ರಿಂದ ಸುತ್ತುವರೆದಿದೆ, %5 ಸಮೀಕರಣಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ + {Locked="%1","%2", "%3", "%4", "%5"}. + + + ಸ್ಲೈಡರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ + This is the tooltip text for the slider options button in Graphing Calculator + + + ಸ್ಲೈಡರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ + This is the automation name text for the slider options button in Graphing Calculator + + + ಸಮೀಕರಣ ಮೋಡ್‌ಗೆ ಬದಲಿಸಿ + Used in Graphing Calculator to switch the view to the equation mode + + + ಗ್ರಾಫ್ ಮೋಡ್‌ಗೆ ಬದಲಿಸಿ + Used in Graphing Calculator to switch the view to the graph mode + + + ಸಮೀಕರಣ ಮೋಡ್‌ಗೆ ಬದಲಿಸಿ + Used in Graphing Calculator to switch the view to the equation mode + + + ಪ್ರಸ್ತುತ ಮೋಡ್ ಸಮೀಕರಣ ಮೋಡ್ ಆಗಿದೆ + Announcement used in Graphing Calculator when switching to the equation mode + + + ಪ್ರಸ್ತುತ ಮೋಡ್ ಗ್ರಾಫ್ ಮೋಡ್ ಆಗಿದೆ + Announcement used in Graphing Calculator when switching to the graph mode + + + ವಿಂಡೋ + Heading for window extents on the settings + + + ಡಿಗ್ರಿಗಳು + Degrees mode on settings page + + + ಗ್ರೇಡಿಯನ್‌ಗಳು + Gradian mode on settings page + + + ರೇಡಿಯನ್‌ಗಳು + Radians mode on settings page + + + ಯುನಿಟ್‌ಗಳು + Heading for Unit's on the settings + + + ಮರುಹೊಂದಿಸಿ ವೀಕ್ಷಣೆ + Hyperlink button to reset the view of the graph + + + X-ಗರಿಷ್ಠ + X maximum value header + + + X-ಕನಿಷ್ಠ + X minimum value header + + + Y-ಗರಿಷ್ಠ + Y Maximum value header + + + Y-ಕನಿಷ್ಠ + Y minimum value header + + + ಗ್ರಿಡ್ ಆಯ್ಕೆಗಳು + This is the tooltip text for the grid options button in Graphing Calculator + + + ಗ್ರಿಡ್ ಆಯ್ಕೆಗಳು + This is the automation name text for the grid options button in Graphing Calculator + + + ಗ್ರಾಫ್ ಆಯ್ಕೆಗಳು + Heading for the Graph Options flyout in Graphing mode. + + + ಅಭಿವ್ಯಕ್ತಿಯನ್ನು ನಮೂದಿಸಿ + this is the placeholder text used by the textbox to enter an equation + + + ನಕಲಿಸಿ + Copy menu item for the graph context menu + + + ಕತ್ತರಿಸು + Cut menu item from the Equation TextBox + + + ನಕಲಿಸಿ + Copy menu item from the Equation TextBox + + + ಅಂಟಿಸು + Paste menu item from the Equation TextBox + + + ರದ್ದುಮಾಡು + Undo menu item from the Equation TextBox + + + ಎಲ್ಲ ಆಯ್ಕೆಮಾಡು + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/ko-KR/Resources.resw b/src/Calculator/Resources/ko-KR/Resources.resw index a6098ad93..e93cf2000 100644 --- a/src/Calculator/Resources/ko-KR/Resources.resw +++ b/src/Calculator/Resources/ko-KR/Resources.resw @@ -697,9 +697,9 @@ 삭제 Text string for the Calculator Delete swipe button in the History list - - 복사 - Text string for the Calculator Copy option in the History list context menu + + 복사 + Text string for the Calculator Copy option in the History list context menu 삭제 @@ -867,7 +867,7 @@ 같음 - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad 역함수 @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - 항상 위에 유지 + 항상 위에 유지(Alt+위쪽 화살표) This is the tool tip automation name for the Always-on-Top button when in normal mode. - 전체 보기로 돌아가기 + 전체 보기로 돌아가기(Alt+아래쪽 화살표) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ 계산에 실패했습니다. - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation 로그 기준 X @@ -3075,6 +3059,10 @@ 함수 Displayed on the button that contains a flyout for the general functions in scientific mode. + + 부등식 + Displayed on the button that contains a flyout for the inequality functions. + 비트 Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ 최상위 비트 Used to describe the last bit of a binary number. Used in bit flip + + 그래프 + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + = + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + 플롯 + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + 보기 다시 설정(Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + 보기 초기화 + Screen reader prompt for the reset zoom button. + + + 확대(Ctrl + 더하기) + This is the tool tip automation name for the Calculator zoom in button. + + + 확대 + Screen reader prompt for the zoom in button. + + + 축소(Ctrl + 빼기) + This is the tool tip automation name for the Calculator zoom out button. + + + 축소 + Screen reader prompt for the zoom out button. + + + 수식 추가 + Placeholder text for the equation input button + + + 지금은 공유할 수 없습니다. + If there is an error in the sharing action will display a dialog with this text. + + + 확인 + Used on the dismiss button of the share action error dialog. + + + Windows 계산기를 사용하여 내가 표시한 그래프 + Sent as part of the shared content. The title for the share. + + + 수식 + Header that appears over the equations section when sharing + + + 변수 + Header that appears over the variables section when sharing + + + 수식이 있는 그래프의 이미지 + Alt text for the graph image when output via Share + + + 변수 + Header text for variables area + + + 단계 + Label text for the step text box + + + 최소 + Label text for the min text box + + + 최대 + Label text for the max text box + + + 선 색 + Label for the Line Color section of the style picker + + + 함수 분석 + Title for KeyGraphFeatures Control + + + 함수에 수평 점근선이 없습니다. + Message displayed when the graph does not have any horizontal asymptotes + + + 함수에 변곡점이 없습니다. + Message displayed when the graph does not have any inflection points + + + 함수에 최대점 이 없습니다. + Message displayed when the graph does not have any maxima + + + 함수에 최소점이 없습니다. + Message displayed when the graph does not have any minima + + + 일정 + String describing constant monotonicity of a function + + + 감소 + String describing decreasing monotonicity of a function + + + 함수의 단조를 확인할 수 없습니다. + Error displayed when monotonicity cannot be determined + + + 증가 + String describing increasing monotonicity of a function + + + 함수의 단조를 알 수 없습니다. + Error displayed when monotonicity is unknown + + + 함수에 사선 점근선이 없습니다. + Message displayed when the graph does not have any oblique asymptotes + + + 함수의 패리티를 확인할 수 없습니다. + Error displayed when parity is cannot be determined + + + 이 함수는 짝수입니다. + Message displayed with the function parity is even + + + 이 함수는 짝수도 홀수도 아닙니다. + Message displayed with the function parity is neither even nor odd + + + 함수가 홀수입니다. + Message displayed with the function parity is odd + + + 함수 패리티를 알 수 없습니다. + Error displayed when parity is unknown + + + 이 함수에 대한 주기성이 지원되지 않습니다. + Error displayed when periodicity is not supported + + + 함수가 주기적이지 않습니다. + Message displayed with the function periodicity is not periodic + + + 함수 주기성을 알 수 없습니다. + Message displayed with the function periodicity is unknown + + + 이러한 기능은 너무 복잡하여 계산기가 계산할 수 없습니다. + Error displayed when analysis features cannot be calculated + + + 함수에 수직 점근선이 없습니다. + Message displayed when the graph does not have any vertical asymptotes + + + 함수에 X절편이 없습니다. + Message displayed when the graph does not have any x-intercepts + + + 함수에 Y절편이 없습니다. + Message displayed when the graph does not have any y-intercepts + + + 도메인 + Title for KeyGraphFeatures Domain Property + + + 수평 점근선 + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + 변곡점 + Title for KeyGraphFeatures Inflection Points Property + + + 이 함수에 대한 분석이 지원되지 않습니다. + Error displayed when graph analysis is not supported or had an error. + + + 최대값 + Title for KeyGraphFeatures Maxima Property + + + 최소값 + Title for KeyGraphFeatures Minima Property + + + 단조 + Title for KeyGraphFeatures Monotonicity Property + + + 사선 점근선 + Title for KeyGraphFeatures Oblique Asymptotes Property + + + 패리티 + Title for KeyGraphFeatures Parity Property + + + 기간 + Title for KeyGraphFeatures Periodicity Property + + + 범위 + Title for KeyGraphFeatures Range Property + + + 수직 점근선 + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X절편 + Title for KeyGraphFeatures XIntercept Property + + + Y절편 + Title for KeyGraphFeatures YIntercept Property + + + 함수에 대한 분석을 수행할 수 없습니다. + + + 이 함수에 대한 도메인을 계산할 수 없습니다. + Error displayed when Domain is not returned from the analyzer. + + + 이 함수에 대한 범위를 계산할 수 없습니다. + Error displayed when Range is not returned from the analyzer. + + + 뒤로 + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + 뒤로 + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + 함수 분석 + This is the tooltip for the analyze function button + + + 함수 분석 + This is the automation name for the analyze function button + + + 함수 분석 + This is the text for the for the analyze function context menu command + + + 수식 제거 + This is the tooltip for the graphing calculator remove equation buttons + + + 수식 제거 + This is the automation name for the graphing calculator remove equation buttons + + + 수식 제거 + This is the text for the for the remove equation context menu command + + + 공유 + This is the automation name for the graphing calculator share button. + + + 공유 + This is the tooltip for the graphing calculator share button. + + + 수식 스타일 변경 + This is the tooltip for the graphing calculator equation style button + + + 수식 스타일 변경 + This is the automation name for the graphing calculator equation style button + + + 수식 스타일 변경 + This is the text for the for the equation style context menu command + + + 수식 %1 표시 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + 수식 %1 숨기기 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + 추적 중지 + This is the tooltip/automation name for the graphing calculator stop tracing button + + + 추적 시작 + This is the tooltip/automation name for the graphing calculator start tracing button + + + 그래프 보기 창, %1 및 %2에 의해 경계가 지정된 x-축, %3 및 %4에 의해 경계가 지정된 y-축, %5 방정식 표시 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + 슬라이더 구성 + This is the tooltip text for the slider options button in Graphing Calculator + + + 슬라이더 구성 + This is the automation name text for the slider options button in Graphing Calculator + + + 수식 모드로 전환 + Used in Graphing Calculator to switch the view to the equation mode + + + 그래프 모드로 전환 + Used in Graphing Calculator to switch the view to the graph mode + + + 수식 모드로 전환 + Used in Graphing Calculator to switch the view to the equation mode + + + 현재 모드는 수식 모드입니다. + Announcement used in Graphing Calculator when switching to the equation mode + + + 현재 모드는 그래프 모드입니다. + Announcement used in Graphing Calculator when switching to the graph mode + + + + Heading for window extents on the settings + + + + Degrees mode on settings page + + + 그라디안 + Gradian mode on settings page + + + 라디안 + Radians mode on settings page + + + 단위 + Heading for Unit's on the settings + + + 보기 다시 설정 + Hyperlink button to reset the view of the graph + + + X-최대 + X maximum value header + + + X-최소 + X minimum value header + + + Y-최대 + Y Maximum value header + + + Y-최소 + Y minimum value header + + + 눈금 옵션 + This is the tooltip text for the grid options button in Graphing Calculator + + + 눈금 옵션 + This is the automation name text for the grid options button in Graphing Calculator + + + 그래프 옵션 + Heading for the Graph Options flyout in Graphing mode. + + + 식 입력 + this is the placeholder text used by the textbox to enter an equation + + + 복사 + Copy menu item for the graph context menu + + + 잘라내기 + Cut menu item from the Equation TextBox + + + 복사 + Copy menu item from the Equation TextBox + + + 붙여넣기 + Paste menu item from the Equation TextBox + + + 실행 취소 + Undo menu item from the Equation TextBox + + + 모두 선택 + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/lo-LA/Resources.resw b/src/Calculator/Resources/lo-LA/Resources.resw index 1b24a5c6a..922ea9d28 100644 --- a/src/Calculator/Resources/lo-LA/Resources.resw +++ b/src/Calculator/Resources/lo-LA/Resources.resw @@ -697,9 +697,9 @@ ລຶບ Text string for the Calculator Delete swipe button in the History list - - ກັອບປີ້ - Text string for the Calculator Copy option in the History list context menu + + ກັອບປີ້ + Text string for the Calculator Copy option in the History list context menu ລຶບ @@ -867,7 +867,7 @@ ເທົ່າກັນ - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad <mrk mtype="seg" mid="5">ຟັງຄ໌ຊັນກັບກັນ</mrk> @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - ຮັກສາໄວ້ດ້ານເທິງສຸດ + ຮັກສາໄວ້ດ້ານເທິງສຸດ (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - ກັບຄືນມຸມມອງເຕັມ + ກັບຄືນມຸມມອງເຕັມ (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ ການຄິດໄລ່ບໍ່ສຳເລັດ - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation ພື້ນຖານບັນທຶກ X @@ -3075,6 +3059,10 @@ ຟັງຄ໌ຊັນ Displayed on the button that contains a flyout for the general functions in scientific mode. + + ບໍ່ເທົ່າກັນ + Displayed on the button that contains a flyout for the inequality functions. + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ ບິດທີ່ສູງສຸດ Used to describe the last bit of a binary number. Used in bit flip + + ສ້າງແຜ່ນວາດ + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + ເທົ່າກັນ + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + ລົງຈຸດ + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + ຕັ້ງຄືນໃໝ່ການເບິ່ງ (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + ຕັ້ງການເບິ່ງຄືນໃໝ່ + Screen reader prompt for the reset zoom button. + + + ຊູມເຂົ້າ (Ctrl + ບວກ) + This is the tool tip automation name for the Calculator zoom in button. + + + ຊູມເຂົ້າ + Screen reader prompt for the zoom in button. + + + ຊູມອອກ (Ctrl + ລົບ) + This is the tool tip automation name for the Calculator zoom out button. + + + ຊູມອອກ + Screen reader prompt for the zoom out button. + + + ເພີ່ມສົມຜົົນ + Placeholder text for the equation input button + + + ບໍ່ສາມາດແບ່ງປັນໃນເວລານີ້. + If there is an error in the sharing action will display a dialog with this text. + + + ຕົກລົງ + Used on the dismiss button of the share action error dialog. + + + ຊອກຫາສິ່ງທີ່ຂ້ອຍໄດ້ສະແດງເປັນເສັ້ນກຣາຟດ້ວຍ Windows ເຄື່ອງຄິດເລກ + Sent as part of the shared content. The title for the share. + + + ສົມຜົນ + Header that appears over the equations section when sharing + + + ຕົວແປ + Header that appears over the variables section when sharing + + + ຮູບພາບຂອງແຜ່ນວາດກັບສົມຜົນ + Alt text for the graph image when output via Share + + + ຕົວແປ + Header text for variables area + + + ບາດກ້າວ + Label text for the step text box + + + ຕ່ຳສຸດ + Label text for the min text box + + + ສູງສຸດ + Label text for the max text box + + + ສີເສັ້ນ + Label for the Line Color section of the style picker + + + ການວິເຄາະຟັງຄ໌ຊັນ + Title for KeyGraphFeatures Control + + + ຟັງຊັນບໍ່ມີເສັ້ນກຳກັບລວງນອນໃດໜຶ່ງ. + Message displayed when the graph does not have any horizontal asymptotes + + + ຟັງຊັນບໍ່ມີຈຸດການຜັນໃດໜຶ່ງ. + Message displayed when the graph does not have any inflection points + + + ຟັງຊັນບໍ່ມີຈຸດສູງສຸດໃດໜຶ່ງ. + Message displayed when the graph does not have any maxima + + + ຟັງຊັນບໍ່ມີຈຸດຕ່ຳສຸດໃດໜຶ່ງ. + Message displayed when the graph does not have any minima + + + ຄົງທີ່ + String describing constant monotonicity of a function + + + ການຫລຸດລົງ + String describing decreasing monotonicity of a function + + + ບໍ່ສາມາດກໍານົດການຊ້ຳຂອງຟັງຊັນ. + Error displayed when monotonicity cannot be determined + + + ການເພີ່ມຂຶ້ນ + String describing increasing monotonicity of a function + + + ການຊ້ຳຂອງຟັງຊັນແມ່ນບໍ່ຮູ້ຈັກ. + Error displayed when monotonicity is unknown + + + ຟັງຊັນບໍ່ມີເສັ້ນກຳກັບອຽງໃດໜຶ່ງ. + Message displayed when the graph does not have any oblique asymptotes + + + ບໍ່ສາມາດກໍານົດການເທົ່າກັນຂອງຟັງຊັນ. + Error displayed when parity is cannot be determined + + + ຟັງຊັນແມ່ນຄູ່. + Message displayed with the function parity is even + + + ຟັງຊັນບໍ່ແມ່ນຄູ່ແລະຄີກ. + Message displayed with the function parity is neither even nor odd + + + ຟັງຊັນແມ່ນຄີກ. + Message displayed with the function parity is odd + + + ການເທົ່າກັນຂອງຟັງຊັນແມ່ນບໍ່ຮູ້ຈັກ. + Error displayed when parity is unknown + + + ການເກີດຂຶ້ນຊ້ຳໆບໍ່ຖືກຮອງຮັບສຳລັບຟັງຊັນນີ້. + Error displayed when periodicity is not supported + + + ຟັງຊັນນີ້ແມ່ນເກີດຂຶ້ນຊ້ຳໆ. + Message displayed with the function periodicity is not periodic + + + ການເກີດຂຶ້ນຊ້ຳໆຂອງຟັງຊັນແມ່ນບໍ່ຮູ້ຈັກ. + Message displayed with the function periodicity is unknown + + + ຄຸນສົມບັດເຫລົ່ານີ້ສັບສົນເກີນໄປສຳລັບ ເຄື່ອງຄິດເລກໃນການຄຳນວນ: + Error displayed when analysis features cannot be calculated + + + ຟັງຊັນບໍ່ມີເສັ້ນກຳກັບລວງຕັ້ງໃດໜຶ່ງ. + Message displayed when the graph does not have any vertical asymptotes + + + ຟັງຊັນບໍ່ມີຈຸດ x-intercept ໃດໜຶ່ງ. + Message displayed when the graph does not have any x-intercepts + + + ຟັງຊັນບໍ່ມີຈຸຸດ y-intercept ໃດໜຶ່ງ. + Message displayed when the graph does not have any y-intercepts + + + ໂດເມນ + Title for KeyGraphFeatures Domain Property + + + ເສັ້ນກຳກັບລວງນອນ + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + ຈຸດການຜັນ + Title for KeyGraphFeatures Inflection Points Property + + + ການວິເຄາະບໍ່ຖືກຮອງຮັບສຳລັບຟັງຊັນນີ້. + Error displayed when graph analysis is not supported or had an error. + + + ສູງສຸດ + Title for KeyGraphFeatures Maxima Property + + + ຕ່ຳສຸດ + Title for KeyGraphFeatures Minima Property + + + ການຊ້ຳ + Title for KeyGraphFeatures Monotonicity Property + + + ເສັ້ນກຳກັບອຽງ + Title for KeyGraphFeatures Oblique Asymptotes Property + + + ການເທົ່າກັນ + Title for KeyGraphFeatures Parity Property + + + ໄລຍະເວລາ + Title for KeyGraphFeatures Periodicity Property + + + ຂອບເຂດ + Title for KeyGraphFeatures Range Property + + + ເສັ້ນກຳກັບລວງຕັ້ງ + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-Intercept + Title for KeyGraphFeatures XIntercept Property + + + Y-Intercept + Title for KeyGraphFeatures YIntercept Property + + + ບໍ່ສາມາດເຮັດການວິເຄາະສຳລັບຟັງຊັນ. + + + ບໍ່ສາມາດຄໍານວນໂດເມນສໍາລັບຟັງຊັນນີ້. + Error displayed when Domain is not returned from the analyzer. + + + ບໍ່ສາມາດຄໍານວນຂອບເຂດສໍາລັບຟັງຊັນນີ້. + Error displayed when Range is not returned from the analyzer. + + + ກັບ​ຄືນ + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + ກັບ​ຄືນ + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + ວິເຄາະຟັງຄ໌ຊັນ + This is the tooltip for the analyze function button + + + ວິເຄາະຟັງຄ໌ຊັນ + This is the automation name for the analyze function button + + + ວິເຄາະຟັງຄ໌ຊັນ + This is the text for the for the analyze function context menu command + + + ເອົາສົມຜົນອອກ + This is the tooltip for the graphing calculator remove equation buttons + + + ເອົາສົມຜົນອອກ + This is the automation name for the graphing calculator remove equation buttons + + + ເອົາສົມຜົນອອກ + This is the text for the for the remove equation context menu command + + + ແຊຣ໌ + This is the automation name for the graphing calculator share button. + + + ແຊຣ໌ + This is the tooltip for the graphing calculator share button. + + + ປ່ຽນຮູບແບບສົມຜົນ + This is the tooltip for the graphing calculator equation style button + + + ປ່ຽນຮູບແບບສົມຜົນ + This is the automation name for the graphing calculator equation style button + + + ປ່ຽນຮູບແບບສົມຜົນ + This is the text for the for the equation style context menu command + + + ສະແດງສົມຜົນ %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + ເຊື່ອງສົມຜົນ %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + ຢຸດຕິດຕາມ + This is the tooltip/automation name for the graphing calculator stop tracing button + + + ເລີ່ມຕິດຕາມ + This is the tooltip/automation name for the graphing calculator start tracing button + + + ໜ້າຕ່າງເບິ່ງກຣາຟ, ແກນ x ກັ້ນໂດຍ %1 ແລະ %2, ແກນ y ກັ້ນໂດຍ %3 ແລະ %4, ການສະແດງຜົນ %5 ສະແດງສົມຜົນ + {Locked="%1","%2", "%3", "%4", "%5"}. + + + ກຳນົດຄ່າຕົວເລື່ອນ + This is the tooltip text for the slider options button in Graphing Calculator + + + ກຳນົດຄ່າຕົວເລື່ອນ + This is the automation name text for the slider options button in Graphing Calculator + + + ສັບປ່ຽນ​ເປັນ​ໂໝດ ສົມຜົນ + Used in Graphing Calculator to switch the view to the equation mode + + + ສັບປ່ຽນ​ເປັນ​ໂໝດ ແຜ່ນວາດ + Used in Graphing Calculator to switch the view to the graph mode + + + ສັບປ່ຽນ​ເປັນ​ໂໝດ ສົມຜົນ + Used in Graphing Calculator to switch the view to the equation mode + + + ໂໝດປະຈຸບັນແມ່ນໂໝດສົມຜົນ + Announcement used in Graphing Calculator when switching to the equation mode + + + ໂໝດປະຈຸບັນແມ່ນໂໝດແຜ່ນວາດ + Announcement used in Graphing Calculator when switching to the graph mode + + + ໜ້າຕ່າງ + Heading for window extents on the settings + + + ອົງສາ + Degrees mode on settings page + + + ກາດຽນ + Gradian mode on settings page + + + ຣາ​ດ່ຽງ + Radians mode on settings page + + + ຫົວ​ໜ່ວຍ + Heading for Unit's on the settings + + + ຕັ້ງມຸມມອງຄືນໃໝ່ + Hyperlink button to reset the view of the graph + + + X-Max + X maximum value header + + + X-Min + X minimum value header + + + Y-Max + Y Maximum value header + + + Y-Min + Y minimum value header + + + ທາງເລືອກເສັ້ນກຣີດ + This is the tooltip text for the grid options button in Graphing Calculator + + + ທາງເລືອກເສັ້ນກຣີດ + This is the automation name text for the grid options button in Graphing Calculator + + + ທາງເລືອກແຜ່ນວາດ + Heading for the Graph Options flyout in Graphing mode. + + + ປ້ອນການສະແດງສົມຜົນ + this is the placeholder text used by the textbox to enter an equation + + + ກັອບປີ້ + Copy menu item for the graph context menu + + + ຕັດ + Cut menu item from the Equation TextBox + + + ສຳເນົາ + Copy menu item from the Equation TextBox + + + ວາງ + Paste menu item from the Equation TextBox + + + ຍົກເລີກ + Undo menu item from the Equation TextBox + + + ເລືອກທັງໝົດ + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/lt-LT/Resources.resw b/src/Calculator/Resources/lt-LT/Resources.resw index 96e67db31..91bec7076 100644 --- a/src/Calculator/Resources/lt-LT/Resources.resw +++ b/src/Calculator/Resources/lt-LT/Resources.resw @@ -697,9 +697,9 @@ Naikinti Text string for the Calculator Delete swipe button in the History list - - Kopijuoti - Text string for the Calculator Copy option in the History list context menu + + Kopijuoti + Text string for the Calculator Copy option in the History list context menu Naikinti @@ -867,7 +867,7 @@ Lygu - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Atvirkštinė funkcija @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Palikti viršuje + Palikti viršuje („Alt“ + aukštyn) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Grįžti į bendrą rodinį + Grįžti į bendrą rodinį („Alt“ + žemyn) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ M Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - KA AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Nepavyko apskaičiuoti - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logaritmas su baze X @@ -3075,6 +3059,10 @@ Funkcija Displayed on the button that contains a flyout for the general functions in scientific mode. + + Nelygybės + Displayed on the button that contains a flyout for the inequality functions. + Bitų Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ reikšmingiausias bitas Used to describe the last bit of a binary number. Used in bit flip + + Diagramų kūrimas + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Lygu + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Braižyti + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Iš naujo nustatyti rodinį („Ctrl“ + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Nustatyti rodinį iš naujo + Screen reader prompt for the reset zoom button. + + + Artinti („Ctrl“ + pliusas) + This is the tool tip automation name for the Calculator zoom in button. + + + Artinti + Screen reader prompt for the zoom in button. + + + Tolinti („Ctrl“ + minusas) + This is the tool tip automation name for the Calculator zoom out button. + + + Tolinti + Screen reader prompt for the zoom out button. + + + Įterpti lygtį + Placeholder text for the equation input button + + + Šiuo metu negalima bendrinti. + If there is an error in the sharing action will display a dialog with this text. + + + Gerai + Used on the dismiss button of the share action error dialog. + + + Pažiūrėkite, kokią diagramą sukūriau naudodamas „Windows“ skaičiuotuvą + Sent as part of the shared content. The title for the share. + + + Lygtys + Header that appears over the equations section when sharing + + + Kintamieji + Header that appears over the variables section when sharing + + + Diagramos su lygtimis vaizdas + Alt text for the graph image when output via Share + + + Kintamieji + Header text for variables area + + + Veiksmas + Label text for the step text box + + + Min. + Label text for the min text box + + + Maks. + Label text for the max text box + + + Linijos spalva + Label for the Line Color section of the style picker + + + Funkcijos analizė + Title for KeyGraphFeatures Control + + + Funkcija neturi jokių horizontalių asimptočių. + Message displayed when the graph does not have any horizontal asymptotes + + + Funkcija neturi jokių infleksijos taškų. + Message displayed when the graph does not have any inflection points + + + Funkcija neturi jokių maksimos taškų. + Message displayed when the graph does not have any maxima + + + Funkcija neturi jokių minimos taškų. + Message displayed when the graph does not have any minima + + + Konstanta + String describing constant monotonicity of a function + + + Mažėjanti + String describing decreasing monotonicity of a function + + + Neįmanoma nustatyti funkcijos monotoniškumo. + Error displayed when monotonicity cannot be determined + + + Didėjanti + String describing increasing monotonicity of a function + + + Funkcijos monotoniškumas nežinomas. + Error displayed when monotonicity is unknown + + + Funkcija neturi jokių įstrižinių asimptočių. + Message displayed when the graph does not have any oblique asymptotes + + + Neįmanoma nustatyti funkcijos lyginumo. + Error displayed when parity is cannot be determined + + + Funkcija yra lyginė. + Message displayed with the function parity is even + + + Funkcija nėra nei lyginė, nei nelyginė. + Message displayed with the function parity is neither even nor odd + + + Funkcija yra nelyginė. + Message displayed with the function parity is odd + + + Funkcijos lyginumas nežinomas. + Error displayed when parity is unknown + + + Šios funkcijos periodiškumas nepalaikomas. + Error displayed when periodicity is not supported + + + Funkcija nėra periodinė. + Message displayed with the function periodicity is not periodic + + + Funkcijos periodiškumas nežinomas. + Message displayed with the function periodicity is unknown + + + Šios funkcijos per sudėtingos, kad būtų galima apskaičiuoti skaičiuotuvu: + Error displayed when analysis features cannot be calculated + + + Funkcija neturi jokių vertikalių asimptočių. + Message displayed when the graph does not have any vertical asymptotes + + + Funkcija neturi jokių x sankirtos taškų. + Message displayed when the graph does not have any x-intercepts + + + Funkcija neturi jokių y sankirtos taškų. + Message displayed when the graph does not have any y-intercepts + + + Domenas + Title for KeyGraphFeatures Domain Property + + + Horizontalios asimptotės + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Infleksijos taškai + Title for KeyGraphFeatures Inflection Points Property + + + Šios funkcijos analizė nepalaikoma. + Error displayed when graph analysis is not supported or had an error. + + + Maksima + Title for KeyGraphFeatures Maxima Property + + + Minima + Title for KeyGraphFeatures Minima Property + + + Monotoniškumas + Title for KeyGraphFeatures Monotonicity Property + + + Įstrižinės asimptotės + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Lyginumas + Title for KeyGraphFeatures Parity Property + + + Periodas + Title for KeyGraphFeatures Periodicity Property + + + Diapazonas + Title for KeyGraphFeatures Range Property + + + Vertikalios asimptotės + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X sankirtos taškas + Title for KeyGraphFeatures XIntercept Property + + + Y sankirtos taškas + Title for KeyGraphFeatures YIntercept Property + + + Nepavyko atlikti funkcijos analizės. + + + Nepavyko apskaičiuoti šios funkcijos domeno. + Error displayed when Domain is not returned from the analyzer. + + + Neįmanoma apskaičiuoti šios funkcijos diapazono. + Error displayed when Range is not returned from the analyzer. + + + Atgal + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Atgal + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analizuoti funkciją + This is the tooltip for the analyze function button + + + Analizuoti funkciją + This is the automation name for the analyze function button + + + Analizuoti funkciją + This is the text for the for the analyze function context menu command + + + Pašalinti lygtį + This is the tooltip for the graphing calculator remove equation buttons + + + Pašalinti lygtį + This is the automation name for the graphing calculator remove equation buttons + + + Pašalinti lygtį + This is the text for the for the remove equation context menu command + + + Bendrinti + This is the automation name for the graphing calculator share button. + + + Bendrinti + This is the tooltip for the graphing calculator share button. + + + Keisti lygties stilių + This is the tooltip for the graphing calculator equation style button + + + Keisti lygties stilių + This is the automation name for the graphing calculator equation style button + + + Keisti lygties stilių + This is the text for the for the equation style context menu command + + + Rodyti lygtį %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Slėpti lygtį %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Baigti sekimą + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Pradėti sekimą + This is the tooltip/automation name for the graphing calculator start tracing button + + + Diagramos peržiūros langas, x ašis bounded %1 ir %2, y ašis bounded pagal %3 ir %4, Rodyti %5 lygtis + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfigūruoti slankiklį + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfigūruoti slankiklį + This is the automation name text for the slider options button in Graphing Calculator + + + Perjungti į lango režimą + Used in Graphing Calculator to switch the view to the equation mode + + + Perjungti į diagramos režimą + Used in Graphing Calculator to switch the view to the graph mode + + + Perjungti į lango režimą + Used in Graphing Calculator to switch the view to the equation mode + + + Dabartinis režimas yra lygties režimas + Announcement used in Graphing Calculator when switching to the equation mode + + + Dabartinis režimas yra diagramos režimas + Announcement used in Graphing Calculator when switching to the graph mode + + + Langas + Heading for window extents on the settings + + + Laipsniai + Degrees mode on settings page + + + Gradianai + Gradian mode on settings page + + + Radianai + Radians mode on settings page + + + Vienetai + Heading for Unit's on the settings + + + Nustatyti rodinį iš naujo + Hyperlink button to reset the view of the graph + + + X maks. + X maximum value header + + + X min. + X minimum value header + + + Y maks. + Y Maximum value header + + + Y min. + Y minimum value header + + + Tinklelio parinktys + This is the tooltip text for the grid options button in Graphing Calculator + + + Tinklelio parinktys + This is the automation name text for the grid options button in Graphing Calculator + + + Diagramos parinktys + Heading for the Graph Options flyout in Graphing mode. + + + Įveskite išraišką + this is the placeholder text used by the textbox to enter an equation + + + Kopijuoti + Copy menu item for the graph context menu + + + Iškirpti + Cut menu item from the Equation TextBox + + + Kopijuoti + Copy menu item from the Equation TextBox + + + Įklijuoti + Paste menu item from the Equation TextBox + + + Anuliuoti + Undo menu item from the Equation TextBox + + + Pasirinkti viską + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/lv-LV/Resources.resw b/src/Calculator/Resources/lv-LV/Resources.resw index 6699a7fe0..622edab53 100644 --- a/src/Calculator/Resources/lv-LV/Resources.resw +++ b/src/Calculator/Resources/lv-LV/Resources.resw @@ -697,9 +697,9 @@ Dzēst Text string for the Calculator Delete swipe button in the History list - - Kopēt - Text string for the Calculator Copy option in the History list context menu + + Kopēt + Text string for the Calculator Copy option in the History list context menu Dzēst @@ -867,7 +867,7 @@ Vienāds ar - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Inversā funkcija @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Paturēt augšpusē + Paturēt augšpusē (Alt+augšup) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Atpakaļ uz pilnu skatu + Atpakaļ uz pilnu skatu (Alt+lejup) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Aprēķins neizdevās - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Pamata žurnāls X @@ -3075,6 +3059,10 @@ Funkcija Displayed on the button that contains a flyout for the general functions in scientific mode. + + Nevienādības + Displayed on the button that contains a flyout for the inequality functions. + Bitu Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ visnozīmīgākais bits Used to describe the last bit of a binary number. Used in bit flip + + Diagrammu izveide + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Vienāds ar + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Punkts + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Atiestatīt skatu (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Atiestatīt skatu + Screen reader prompt for the reset zoom button. + + + Tuvināt (Ctrl + pluszīme) + This is the tool tip automation name for the Calculator zoom in button. + + + Tuvināt + Screen reader prompt for the zoom in button. + + + Tālināt (Ctrl + mīnuszīme) + This is the tool tip automation name for the Calculator zoom out button. + + + Tālināt + Screen reader prompt for the zoom out button. + + + Pievienot vienādojumu + Placeholder text for the equation input button + + + Pašlaik nevar koplietot. + If there is an error in the sharing action will display a dialog with this text. + + + Labi + Used on the dismiss button of the share action error dialog. + + + Skatiet, ko esmu attēlojis grafiski ar Windows kalkulatoru + Sent as part of the shared content. The title for the share. + + + Vienādojumi + Header that appears over the equations section when sharing + + + Mainīgie + Header that appears over the variables section when sharing + + + Diagrammas attēls ar vienādojumiem + Alt text for the graph image when output via Share + + + Mainīgie + Header text for variables area + + + Darbība + Label text for the step text box + + + Min. + Label text for the min text box + + + Maks. + Label text for the max text box + + + Līnijas krāsa + Label for the Line Color section of the style picker + + + Funkciju analīze + Title for KeyGraphFeatures Control + + + Funkcijai nav nevienas horizontālas asimptotas. + Message displayed when the graph does not have any horizontal asymptotes + + + Funkcijai nav neviena formveidošanas punkta. + Message displayed when the graph does not have any inflection points + + + Funkcijai nav neviena maksimuma punkta. + Message displayed when the graph does not have any maxima + + + Funkcijai nav neviena minimuma punkta. + Message displayed when the graph does not have any minima + + + Konstante + String describing constant monotonicity of a function + + + Samazinājums + String describing decreasing monotonicity of a function + + + Nevar noteikt funkcijas monotoniskumu. + Error displayed when monotonicity cannot be determined + + + Palielinājums + String describing increasing monotonicity of a function + + + Funkcijas monotoniskums nav zināms. + Error displayed when monotonicity is unknown + + + Funkcijai nav nevienas slīpas asimptotas. + Message displayed when the graph does not have any oblique asymptotes + + + Nevar noteikt funkcijas pārību. + Error displayed when parity is cannot be determined + + + Funkcija ir pāra. + Message displayed with the function parity is even + + + Funkcija nav ne pāra, ne nepāra. + Message displayed with the function parity is neither even nor odd + + + Funkcija ir nepāra. + Message displayed with the function parity is odd + + + Funkcijas pārība nav zināma. + Error displayed when parity is unknown + + + Šīs funkcijas periodiskums netiek atbalstīts. + Error displayed when periodicity is not supported + + + Funkcija nav periodiska. + Message displayed with the function periodicity is not periodic + + + Funkcijas periodiskums nav zināms. + Message displayed with the function periodicity is unknown + + + Šie līdzekļi ir pārāk sarežģīti, lai kalkulators tos aprēķinātu: + Error displayed when analysis features cannot be calculated + + + Funkcijai nav nevienas vertikālas asimptotas. + Message displayed when the graph does not have any vertical asymptotes + + + Funkcijai nav neviena x krustpunkta. + Message displayed when the graph does not have any x-intercepts + + + Funkcijai nav neviena y krustpunkta. + Message displayed when the graph does not have any y-intercepts + + + Domēns + Title for KeyGraphFeatures Domain Property + + + Horizontālas asimptotas + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Formveidošanas punkti + Title for KeyGraphFeatures Inflection Points Property + + + Šai funkcijai analīze netiek atbalstīta. + Error displayed when graph analysis is not supported or had an error. + + + Maksimumi + Title for KeyGraphFeatures Maxima Property + + + Minimumi + Title for KeyGraphFeatures Minima Property + + + Monotoniskums + Title for KeyGraphFeatures Monotonicity Property + + + Slīpas asimptotas + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Pārība + Title for KeyGraphFeatures Parity Property + + + Periods + Title for KeyGraphFeatures Periodicity Property + + + Diapazons + Title for KeyGraphFeatures Range Property + + + Vertikālas asimptotas + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X krustpunkts + Title for KeyGraphFeatures XIntercept Property + + + Y krustpunkts + Title for KeyGraphFeatures YIntercept Property + + + Funkcijai nevarēja veikt analīzi. + + + Nevar aprēķināt šīs funkcijas domēnu. + Error displayed when Domain is not returned from the analyzer. + + + Nevar aprēķināt šīs funkcijas diapazonu. + Error displayed when Range is not returned from the analyzer. + + + Atpakaļ + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Atpakaļ + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analizēt funkciju + This is the tooltip for the analyze function button + + + Analizēt funkciju + This is the automation name for the analyze function button + + + Analizēt funkciju + This is the text for the for the analyze function context menu command + + + Noņemt vienādojumu + This is the tooltip for the graphing calculator remove equation buttons + + + Noņemt vienādojumu + This is the automation name for the graphing calculator remove equation buttons + + + Noņemt vienādojumu + This is the text for the for the remove equation context menu command + + + Kopīgot + This is the automation name for the graphing calculator share button. + + + Kopīgot + This is the tooltip for the graphing calculator share button. + + + Mainīt vienādojuma stilu + This is the tooltip for the graphing calculator equation style button + + + Mainīt vienādojuma stilu + This is the automation name for the graphing calculator equation style button + + + Mainīt vienādojuma stilu + This is the text for the for the equation style context menu command + + + Rādīt vienādojumu %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Paslēpt vienādojumu %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Apturēt izsekošanu + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Sākt izsekošanu + This is the tooltip/automation name for the graphing calculator start tracing button + + + Grafa skatīšanas logs, x ass Bounded, %1 un %2, y ass Bounded, %3 un %4, rāda %5 vienādojumus + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfigurēt slīdni + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfigurēt slīdni + This is the automation name text for the slider options button in Graphing Calculator + + + Pārslēgt uz vienādojumu režīmu + Used in Graphing Calculator to switch the view to the equation mode + + + Pārslēgt uz diagrammu režīmu + Used in Graphing Calculator to switch the view to the graph mode + + + Pārslēgt uz vienādojumu režīmu + Used in Graphing Calculator to switch the view to the equation mode + + + Pašreizējais režīms ir vienādojuma režīms + Announcement used in Graphing Calculator when switching to the equation mode + + + Pašreizējais režīms ir diagrammas režīms + Announcement used in Graphing Calculator when switching to the graph mode + + + Logs + Heading for window extents on the settings + + + Grādi + Degrees mode on settings page + + + Gradiāni + Gradian mode on settings page + + + Radiāni + Radians mode on settings page + + + Vienības + Heading for Unit's on the settings + + + Atiestatīt skatu + Hyperlink button to reset the view of the graph + + + X maks. + X maximum value header + + + X min. + X minimum value header + + + Y maks. + Y Maximum value header + + + Y min. + Y minimum value header + + + Režģa opcijas + This is the tooltip text for the grid options button in Graphing Calculator + + + Režģa opcijas + This is the automation name text for the grid options button in Graphing Calculator + + + Diagrammas opcijas + Heading for the Graph Options flyout in Graphing mode. + + + Ievadiet izteiksmi + this is the placeholder text used by the textbox to enter an equation + + + Kopēt + Copy menu item for the graph context menu + + + Izgriezt + Cut menu item from the Equation TextBox + + + Kopēt + Copy menu item from the Equation TextBox + + + Ielīmēt + Paste menu item from the Equation TextBox + + + Atsaukt + Undo menu item from the Equation TextBox + + + Atlasīt visu + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/mk-MK/Resources.resw b/src/Calculator/Resources/mk-MK/Resources.resw index b3219bfbb..74a814f94 100644 --- a/src/Calculator/Resources/mk-MK/Resources.resw +++ b/src/Calculator/Resources/mk-MK/Resources.resw @@ -697,9 +697,9 @@ Избриши Text string for the Calculator Delete swipe button in the History list - - Копирај - Text string for the Calculator Copy option in the History list context menu + + Копирај + Text string for the Calculator Copy option in the History list context menu Избриши @@ -867,7 +867,7 @@ Еднакво на - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Инверзна функција @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Задржи најгоре + Задржи најгоре (Alt+стрелка за горе) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Назад на целосен приказ + Назад на целосен приказ (Alt+стрелка за долу) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Пресметката не успеа - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Евиденција на основна X @@ -3075,6 +3059,10 @@ Функција Displayed on the button that contains a flyout for the general functions in scientific mode. + + Нееднаквости + Displayed on the button that contains a flyout for the inequality functions. + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ најзначаен дел Used to describe the last bit of a binary number. Used in bit flip + + Претставување со графикон + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Еднакво на + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Цртеж + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Ресетирај го приказот (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Ресетирај приказ + Screen reader prompt for the reset zoom button. + + + Зумирај (Ctrl + плус) + This is the tool tip automation name for the Calculator zoom in button. + + + Зумирај + Screen reader prompt for the zoom in button. + + + Одзумирај (Ctrl + минус) + This is the tool tip automation name for the Calculator zoom out button. + + + Одзумирај + Screen reader prompt for the zoom out button. + + + Додај равенка + Placeholder text for the equation input button + + + Не може да се сподели во моментов. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Погледнете што претставив со графикон со Windows калкулатор + Sent as part of the shared content. The title for the share. + + + Равенки + Header that appears over the equations section when sharing + + + Променливи + Header that appears over the variables section when sharing + + + Слика на графикон со равенки + Alt text for the graph image when output via Share + + + Променливи + Header text for variables area + + + Чекор + Label text for the step text box + + + Минимално + Label text for the min text box + + + Максимално + Label text for the max text box + + + Боја на линијата + Label for the Line Color section of the style picker + + + Анализа на функција + Title for KeyGraphFeatures Control + + + Функцијата нема никакви хоризонтални асимптоти. + Message displayed when the graph does not have any horizontal asymptotes + + + Функцијата нема никакви точки на флексија. + Message displayed when the graph does not have any inflection points + + + Функцијата нема никакви максимални точки. + Message displayed when the graph does not have any maxima + + + Функцијата нема никакви минимални точки. + Message displayed when the graph does not have any minima + + + Константа + String describing constant monotonicity of a function + + + Се намалува + String describing decreasing monotonicity of a function + + + Не може да се одреди монотоноста на функцијата. + Error displayed when monotonicity cannot be determined + + + Зголемување + String describing increasing monotonicity of a function + + + Монотоноста на функцијата е непозната. + Error displayed when monotonicity is unknown + + + Функцијата нема никакви закосени асимптоти. + Message displayed when the graph does not have any oblique asymptotes + + + Не може да се одреди партитетот на функцијата. + Error displayed when parity is cannot be determined + + + Функцијата е парна. + Message displayed with the function parity is even + + + Функцијата не е ниту парна, ниту непарна. + Message displayed with the function parity is neither even nor odd + + + Функцијата е непарна. + Message displayed with the function parity is odd + + + Паритетот на функцијата е непознат. + Error displayed when parity is unknown + + + Периодноста не е поддржана за оваа функција. + Error displayed when periodicity is not supported + + + Функцијата не е периодична. + Message displayed with the function periodicity is not periodic + + + Периодноста на функцијата е непозната. + Message displayed with the function periodicity is unknown + + + Овие карактеристики се премногу сложени за Калкулаторот да ги пресмета: + Error displayed when analysis features cannot be calculated + + + Функцијата нема никакви вертикални асимптоти. + Message displayed when the graph does not have any vertical asymptotes + + + Функцијата нема x-пресеци. + Message displayed when the graph does not have any x-intercepts + + + Функцијата нема y-пресеци. + Message displayed when the graph does not have any y-intercepts + + + Домен + Title for KeyGraphFeatures Domain Property + + + Хоризонтални асимптоти + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Точки на флексија + Title for KeyGraphFeatures Inflection Points Property + + + Анализата не е поддржана за оваа функција. + Error displayed when graph analysis is not supported or had an error. + + + Максимум + Title for KeyGraphFeatures Maxima Property + + + Минимум + Title for KeyGraphFeatures Minima Property + + + Монотоност + Title for KeyGraphFeatures Monotonicity Property + + + Коси асимптоти + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Паритет + Title for KeyGraphFeatures Parity Property + + + Период + Title for KeyGraphFeatures Periodicity Property + + + Опсег + Title for KeyGraphFeatures Range Property + + + Вертикални асимптоти + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-пресек + Title for KeyGraphFeatures XIntercept Property + + + Y-пресек + Title for KeyGraphFeatures YIntercept Property + + + Не може да се изврши анализа за функцијата. + + + Не може да се пресмета доменот за оваа функција. + Error displayed when Domain is not returned from the analyzer. + + + Не може да се пресмета опсегот за оваа функција. + Error displayed when Range is not returned from the analyzer. + + + Назад + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Назад + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Анализирај функција + This is the tooltip for the analyze function button + + + Анализирај функција + This is the automation name for the analyze function button + + + Анализирај функција + This is the text for the for the analyze function context menu command + + + Отстрани равенка + This is the tooltip for the graphing calculator remove equation buttons + + + Отстрани равенка + This is the automation name for the graphing calculator remove equation buttons + + + Отстрани равенка + This is the text for the for the remove equation context menu command + + + Сподели + This is the automation name for the graphing calculator share button. + + + Сподели + This is the tooltip for the graphing calculator share button. + + + Промени стил на равенка + This is the tooltip for the graphing calculator equation style button + + + Промени стил на равенка + This is the automation name for the graphing calculator equation style button + + + Промени стил на равенка + This is the text for the for the equation style context menu command + + + Прикажи равенка %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Скриј равенка %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Престани следење + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Започни следење + This is the tooltip/automation name for the graphing calculator start tracing button + + + Прикажување на прозорецот на графиконот, x-оската ограничена со %1 и %2, y-оската ограничена со %3 и %4, прикажување %5 равенки + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Конфигурирај лизгач + This is the tooltip text for the slider options button in Graphing Calculator + + + Конфигурирај лизгач + This is the automation name text for the slider options button in Graphing Calculator + + + Префрли на режим на равенка + Used in Graphing Calculator to switch the view to the equation mode + + + Префрли на режим на графикон + Used in Graphing Calculator to switch the view to the graph mode + + + Префрли на режим на равенка + Used in Graphing Calculator to switch the view to the equation mode + + + Тековниот режим е режим на равенка + Announcement used in Graphing Calculator when switching to the equation mode + + + Тековниот режим е режим на графикон + Announcement used in Graphing Calculator when switching to the graph mode + + + Прозорец + Heading for window extents on the settings + + + Степени + Degrees mode on settings page + + + Градијани + Gradian mode on settings page + + + Радијани + Radians mode on settings page + + + Единици + Heading for Unit's on the settings + + + Ресетирај го приказот + Hyperlink button to reset the view of the graph + + + X-максимум + X maximum value header + + + X-минимум + X minimum value header + + + Y-максимум + Y Maximum value header + + + Y-минимум + Y minimum value header + + + Опции за решетка + This is the tooltip text for the grid options button in Graphing Calculator + + + Опции за решетка + This is the automation name text for the grid options button in Graphing Calculator + + + Опции за графикон + Heading for the Graph Options flyout in Graphing mode. + + + Внесете израз + this is the placeholder text used by the textbox to enter an equation + + + Копирај + Copy menu item for the graph context menu + + + Отсечи + Cut menu item from the Equation TextBox + + + Копирај + Copy menu item from the Equation TextBox + + + Залепи + Paste menu item from the Equation TextBox + + + Врати + Undo menu item from the Equation TextBox + + + Избери сѐ + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/ml-IN/Resources.resw b/src/Calculator/Resources/ml-IN/Resources.resw index 9da1f8770..3170fce92 100644 --- a/src/Calculator/Resources/ml-IN/Resources.resw +++ b/src/Calculator/Resources/ml-IN/Resources.resw @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - കാൽക്കുലേറ്റർ + കാല്‍ക്കുലേറ്റര്‍ {@Appx_ShortDisplayName@}{StringCategory="Feature Title"} This is the title of the official application when published through Windows Store. @@ -697,9 +697,9 @@ ഇല്ലാതാക്കുക Text string for the Calculator Delete swipe button in the History list - - പകർത്തുക - Text string for the Calculator Copy option in the History list context menu + + പകർത്തുക + Text string for the Calculator Copy option in the History list context menu ഇല്ലാതാക്കുക @@ -867,7 +867,7 @@ സമമായവ - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad വിപരീത കാര്യ പ്രവർത്തനം @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - മുകളിൽ തുടരുക + മുകളിൽ തുടരുക (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - പൂർണ്ണ വീക്ഷണത്തിലേക്കു മടങ്ങുക + പൂർണ്ണ കാഴ്ചയിലേക്ക് മടങ്ങുക (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ കണക്കുകൂട്ടൽ പരാജയപ്പെട്ടു - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation ലോഗ് ബേസ് എക്സ് @@ -3075,6 +3059,10 @@ nകാര്യപ്രവർത്തനം Displayed on the button that contains a flyout for the general functions in scientific mode. + + വ്യത്യാസങ്ങള്‍ + Displayed on the button that contains a flyout for the inequality functions. + ബിറ്റ്വൈസ് Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ ഏറ്റവും പ്രാധാന്യം കൂടിയ ബിറ്റ് Used to describe the last bit of a binary number. Used in bit flip + + ഗ്രാഫിംഗ് + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + സമം + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + പ്ലോട്ട് + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + കാഴ്ച പുനസജ്ജീകരിക്കുക (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + കാഴ്ച പുനഃസജ്ജമാക്കുക + Screen reader prompt for the reset zoom button. + + + സൂം ഇൻ (Ctrl + പ്ലസ്) + This is the tool tip automation name for the Calculator zoom in button. + + + സൂം ഇന്‍ + Screen reader prompt for the zoom in button. + + + സൂം ഔട്ട് ചെയ്യുക (Ctrl + മൈനസ്) + This is the tool tip automation name for the Calculator zoom out button. + + + സൂം ഔട്ട് + Screen reader prompt for the zoom out button. + + + സമവാക്യം ചേര്‍ക്കുക + Placeholder text for the equation input button + + + ഇപ്പോള്‍ പങ്കിടാന്‍ കഴിയുന്നില്ല. + If there is an error in the sharing action will display a dialog with this text. + + + ശരി + Used on the dismiss button of the share action error dialog. + + + Windows കാല്‍ക്കുലേറ്റര്‍ ഉപയോഗിച്ച് ഞാന്‍ എന്താണ് ഗ്രാഫ് ചെയ്തതെന്ന് നോക്കൂ + Sent as part of the shared content. The title for the share. + + + സമവാക്യങ്ങള്‍ + Header that appears over the equations section when sharing + + + വേരിയബിളുകള്‍ + Header that appears over the variables section when sharing + + + സമവാക്യങ്ങളുള്ള ഒരു ഗ്രാഫിന്റെ ഇമേജ് + Alt text for the graph image when output via Share + + + വേരിയബിളുകള്‍ + Header text for variables area + + + ഘട്ടം + Label text for the step text box + + + കുറഞ്ഞത് + Label text for the min text box + + + പരമാവധി + Label text for the max text box + + + വരി വര്‍ണ്ണം + Label for the Line Color section of the style picker + + + കാര്യപ്രവര് ത്തനം വിശകലനം + Title for KeyGraphFeatures Control + + + കാര്യപ്രവര്‍ത്തനത്തിന് സമാന്തര അസംപാതരേഖകള്‍ ഒന്നുമില്ല. + Message displayed when the graph does not have any horizontal asymptotes + + + കാര്യപ്രവര്‍ത്തനത്തിന് ഇൻഫ്ലക്ഷന്‍ പോയിന്റുകള്‍ ഒന്നുമില്ല. + Message displayed when the graph does not have any inflection points + + + കാര്യപ്രവര്‍ത്തനത്തിന് മാക്‌സിമ പോയിന്റുകള്‍ ഒന്നുമില്ല. + Message displayed when the graph does not have any maxima + + + കാര്യപ്രവര്‍ത്തനത്തിന് മിനിമ പോയിന്റുകള്‍ ഒന്നുമില്ല. + Message displayed when the graph does not have any minima + + + സ്ഥിരമായത് + String describing constant monotonicity of a function + + + കുറയുന്നത് + String describing decreasing monotonicity of a function + + + കാര്യപ്രവര്‍ത്തനത്തിന്റെ ഏകതാനത നിര്‍ണ്ണയിക്കാന്‍ കഴിയില്ല. + Error displayed when monotonicity cannot be determined + + + വര്‍ദ്ധിക്കുന്നു + String describing increasing monotonicity of a function + + + കാര്യപ്രവര്‍ത്തനത്തിന്റെ ഏകതാനത അജ്ഞാതമാണ്. + Error displayed when monotonicity is unknown + + + കാര്യപ്രവര്‍ത്തനത്തിന് ചരിവുള്ള അസംപാതരേഖകള്‍ ഒന്നുമില്ല. + Message displayed when the graph does not have any oblique asymptotes + + + കാര്യപ്രവര്‍ത്തനത്തിന്റെ സമാനത നിര്‍ണ്ണയിക്കാന്‍ കഴിയില്ല. + Error displayed when parity is cannot be determined + + + കാര്യപ്രവര്‍ത്തനം ഇരട്ടയാണ്. + Message displayed with the function parity is even + + + കാര്യപ്രവര്‍ത്തനം ഇരട്ടയോ ഒറ്റയോ അല്ല. + Message displayed with the function parity is neither even nor odd + + + കാര്യപ്രവര്‍ത്തനം ഒറ്റയാണ്. + Message displayed with the function parity is odd + + + കാര്യപ്രവര്‍ത്തനത്തിന്റെ സമാനത അജ്ഞാതമാണ്. + Error displayed when parity is unknown + + + ഈ കാര്യപ്രവര്‍ത്തനത്തിന് ആനുകാലികത പിന്തുണക്കുന്നില്ല. + Error displayed when periodicity is not supported + + + കാര്യപ്രവര്‍ത്തനം ആനുകാലികമല്ല. + Message displayed with the function periodicity is not periodic + + + കാര്യപ്രവര്‍ത്തനത്തിന്റെ ആനുകാലികത അജ്ഞാതമാണ്. + Message displayed with the function periodicity is unknown + + + ഈ സവിശേഷതകള്‍ കാല്‍‌ക്കുലേറ്റര്‍നായി കണക്കാക്കാനാവുന്നതിനേക്കാളേറേ സങ്കീര്‍ണ്ണമാണ്: + Error displayed when analysis features cannot be calculated + + + കാര്യപ്രവര്‍ത്തനത്തിന് ലംബ അസംപാതരേഖകള്‍ ഒന്നുമില്ല. + Message displayed when the graph does not have any vertical asymptotes + + + കാര്യപ്രവര്‍ത്തനത്തിന് X-ഇന്റര്‍സെപ്റ്റുകള്‍ ഒന്നുമില്ല. + Message displayed when the graph does not have any x-intercepts + + + കാര്യപ്രവര്‍ത്തനത്തിന് Y-ഇന്റര്‍സെപ്റ്റുകള്‍ ഒന്നുമില്ല. + Message displayed when the graph does not have any y-intercepts + + + ഡൊമൈന്‍ + Title for KeyGraphFeatures Domain Property + + + സമാന്തര അസംപാതരേഖകള്‍ + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + ഇൻഫ്ലക്ഷന്‍ പോയിന്റുകള്‍ + Title for KeyGraphFeatures Inflection Points Property + + + ഈ കാര്യപ്രവര്‍ത്തനത്തിന് വിശകലനം പിന്തുണക്കുന്നില്ല. + Error displayed when graph analysis is not supported or had an error. + + + മാക്‌സിമ + Title for KeyGraphFeatures Maxima Property + + + മിനിമ + Title for KeyGraphFeatures Minima Property + + + ഏകതാനത + Title for KeyGraphFeatures Monotonicity Property + + + ചരിവുള്ള അസംപാതരേഖകള്‍ + Title for KeyGraphFeatures Oblique Asymptotes Property + + + സമാനത + Title for KeyGraphFeatures Parity Property + + + കാലയളവ് + Title for KeyGraphFeatures Periodicity Property + + + ശ്രേണി + Title for KeyGraphFeatures Range Property + + + ലംബ അസംപാതരേഖകള്‍ + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-ഇന്റര്‍സെപ്റ്റ്‌ + Title for KeyGraphFeatures XIntercept Property + + + Y-ഇന്റര്‍സെപ്റ്റ്‌ + Title for KeyGraphFeatures YIntercept Property + + + കാര്യപ്രവര്‍ത്തനത്തിന്റെ വിശകലനം നടപ്പിലാക്കാന്‍ കഴിഞ്ഞില്ല. + + + ഈ കാര്യപ്രവര്‍ത്തനത്തിന് ഡൊമൈന്‍ കണക്കാക്കാന്‍ കഴിയില്ല. + Error displayed when Domain is not returned from the analyzer. + + + ഈ കാര്യപ്രവര്‍ത്തനത്തിന്റെ ശ്രേണി കണക്കാക്കാന്‍ കഴിയുന്നില്ല. + Error displayed when Range is not returned from the analyzer. + + + പിന്നിലേക്ക് + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + പിന്നിലേക്ക് + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + കാര്യപ്രവര് ത്തനം വിശകലനം ചെയ്യുക + This is the tooltip for the analyze function button + + + കാര്യപ്രവര് ത്തനം വിശകലനം ചെയ്യുക + This is the automation name for the analyze function button + + + കാര്യപ്രവര് ത്തനം വിശകലനം ചെയ്യുക + This is the text for the for the analyze function context menu command + + + സമവാക്യം നീക്കം ചെയ്യുക + This is the tooltip for the graphing calculator remove equation buttons + + + സമവാക്യം നീക്കം ചെയ്യുക + This is the automation name for the graphing calculator remove equation buttons + + + സമവാക്യം നീക്കം ചെയ്യുക + This is the text for the for the remove equation context menu command + + + പങ്കിടുക + This is the automation name for the graphing calculator share button. + + + പങ്കിടുക + This is the tooltip for the graphing calculator share button. + + + സമവാക്യ ശൈലി മാറ്റുക + This is the tooltip for the graphing calculator equation style button + + + സമവാക്യ ശൈലി മാറ്റുക + This is the automation name for the graphing calculator equation style button + + + സമവാക്യ ശൈലി മാറ്റുക + This is the text for the for the equation style context menu command + + + സമവാക്യം %1 കാണിക്കുക + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + സമവാക്യം %1 മറയ്ക്കുക + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + കണ്ടെത്തല്‍ നിര്‍ത്തുക + This is the tooltip/automation name for the graphing calculator stop tracing button + + + കണ്ടെത്തല്‍ തുടങ്ങുക + This is the tooltip/automation name for the graphing calculator start tracing button + + + ഗ്രാഫ് കാണിക്കുന്ന വിൻഡോ, %1, %2 ബൗണ്ടഡ് ആയ എക്സ്-ആക്സിസ്, %3, %4 ബൗണ്ടഡ് ആയ വൈയ്-ആക്സിസ്, %5 ഈക്വാഷനുകൾ കാണിക്കുന്നു + {Locked="%1","%2", "%3", "%4", "%5"}. + + + സ്ലൈഡര്‍ കോണ്‍ഫിഗര്‍ ചെയ്യുക + This is the tooltip text for the slider options button in Graphing Calculator + + + സ്ലൈഡര്‍ കോണ്‍ഫിഗര്‍ ചെയ്യുക + This is the automation name text for the slider options button in Graphing Calculator + + + സമവാക്യ മോഡിലേക്ക് മാറുക + Used in Graphing Calculator to switch the view to the equation mode + + + ഗ്രാഫ് മോഡിലേക്ക് മാറുക + Used in Graphing Calculator to switch the view to the graph mode + + + സമവാക്യ മോഡിലേക്ക് മാറുക + Used in Graphing Calculator to switch the view to the equation mode + + + നിലവിലെ മോഡ് സമവാക്യ മോഡ് ആണ് + Announcement used in Graphing Calculator when switching to the equation mode + + + നിലവിലെ മോഡ് ഗ്രാഫ് മോഡ് ആണ്‌ + Announcement used in Graphing Calculator when switching to the graph mode + + + ജാലക + Heading for window extents on the settings + + + ഡിഗ്രികള്‍ + Degrees mode on settings page + + + ഗ്രേഡിയനുകള്‍ + Gradian mode on settings page + + + റേഡിയനുകള്‍ + Radians mode on settings page + + + യൂണിറ്റുകള്‍ + Heading for Unit's on the settings + + + കാഴ്ച പുനഃസജ്ജീകരിക്കുക + Hyperlink button to reset the view of the graph + + + X-പരമാവധി + X maximum value header + + + X-കുറഞ്ഞത് + X minimum value header + + + Y-പരമാവധി + Y Maximum value header + + + Y-കുറഞ്ഞത് + Y minimum value header + + + ഗ്രിഡ് ഐച്ഛികങ്ങള്‍ + This is the tooltip text for the grid options button in Graphing Calculator + + + ഗ്രിഡ് ഐച്ഛികങ്ങള്‍ + This is the automation name text for the grid options button in Graphing Calculator + + + ഗ്രാഫ് ഐച്ഛികങ്ങള്‍ + Heading for the Graph Options flyout in Graphing mode. + + + ഗണനപ്രയോഗം നല് കുക + this is the placeholder text used by the textbox to enter an equation + + + പകർത്തുക + Copy menu item for the graph context menu + + + മുറിക്കുക + Cut menu item from the Equation TextBox + + + പകർത്തുക + Copy menu item from the Equation TextBox + + + ഒട്ടിക്കുക + Paste menu item from the Equation TextBox + + + പൂർവ്വാവസ്ഥയിലാക്കുക + Undo menu item from the Equation TextBox + + + എല്ലാം തിരഞ്ഞെടുക്കുക + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/ms-MY/Resources.resw b/src/Calculator/Resources/ms-MY/Resources.resw index 92083c494..a1b08a182 100644 --- a/src/Calculator/Resources/ms-MY/Resources.resw +++ b/src/Calculator/Resources/ms-MY/Resources.resw @@ -697,9 +697,9 @@ Padam Text string for the Calculator Delete swipe button in the History list - - Salin - Text string for the Calculator Copy option in the History list context menu + + Salin + Text string for the Calculator Copy option in the History list context menu Padam @@ -867,7 +867,7 @@ Bersamaan - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Songsangkan Fungsi @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Kekal di atas + Kekal di atas (Alt+Anak panah Ke Atas) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Kembali ke pandangan penuh + Kembali kepada pandangan penuh (Alt+Anak panah Ke Bawah) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Pengiraan gagal - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Asas log X @@ -3075,6 +3059,10 @@ Fungsi Displayed on the button that contains a flyout for the general functions in scientific mode. + + Ketidaksamaan + Displayed on the button that contains a flyout for the inequality functions. + Bit Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ bit ketara paling banyak Used to describe the last bit of a binary number. Used in bit flip + + Membuat Graf + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Bersamaan + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Plot + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Tetap semula Paparan (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Tetap Semula Paparan + Screen reader prompt for the reset zoom button. + + + Zum Ke Dalam (Ctrl + tambah) + This is the tool tip automation name for the Calculator zoom in button. + + + Zum Ke Dalam + Screen reader prompt for the zoom in button. + + + Zum Ke Luar (Ctrl + tolak) + This is the tool tip automation name for the Calculator zoom out button. + + + Zum Ke Luar + Screen reader prompt for the zoom out button. + + + Tambah Persamaan + Placeholder text for the equation input button + + + Tidak dapat berkongsi pada masa ini. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Lihat apa yang saya grafkan dengan Kalkulator Windows + Sent as part of the shared content. The title for the share. + + + Persamaan + Header that appears over the equations section when sharing + + + Pemboleh ubah + Header that appears over the variables section when sharing + + + Imej graf dengan persamaan + Alt text for the graph image when output via Share + + + Pemboleh ubah + Header text for variables area + + + Langkah + Label text for the step text box + + + Min + Label text for the min text box + + + Maks + Label text for the max text box + + + Warna Garisan + Label for the Line Color section of the style picker + + + Analisis fungsi + Title for KeyGraphFeatures Control + + + Fungsi tidak mempunyai apa-apa asimptot mendatar. + Message displayed when the graph does not have any horizontal asymptotes + + + Fungsi ini tidak mempunyai apa-apa titik fleksi. + Message displayed when the graph does not have any inflection points + + + Fungsi tidak mempunyai apa-apa titik maksimum. + Message displayed when the graph does not have any maxima + + + Fungsi ini tidak mempunyai apa-apa titik minimum. + Message displayed when the graph does not have any minima + + + Malar + String describing constant monotonicity of a function + + + Menurun + String describing decreasing monotonicity of a function + + + Tidak dapat menentukan keekanadaan fungsi. + Error displayed when monotonicity cannot be determined + + + Meningkat + String describing increasing monotonicity of a function + + + Keekanadaan fungsi tidak diketahui. + Error displayed when monotonicity is unknown + + + Fungsi tidak mempunyai apa-apa asimptot serong. + Message displayed when the graph does not have any oblique asymptotes + + + Tidak dapat menentukan pariti fungsi. + Error displayed when parity is cannot be determined + + + Fungsi adalah genap. + Message displayed with the function parity is even + + + Fungsi bukan genap atau ganjil. + Message displayed with the function parity is neither even nor odd + + + Fungsi adalah ganjil. + Message displayed with the function parity is odd + + + Pariti fungsi tidak diketahui. + Error displayed when parity is unknown + + + Keberkalaan tidak disokong untuk fungsi ini. + Error displayed when periodicity is not supported + + + Fungsi tidak berkala. + Message displayed with the function periodicity is not periodic + + + Keberkalaan fungsi tidak diketahui. + Message displayed with the function periodicity is unknown + + + Ciri-ciri ini terlalu kompleks untuk Kalkulator untuk mengira: + Error displayed when analysis features cannot be calculated + + + Fungsi tidak mempunyai apa-apa asimptot menegak. + Message displayed when the graph does not have any vertical asymptotes + + + Fungsi tidak mempunyai apa-apa pintasan x. + Message displayed when the graph does not have any x-intercepts + + + Fungsi tidak mempunyai apa-apa pintasan y. + Message displayed when the graph does not have any y-intercepts + + + Domain + Title for KeyGraphFeatures Domain Property + + + Asimptot Mendatar + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Titik Infleksi + Title for KeyGraphFeatures Inflection Points Property + + + Analisis tidak disokong untuk fungsi ini. + Error displayed when graph analysis is not supported or had an error. + + + Maksimum + Title for KeyGraphFeatures Maxima Property + + + Minimum + Title for KeyGraphFeatures Minima Property + + + Keekanadaan + Title for KeyGraphFeatures Monotonicity Property + + + Asimptot Serong + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Pariti + Title for KeyGraphFeatures Parity Property + + + Tempoh + Title for KeyGraphFeatures Periodicity Property + + + Julat + Title for KeyGraphFeatures Range Property + + + Asimptot Menegak + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Pintasan X + Title for KeyGraphFeatures XIntercept Property + + + Pintasan Y + Title for KeyGraphFeatures YIntercept Property + + + Analisis tidak dapat dilaksanakan untuk fungsi. + + + Tidak dapat mengira domain untuk fungsi ini. + Error displayed when Domain is not returned from the analyzer. + + + Tidak dapat mengira julat untuk fungsi ini. + Error displayed when Range is not returned from the analyzer. + + + Ke Belakang + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Ke Belakang + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Fungsi analisis + This is the tooltip for the analyze function button + + + Fungsi analisis + This is the automation name for the analyze function button + + + Fungsi analisis + This is the text for the for the analyze function context menu command + + + Alih keluar persamaan + This is the tooltip for the graphing calculator remove equation buttons + + + Alih keluar persamaan + This is the automation name for the graphing calculator remove equation buttons + + + Alih keluar persamaan + This is the text for the for the remove equation context menu command + + + Kongsi + This is the automation name for the graphing calculator share button. + + + Kongsi + This is the tooltip for the graphing calculator share button. + + + Ubah gaya persamaan + This is the tooltip for the graphing calculator equation style button + + + Ubah gaya persamaan + This is the automation name for the graphing calculator equation style button + + + Ubah gaya persamaan + This is the text for the for the equation style context menu command + + + Tunjukkan persamaan %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Sembunyikan persamaan %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Henti penjejakan + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Mula penjejakan + This is the tooltip/automation name for the graphing calculator start tracing button + + + Tetingkap paparan graf, paksi x dihadkan oleh %1 dan %2, paksi y dihadkan dengan %3 dan %4, memaparkan persamaan %5 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfigurasikan penggelongsor + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfigurasikan penggelongsor + This is the automation name text for the slider options button in Graphing Calculator + + + Tukar kepada mod persamaan + Used in Graphing Calculator to switch the view to the equation mode + + + Tukar kepada mod graf + Used in Graphing Calculator to switch the view to the graph mode + + + Tukar kepada mod persamaan + Used in Graphing Calculator to switch the view to the equation mode + + + Mod semasa ialah mod persamaan + Announcement used in Graphing Calculator when switching to the equation mode + + + Mod semasa ialah mod graf + Announcement used in Graphing Calculator when switching to the graph mode + + + Tetingkap + Heading for window extents on the settings + + + Darjah + Degrees mode on settings page + + + Gradien + Gradian mode on settings page + + + Radian + Radians mode on settings page + + + Unit + Heading for Unit's on the settings + + + Set semula pandangan + Hyperlink button to reset the view of the graph + + + X-Maks + X maximum value header + + + X-Min + X minimum value header + + + Y-Maks + Y Maximum value header + + + Y-Min + Y minimum value header + + + Pilihan grid + This is the tooltip text for the grid options button in Graphing Calculator + + + Pilihan grid + This is the automation name text for the grid options button in Graphing Calculator + + + Pilihan Graf + Heading for the Graph Options flyout in Graphing mode. + + + Masukkan ungkapan + this is the placeholder text used by the textbox to enter an equation + + + Salin + Copy menu item for the graph context menu + + + Potong + Cut menu item from the Equation TextBox + + + Salin + Copy menu item from the Equation TextBox + + + Tampal + Paste menu item from the Equation TextBox + + + Buat asal + Undo menu item from the Equation TextBox + + + Pilih Semua + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/nb-NO/Resources.resw b/src/Calculator/Resources/nb-NO/Resources.resw index 260d59cfe..c5c66fa22 100644 --- a/src/Calculator/Resources/nb-NO/Resources.resw +++ b/src/Calculator/Resources/nb-NO/Resources.resw @@ -697,9 +697,9 @@ Slett Text string for the Calculator Delete swipe button in the History list - - Kopier - Text string for the Calculator Copy option in the History list context menu + + Kopier + Text string for the Calculator Copy option in the History list context menu Slett @@ -867,7 +867,7 @@ Er lik - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Omvendt funksjon @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Behold øverst + Behold øverst (Alt + opp) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Tilbake til fullskjermvisning + Tilbake til fullskjermvisning (Alt + ned) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Beregning mislyktes - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logbase X @@ -3075,6 +3059,10 @@ Funksjon Displayed on the button that contains a flyout for the general functions in scientific mode. + + Ulikheter + Displayed on the button that contains a flyout for the inequality functions. + Bitvis Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ mest betydelige bit Used to describe the last bit of a binary number. Used in bit flip + + Graf + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Er lik + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Tegn + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Tilbakestill visning (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Tilbakestill visning + Screen reader prompt for the reset zoom button. + + + Zoom inn (Ctrl + pluss) + This is the tool tip automation name for the Calculator zoom in button. + + + Zoom inn + Screen reader prompt for the zoom in button. + + + Zoom ut (Ctrl + minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Zoom ut + Screen reader prompt for the zoom out button. + + + Legg til formel + Placeholder text for the equation input button + + + Kan ikke dele på dette tidspunktet. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Se hva jeg har laget grafisk fremstilling av med Windows Kalkulator + Sent as part of the shared content. The title for the share. + + + Formler + Header that appears over the equations section when sharing + + + Variabler + Header that appears over the variables section when sharing + + + Bilde av et diagram med formler + Alt text for the graph image when output via Share + + + Variabler + Header text for variables area + + + Trinn + Label text for the step text box + + + Min. + Label text for the min text box + + + Maks. + Label text for the max text box + + + Linjefarge + Label for the Line Color section of the style picker + + + Funksjonsanalyse + Title for KeyGraphFeatures Control + + + Funksjonen har ingen vannrette asymptoter. + Message displayed when the graph does not have any horizontal asymptotes + + + Funksjonen har ingen bøyningspunkter. + Message displayed when the graph does not have any inflection points + + + Funksjonen har ingen maksimumspunkter. + Message displayed when the graph does not have any maxima + + + Funksjonen har ingen minimumspunkter. + Message displayed when the graph does not have any minima + + + Kontinuerlig + String describing constant monotonicity of a function + + + Synkende + String describing decreasing monotonicity of a function + + + Kan ikke fastsette monotonisitet for funksjonen. + Error displayed when monotonicity cannot be determined + + + Økende + String describing increasing monotonicity of a function + + + Monotonisitet for funksjonen er ukjent. + Error displayed when monotonicity is unknown + + + Funksjonen har ingen skrå asymptoter. + Message displayed when the graph does not have any oblique asymptotes + + + Kan ikke fastsette pariteten for funksjonen. + Error displayed when parity is cannot be determined + + + Funksjonen er et partall. + Message displayed with the function parity is even + + + Funksjonen er verken partall eller oddetall. + Message displayed with the function parity is neither even nor odd + + + Funksjonen er et oddetall. + Message displayed with the function parity is odd + + + Funksjonspariteten er ukjent. + Error displayed when parity is unknown + + + Periodisitet støttes ikke for denne funksjonen. + Error displayed when periodicity is not supported + + + Funksjonen er ikke periodisk. + Message displayed with the function periodicity is not periodic + + + Funksjonsperiodisiteten er ukjent. + Message displayed with the function periodicity is unknown + + + Disse funksjonene er for kompliserte for Kalkulator å beregne: + Error displayed when analysis features cannot be calculated + + + Funksjonen har ingen loddrette asymptoter. + Message displayed when the graph does not have any vertical asymptotes + + + Funksjonen har ingen x-skjæringspunkter. + Message displayed when the graph does not have any x-intercepts + + + Funksjonen har ingen y-skjæringspunkter. + Message displayed when the graph does not have any y-intercepts + + + Domene + Title for KeyGraphFeatures Domain Property + + + Vannrett asymptoter + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Bøyningspunkter + Title for KeyGraphFeatures Inflection Points Property + + + Analyse støttes ikke for denne funksjonen. + Error displayed when graph analysis is not supported or had an error. + + + Maksimum + Title for KeyGraphFeatures Maxima Property + + + Minimum + Title for KeyGraphFeatures Minima Property + + + Monotonisitet + Title for KeyGraphFeatures Monotonicity Property + + + Skrå asymptoter + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paritet + Title for KeyGraphFeatures Parity Property + + + Periode + Title for KeyGraphFeatures Periodicity Property + + + Område + Title for KeyGraphFeatures Range Property + + + Loddrett asymptoter + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-skjæringspunkt + Title for KeyGraphFeatures XIntercept Property + + + Y-skjæringspunkt + Title for KeyGraphFeatures YIntercept Property + + + Analyse kan ikke utføres for funksjonen. + + + Kan ikke beregne domenet for denne funksjonen. + Error displayed when Domain is not returned from the analyzer. + + + Kan ikke beregne området for denne funksjonen. + Error displayed when Range is not returned from the analyzer. + + + Tilbake + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Tilbake + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analysefunksjon + This is the tooltip for the analyze function button + + + Analysefunksjon + This is the automation name for the analyze function button + + + Analysefunksjon + This is the text for the for the analyze function context menu command + + + Fjern formel + This is the tooltip for the graphing calculator remove equation buttons + + + Fjern formel + This is the automation name for the graphing calculator remove equation buttons + + + Fjern formel + This is the text for the for the remove equation context menu command + + + Del + This is the automation name for the graphing calculator share button. + + + Del + This is the tooltip for the graphing calculator share button. + + + Endre formelstil + This is the tooltip for the graphing calculator equation style button + + + Endre formelstil + This is the automation name for the graphing calculator equation style button + + + Endre formelstil + This is the text for the for the equation style context menu command + + + Vis formel %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Skjul formel %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Stopp sporing + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Start sporing + This is the tooltip/automation name for the graphing calculator start tracing button + + + Graf visnings vindu, x-akse som er bundet av %1 og %2, y-akse bundet av %3 og %4, visning av %5 formler + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfigurer glidebryter + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfigurer glidebryter + This is the automation name text for the slider options button in Graphing Calculator + + + Bytt til formelmodus + Used in Graphing Calculator to switch the view to the equation mode + + + Bytt til grafmodus + Used in Graphing Calculator to switch the view to the graph mode + + + Bytt til formelmodus + Used in Graphing Calculator to switch the view to the equation mode + + + Gjeldende modus er formelmodus + Announcement used in Graphing Calculator when switching to the equation mode + + + Gjeldende modus er grafmodus + Announcement used in Graphing Calculator when switching to the graph mode + + + Vindu + Heading for window extents on the settings + + + Grader + Degrees mode on settings page + + + Gradianer + Gradian mode on settings page + + + Radianer + Radians mode on settings page + + + Enheter + Heading for Unit's on the settings + + + Tilbakestill visning + Hyperlink button to reset the view of the graph + + + X-maks. + X maximum value header + + + X-min. + X minimum value header + + + Y-maks. + Y Maximum value header + + + Y-min. + Y minimum value header + + + Alternativer for rutenett + This is the tooltip text for the grid options button in Graphing Calculator + + + Alternativer for rutenett + This is the automation name text for the grid options button in Graphing Calculator + + + Grafalternativer + Heading for the Graph Options flyout in Graphing mode. + + + Angi et uttrykk + this is the placeholder text used by the textbox to enter an equation + + + Kopier + Copy menu item for the graph context menu + + + Klipp ut + Cut menu item from the Equation TextBox + + + Kopier + Copy menu item from the Equation TextBox + + + Lim inn + Paste menu item from the Equation TextBox + + + Angre + Undo menu item from the Equation TextBox + + + Merk alt + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/nl-NL/Resources.resw b/src/Calculator/Resources/nl-NL/Resources.resw index 7c39ab113..9257b296f 100644 --- a/src/Calculator/Resources/nl-NL/Resources.resw +++ b/src/Calculator/Resources/nl-NL/Resources.resw @@ -697,9 +697,9 @@ Verwijderen Text string for the Calculator Delete swipe button in the History list - - Kopiëren - Text string for the Calculator Copy option in the History list context menu + + Kopiëren + Text string for the Calculator Copy option in the History list context menu Verwijderen @@ -867,7 +867,7 @@ Is gelijk aan - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Inverse-functie @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Op voorgrond behouden + Op voorgrond houden (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Terug naar volledige weergave + Terug naar volledige weergave (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2693,10 +2693,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2709,18 +2705,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - HO AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3063,7 +3047,7 @@ Berekening mislukt - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Basislogboek X @@ -3077,6 +3061,10 @@ Functie Displayed on the button that contains a flyout for the general functions in scientific mode. + + Ongelijkheden + Displayed on the button that contains a flyout for the inequality functions. + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3253,4 +3241,427 @@ meest significante bit Used to describe the last bit of a binary number. Used in bit flip + + Grafieken + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Is gelijk aan + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Plotten + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Weergave opnieuw instellen (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Weergave opnieuw instellen + Screen reader prompt for the reset zoom button. + + + Inzoomen (Ctrl + plusteken) + This is the tool tip automation name for the Calculator zoom in button. + + + Inzoomen + Screen reader prompt for the zoom in button. + + + Uitzoomen (Ctrl + minteken) + This is the tool tip automation name for the Calculator zoom out button. + + + Uitzoomen + Screen reader prompt for the zoom out button. + + + Vergelijking toevoegen + Placeholder text for the equation input button + + + Kan op dit moment niet delen. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Kijk wat voor grafiek ik met Windows Rekenmachine heb gemaakt + Sent as part of the shared content. The title for the share. + + + Vergelijkingen + Header that appears over the equations section when sharing + + + Variabelen + Header that appears over the variables section when sharing + + + Afbeelding van een grafiek met vergelijkingen + Alt text for the graph image when output via Share + + + Variabelen + Header text for variables area + + + Stap + Label text for the step text box + + + Min + Label text for the min text box + + + Max + Label text for the max text box + + + Lijnkleur + Label for the Line Color section of the style picker + + + Functieanalyse + Title for KeyGraphFeatures Control + + + De functie heeft geen horizontale asymptoten. + Message displayed when the graph does not have any horizontal asymptotes + + + Er zijn geen buigpunten voor de functie. + Message displayed when the graph does not have any inflection points + + + De functie heeft geen maximale punten. + Message displayed when the graph does not have any maxima + + + De functie heeft geen minimale punten. + Message displayed when the graph does not have any minima + + + Constante + String describing constant monotonicity of a function + + + Aflopend + String describing decreasing monotonicity of a function + + + Kan de monotoniteit van de functie niet bepalen. + Error displayed when monotonicity cannot be determined + + + Oplopend + String describing increasing monotonicity of a function + + + De monotoniteit van de functie is onbekend. + Error displayed when monotonicity is unknown + + + De functie heeft geen schuine asymptoten. + Message displayed when the graph does not have any oblique asymptotes + + + Kan de pariteit van de functie niet bepalen. + Error displayed when parity is cannot be determined + + + De functie is even. + Message displayed with the function parity is even + + + De functie is nog even noch oneven. + Message displayed with the function parity is neither even nor odd + + + De functie is oneven. + Message displayed with the function parity is odd + + + De pariteit van de functie is onbekend. + Error displayed when parity is unknown + + + Periodiciteit wordt niet ondersteund voor deze functie. + Error displayed when periodicity is not supported + + + De functie is niet periodiek. + Message displayed with the function periodicity is not periodic + + + De periodiciteit van de functie is onbekend. + Message displayed with the function periodicity is unknown + + + Deze functies zijn te complex voor de rekenmachine: + Error displayed when analysis features cannot be calculated + + + De functie heeft geen verticale asymptoten. + Message displayed when the graph does not have any vertical asymptotes + + + De functie heeft geen x-snijpunten. + Message displayed when the graph does not have any x-intercepts + + + De functie heeft geen y-snijpunten. + Message displayed when the graph does not have any y-intercepts + + + Domein + Title for KeyGraphFeatures Domain Property + + + Horizontale asymptoten + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Buigpunten + Title for KeyGraphFeatures Inflection Points Property + + + De analyse wordt niet ondersteund voor deze functie. + Error displayed when graph analysis is not supported or had an error. + + + Maxima + Title for KeyGraphFeatures Maxima Property + + + Minima + Title for KeyGraphFeatures Minima Property + + + Monotoniteit + Title for KeyGraphFeatures Monotonicity Property + + + Schuine asymptoten + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Pariteit + Title for KeyGraphFeatures Parity Property + + + Periodiek + Title for KeyGraphFeatures Periodicity Property + + + Bereik + Title for KeyGraphFeatures Range Property + + + Verticale asymptoten + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-snijpunt + Title for KeyGraphFeatures XIntercept Property + + + Y-snijpunt + Title for KeyGraphFeatures YIntercept Property + + + De analyse kan niet worden uitgevoerd voor de functie. + + + Kan het domein voor deze functie niet berekenen. + Error displayed when Domain is not returned from the analyzer. + + + Kan het bereik voor deze functie niet berekenen. + Error displayed when Range is not returned from the analyzer. + + + Terug + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Terug + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Functie analyseren + This is the tooltip for the analyze function button + + + Functie analyseren + This is the automation name for the analyze function button + + + Functie analyseren + This is the text for the for the analyze function context menu command + + + Vergelijking verwijderen + This is the tooltip for the graphing calculator remove equation buttons + + + Vergelijking verwijderen + This is the automation name for the graphing calculator remove equation buttons + + + Vergelijking verwijderen + This is the text for the for the remove equation context menu command + + + Delen + This is the automation name for the graphing calculator share button. + + + Delen + This is the tooltip for the graphing calculator share button. + + + Vergelijkingsstijl wijzigen + This is the tooltip for the graphing calculator equation style button + + + Vergelijkingsstijl wijzigen + This is the automation name for the graphing calculator equation style button + + + Vergelijkingsstijl wijzigen + This is the text for the for the equation style context menu command + + + Vergelijking %1 weergeven + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Vergelijking %1 verbergen + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Tracering stoppen + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Tracering starten + This is the tooltip/automation name for the graphing calculator start tracing button + + + Het diagramweergave venster, de x-as die wordt begrensd door %1 en %2, y-as die wordt begrensd door %3 en %4, waarbij %5 vergelijkingen worden weergegeven + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Schuifregelaar configureren + This is the tooltip text for the slider options button in Graphing Calculator + + + Schuifregelaar configureren + This is the automation name text for the slider options button in Graphing Calculator + + + Vergelijkingsmodus activeren + Used in Graphing Calculator to switch the view to the equation mode + + + Grafiekmodus activeren + Used in Graphing Calculator to switch the view to the graph mode + + + Vergelijkingsmodus activeren + Used in Graphing Calculator to switch the view to the equation mode + + + De huidige modus is de vergelijkingsmodus + Announcement used in Graphing Calculator when switching to the equation mode + + + De huidige modus is grafiekmodus + Announcement used in Graphing Calculator when switching to the graph mode + + + Venster + Heading for window extents on the settings + + + Graden + Degrees mode on settings page + + + Gradiënten + Gradian mode on settings page + + + Radialen + Radians mode on settings page + + + Eenheden + Heading for Unit's on the settings + + + Weergave opnieuw instellen + Hyperlink button to reset the view of the graph + + + X-Max + X maximum value header + + + X-Min + X minimum value header + + + Y-Max + Y Maximum value header + + + Y-Min + Y minimum value header + + + Rasteropties + This is the tooltip text for the grid options button in Graphing Calculator + + + Rasteropties + This is the automation name text for the grid options button in Graphing Calculator + + + Grafiekopties + Heading for the Graph Options flyout in Graphing mode. + + + Voer een expressie in + this is the placeholder text used by the textbox to enter an equation + + + Kopiëren + Copy menu item for the graph context menu + + + Knippen + Cut menu item from the Equation TextBox + + + Kopiëren + Copy menu item from the Equation TextBox + + + Plakken + Paste menu item from the Equation TextBox + + + Ongedaan maken + Undo menu item from the Equation TextBox + + + Alles selecteren + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/pl-PL/Resources.resw b/src/Calculator/Resources/pl-PL/Resources.resw index f469bac7a..af4e5970a 100644 --- a/src/Calculator/Resources/pl-PL/Resources.resw +++ b/src/Calculator/Resources/pl-PL/Resources.resw @@ -697,9 +697,9 @@ Usuń Text string for the Calculator Delete swipe button in the History list - - Kopiuj - Text string for the Calculator Copy option in the History list context menu + + Kopiuj + Text string for the Calculator Copy option in the History list context menu Usuń @@ -867,7 +867,7 @@ Równa się - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Funkcja odwrotna @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Zostaw na wierzchu + Zostaw na wierzchu (Alt + strzałka w górę) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Powrót do pełnego widoku + Powrót do pełnego widoku (Alt + strzałka w dół) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Obliczanie nie powiodło się - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logarytm o podstawie X @@ -3075,6 +3059,10 @@ Funkcja Displayed on the button that contains a flyout for the general functions in scientific mode. + + Nierówności + Displayed on the button that contains a flyout for the inequality functions. + Operator bitowy Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ najbardziej znaczący bit Used to describe the last bit of a binary number. Used in bit flip + + Tworzenie wykresów + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Równa się + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Kreśl + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Resetuj widok (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Resetuj widok + Screen reader prompt for the reset zoom button. + + + Powiększ (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Powiększ + Screen reader prompt for the zoom in button. + + + Pomniejsz (Ctrl + minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Pomniejsz + Screen reader prompt for the zoom out button. + + + Dodaj równanie + Placeholder text for the equation input button + + + Nie można udostępnić w tej chwili. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Zobacz, co udało mi się wykreślić za pomocą Kalkulatora Windows + Sent as part of the shared content. The title for the share. + + + Równania + Header that appears over the equations section when sharing + + + Zmienne + Header that appears over the variables section when sharing + + + Obraz przedstawiający wykres z równaniami + Alt text for the graph image when output via Share + + + Zmienne + Header text for variables area + + + Krok + Label text for the step text box + + + Min + Label text for the min text box + + + Maks. + Label text for the max text box + + + Kolor linii + Label for the Line Color section of the style picker + + + Analiza funkcji + Title for KeyGraphFeatures Control + + + Ta funkcja nie ma asymptot poziomych. + Message displayed when the graph does not have any horizontal asymptotes + + + Ta funkcja nie ma punktów przegięcia. + Message displayed when the graph does not have any inflection points + + + Ta funkcja nie ma maksimów. + Message displayed when the graph does not have any maxima + + + Ta funkcja nie ma minimów. + Message displayed when the graph does not have any minima + + + Stała + String describing constant monotonicity of a function + + + Malejąca + String describing decreasing monotonicity of a function + + + Nie można ustalić monotoniczności funkcji. + Error displayed when monotonicity cannot be determined + + + Rosnąca + String describing increasing monotonicity of a function + + + Monotoniczność funkcji jest nieznana. + Error displayed when monotonicity is unknown + + + Ta funkcja nie ma asymptot ukośnych. + Message displayed when the graph does not have any oblique asymptotes + + + Nie można ustalić parzystości funkcji. + Error displayed when parity is cannot be determined + + + Funkcja jest parzysta. + Message displayed with the function parity is even + + + Funkcja nie jest parzysta ani nieparzysta. + Message displayed with the function parity is neither even nor odd + + + Funkcja jest nieparzysta. + Message displayed with the function parity is odd + + + Parzystość funkcji jest nieznana. + Error displayed when parity is unknown + + + Okresowość nie jest obsługiwana w przypadku tej funkcji. + Error displayed when periodicity is not supported + + + Funkcja nie jest okresowa. + Message displayed with the function periodicity is not periodic + + + Okresowość funkcji jest nieznana. + Message displayed with the function periodicity is unknown + + + Te funkcje są zbyt złożone, aby aplikacja Kalkulator mogła je obliczyć: + Error displayed when analysis features cannot be calculated + + + Ta funkcja nie ma asymptot pionowych. + Message displayed when the graph does not have any vertical asymptotes + + + Ta funkcja nie ma miejsc zerowych. + Message displayed when the graph does not have any x-intercepts + + + Ta funkcja nie ma punktów przecięcia z osią Y. + Message displayed when the graph does not have any y-intercepts + + + Dziedzina + Title for KeyGraphFeatures Domain Property + + + Asymptoty poziome + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Punkty przegięcia + Title for KeyGraphFeatures Inflection Points Property + + + Analiza nie jest obsługiwana w przypadku tej funkcji. + Error displayed when graph analysis is not supported or had an error. + + + Maksimum + Title for KeyGraphFeatures Maxima Property + + + Minimum + Title for KeyGraphFeatures Minima Property + + + Monotoniczność + Title for KeyGraphFeatures Monotonicity Property + + + Asymptoty skośne + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Parzystość + Title for KeyGraphFeatures Parity Property + + + Okres + Title for KeyGraphFeatures Periodicity Property + + + Zbiór wartości + Title for KeyGraphFeatures Range Property + + + Asymptoty pionowe + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Miejsce zerowe + Title for KeyGraphFeatures XIntercept Property + + + Punkt przecięcia z osią Y + Title for KeyGraphFeatures YIntercept Property + + + Nie można wykonać analizy dla tej funkcji. + + + Nie można obliczyć dziedziny dla tej funkcji. + Error displayed when Domain is not returned from the analyzer. + + + Nie można obliczyć zbioru wartości dla tej funkcji. + Error displayed when Range is not returned from the analyzer. + + + Wstecz + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Wstecz + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analizuj funkcję + This is the tooltip for the analyze function button + + + Analizuj funkcję + This is the automation name for the analyze function button + + + Analizuj funkcję + This is the text for the for the analyze function context menu command + + + Usuń równanie + This is the tooltip for the graphing calculator remove equation buttons + + + Usuń równanie + This is the automation name for the graphing calculator remove equation buttons + + + Usuń równanie + This is the text for the for the remove equation context menu command + + + Udostępnij + This is the automation name for the graphing calculator share button. + + + Udostępnij + This is the tooltip for the graphing calculator share button. + + + Zmień styl równania + This is the tooltip for the graphing calculator equation style button + + + Zmień styl równania + This is the automation name for the graphing calculator equation style button + + + Zmień styl równania + This is the text for the for the equation style context menu command + + + Pokaż równanie %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Ukryj równanie %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Zatrzymaj śledzenie + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Rozpocznij śledzenie + This is the tooltip/automation name for the graphing calculator start tracing button + + + Okno wyświetlania wykresu, oś x powiązana %1 i %2, oś y powiązana z %3 i %4ą, wyświetlanie %5 równań + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfiguruj suwak + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfiguruj suwak + This is the automation name text for the slider options button in Graphing Calculator + + + Przełącz do trybu równania + Used in Graphing Calculator to switch the view to the equation mode + + + Przełącz do trybu wykresu + Used in Graphing Calculator to switch the view to the graph mode + + + Przełącz do trybu równania + Used in Graphing Calculator to switch the view to the equation mode + + + Bieżący tryb to tryb równania + Announcement used in Graphing Calculator when switching to the equation mode + + + Bieżący tryb to tryb wykresu + Announcement used in Graphing Calculator when switching to the graph mode + + + Okno + Heading for window extents on the settings + + + Stopnie + Degrees mode on settings page + + + Grady + Gradian mode on settings page + + + Radiany + Radians mode on settings page + + + Jednostki + Heading for Unit's on the settings + + + Resetuj widok + Hyperlink button to reset the view of the graph + + + X-Maks. + X maximum value header + + + X-Min + X minimum value header + + + Y-Maks. + Y Maximum value header + + + Y-Min + Y minimum value header + + + Opcje siatki + This is the tooltip text for the grid options button in Graphing Calculator + + + Opcje siatki + This is the automation name text for the grid options button in Graphing Calculator + + + Opcje wykresu + Heading for the Graph Options flyout in Graphing mode. + + + Wprowadź wyrażenie + this is the placeholder text used by the textbox to enter an equation + + + Kopiuj + Copy menu item for the graph context menu + + + Wytnij + Cut menu item from the Equation TextBox + + + Kopiuj + Copy menu item from the Equation TextBox + + + Wklej + Paste menu item from the Equation TextBox + + + Cofnij + Undo menu item from the Equation TextBox + + + Zaznacz wszystko + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/pt-BR/Resources.resw b/src/Calculator/Resources/pt-BR/Resources.resw index 18da61c7f..67b380bc9 100644 --- a/src/Calculator/Resources/pt-BR/Resources.resw +++ b/src/Calculator/Resources/pt-BR/Resources.resw @@ -697,9 +697,9 @@ Excluir Text string for the Calculator Delete swipe button in the History list - - Copiar - Text string for the Calculator Copy option in the History list context menu + + Copiar + Text string for the Calculator Copy option in the History list context menu Excluir @@ -867,7 +867,7 @@ Igual a - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Função Inversa @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Manter na parte superior + Manter na parte superior (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Voltar para visualização completa + Voltar para visualização completa (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Falha no cálculo - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Log base X @@ -3075,6 +3059,10 @@ Função Displayed on the button that contains a flyout for the general functions in scientific mode. + + Desigualdades + Displayed on the button that contains a flyout for the inequality functions. + Bit a bit Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ bit mais significativo Used to describe the last bit of a binary number. Used in bit flip + + Gráficos + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Igual a + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Traçar + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Redefinir Modo de Exibição (Ctrl+0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Redefinir Exibição + Screen reader prompt for the reset zoom button. + + + Ampliar (Ctrl+sinal de adição) + This is the tool tip automation name for the Calculator zoom in button. + + + Ampliar + Screen reader prompt for the zoom in button. + + + Reduzir (Ctrl+sinal de subtração) + This is the tool tip automation name for the Calculator zoom out button. + + + Reduzir + Screen reader prompt for the zoom out button. + + + Adicionar Equação + Placeholder text for the equation input button + + + Não é possível compartilhar no momento. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Veja o gráfico que criei com a Calculadora Windows + Sent as part of the shared content. The title for the share. + + + Equações + Header that appears over the equations section when sharing + + + Variáveis + Header that appears over the variables section when sharing + + + Imagem de um gráfico com equações + Alt text for the graph image when output via Share + + + Variáveis + Header text for variables area + + + Etapa + Label text for the step text box + + + Mín. + Label text for the min text box + + + Máx. + Label text for the max text box + + + Cor da Linha + Label for the Line Color section of the style picker + + + Análise de função + Title for KeyGraphFeatures Control + + + A função não tem assíntotas horizontais. + Message displayed when the graph does not have any horizontal asymptotes + + + A função não tem pontos de inflexão. + Message displayed when the graph does not have any inflection points + + + A função não tem pontos de máximo. + Message displayed when the graph does not have any maxima + + + A função não tem pontos de mínimo. + Message displayed when the graph does not have any minima + + + Constante + String describing constant monotonicity of a function + + + Diminuição + String describing decreasing monotonicity of a function + + + Não é possível determinar a monotonicidade da função. + Error displayed when monotonicity cannot be determined + + + Aumento + String describing increasing monotonicity of a function + + + A monotonicidade da função é desconhecida. + Error displayed when monotonicity is unknown + + + A função não tem assíntotas oblíquas. + Message displayed when the graph does not have any oblique asymptotes + + + Não é possível determinar a paridade da função. + Error displayed when parity is cannot be determined + + + A função é par. + Message displayed with the function parity is even + + + A função não é nem par nem ímpar. + Message displayed with the function parity is neither even nor odd + + + A função é ímpar. + Message displayed with the function parity is odd + + + A paridade da função é desconhecida. + Error displayed when parity is unknown + + + A periodicidade não tem suporte para esta função. + Error displayed when periodicity is not supported + + + A função não é periódica. + Message displayed with the function periodicity is not periodic + + + A periodicidade da função é desconhecida. + Message displayed with the function periodicity is unknown + + + Estes recursos são muito complexos para a Calculadora calcular: + Error displayed when analysis features cannot be calculated + + + A função não tem assíntotas verticais. + Message displayed when the graph does not have any vertical asymptotes + + + A função não tem interceptações em x. + Message displayed when the graph does not have any x-intercepts + + + A função não tem interceptações em y. + Message displayed when the graph does not have any y-intercepts + + + Domínio + Title for KeyGraphFeatures Domain Property + + + Assíntotas Horizontais + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Pontos de Inflexão + Title for KeyGraphFeatures Inflection Points Property + + + Não há suporte para análise nesta função. + Error displayed when graph analysis is not supported or had an error. + + + Máximos + Title for KeyGraphFeatures Maxima Property + + + Mínimos + Title for KeyGraphFeatures Minima Property + + + Monotonicidade + Title for KeyGraphFeatures Monotonicity Property + + + Assíntotas Oblíquas + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paridade + Title for KeyGraphFeatures Parity Property + + + Período + Title for KeyGraphFeatures Periodicity Property + + + Intervalo + Title for KeyGraphFeatures Range Property + + + Assíntotas Verticais + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Interceptação em X + Title for KeyGraphFeatures XIntercept Property + + + Interceptação em Y + Title for KeyGraphFeatures YIntercept Property + + + Não foi possível executar a análise para a função. + + + Não é possível calcular o domínio para esta função. + Error displayed when Domain is not returned from the analyzer. + + + Não é possível calcular o intervalo para esta função. + Error displayed when Range is not returned from the analyzer. + + + Voltar + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Voltar + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analisar função + This is the tooltip for the analyze function button + + + Analisar função + This is the automation name for the analyze function button + + + Analisar função + This is the text for the for the analyze function context menu command + + + Remover equação + This is the tooltip for the graphing calculator remove equation buttons + + + Remover equação + This is the automation name for the graphing calculator remove equation buttons + + + Remover equação + This is the text for the for the remove equation context menu command + + + Compartilhar + This is the automation name for the graphing calculator share button. + + + Compartilhar + This is the tooltip for the graphing calculator share button. + + + Alterar estilo de equação + This is the tooltip for the graphing calculator equation style button + + + Alterar estilo de equação + This is the automation name for the graphing calculator equation style button + + + Alterar estilo de equação + This is the text for the for the equation style context menu command + + + Mostrar equação %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Ocultar equação %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Parar rastreamento + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Iniciar rastreamento + This is the tooltip/automation name for the graphing calculator start tracing button + + + Janela de visualização de gráfico, eixo x limitado por %1 e %2, eixo y vinculado por %3 e %4, exibindo %5 equações + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Configurar controle deslizante + This is the tooltip text for the slider options button in Graphing Calculator + + + Configurar controle deslizante + This is the automation name text for the slider options button in Graphing Calculator + + + Alternar para o modo de equação + Used in Graphing Calculator to switch the view to the equation mode + + + Alternar para o modo de gráfico + Used in Graphing Calculator to switch the view to the graph mode + + + Alternar para o modo de equação + Used in Graphing Calculator to switch the view to the equation mode + + + O modo atual é o modo de equação + Announcement used in Graphing Calculator when switching to the equation mode + + + O modo atual é o modo de gráfico + Announcement used in Graphing Calculator when switching to the graph mode + + + Janela + Heading for window extents on the settings + + + Graus + Degrees mode on settings page + + + Grados + Gradian mode on settings page + + + Radianos + Radians mode on settings page + + + Unidades + Heading for Unit's on the settings + + + Redefinir modo de exibição + Hyperlink button to reset the view of the graph + + + X-Máx. + X maximum value header + + + X-Mín. + X minimum value header + + + Y-Máx. + Y Maximum value header + + + Y-Mín. + Y minimum value header + + + Opções de grade + This is the tooltip text for the grid options button in Graphing Calculator + + + Opções de grade + This is the automation name text for the grid options button in Graphing Calculator + + + Opções de Grafo + Heading for the Graph Options flyout in Graphing mode. + + + Insira uma expressão + this is the placeholder text used by the textbox to enter an equation + + + Copiar + Copy menu item for the graph context menu + + + Recortar + Cut menu item from the Equation TextBox + + + Copiar + Copy menu item from the Equation TextBox + + + Colar + Paste menu item from the Equation TextBox + + + Desfazer + Undo menu item from the Equation TextBox + + + Selecionar Tudo + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/pt-PT/Resources.resw b/src/Calculator/Resources/pt-PT/Resources.resw index 8c8f32c9d..44b490fa9 100644 --- a/src/Calculator/Resources/pt-PT/Resources.resw +++ b/src/Calculator/Resources/pt-PT/Resources.resw @@ -697,9 +697,9 @@ Eliminar Text string for the Calculator Delete swipe button in the History list - - Copiar - Text string for the Calculator Copy option in the History list context menu + + Copiar + Text string for the Calculator Copy option in the History list context menu Eliminar @@ -867,7 +867,7 @@ Igual a - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Função de Inversão @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Manter sempre visível + Manter visível (Alt+Para Cima) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Voltar à vista completa + Voltar à vista completa (Alt+Para Baixo) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ T Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Falha no cálculo - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Base de logaritmo X @@ -3075,6 +3059,10 @@ Função Displayed on the button that contains a flyout for the general functions in scientific mode. + + Desigualdades + Displayed on the button that contains a flyout for the inequality functions. + Bit-a-bit Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ bit mais significativo Used to describe the last bit of a binary number. Used in bit flip + + Representação Gráfica + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Igual a + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Desenhar + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Repor Vista (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Repor Vista + Screen reader prompt for the reset zoom button. + + + Zoom In (Ctrl + adição) + This is the tool tip automation name for the Calculator zoom in button. + + + Ampliar + Screen reader prompt for the zoom in button. + + + Zoom out (Ctrl + subtração) + This is the tool tip automation name for the Calculator zoom out button. + + + Reduzir + Screen reader prompt for the zoom out button. + + + Adicionar Equação + Placeholder text for the equation input button + + + De momento, não é possível partilhar. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Ver o gráfico criado com a Calculadora do Windows + Sent as part of the shared content. The title for the share. + + + Equações + Header that appears over the equations section when sharing + + + Variáveis + Header that appears over the variables section when sharing + + + Imagem de um gráfico com equações + Alt text for the graph image when output via Share + + + Variáveis + Header text for variables area + + + Passo + Label text for the step text box + + + Mín. + Label text for the min text box + + + Máx. + Label text for the max text box + + + Cor da Linha + Label for the Line Color section of the style picker + + + Análise de funções + Title for KeyGraphFeatures Control + + + A função não tem nenhuma assimptota horizontal. + Message displayed when the graph does not have any horizontal asymptotes + + + A função não tem nenhum ponto de inflexão. + Message displayed when the graph does not have any inflection points + + + A função não tem nenhum ponto de máximo. + Message displayed when the graph does not have any maxima + + + A função não tem nenhum ponto de mínimo. + Message displayed when the graph does not have any minima + + + Constante + String describing constant monotonicity of a function + + + Decrescente + String describing decreasing monotonicity of a function + + + Não é possível determinar a monotonicidade da função. + Error displayed when monotonicity cannot be determined + + + Crescente + String describing increasing monotonicity of a function + + + A monotonicidade da função é desconhecida. + Error displayed when monotonicity is unknown + + + A função não tem nenhuma assimptota oblíqua. + Message displayed when the graph does not have any oblique asymptotes + + + Não é possível determinar a paridade da função. + Error displayed when parity is cannot be determined + + + A função é par. + Message displayed with the function parity is even + + + A função não é par nem ímpar. + Message displayed with the function parity is neither even nor odd + + + A função é ímpar. + Message displayed with the function parity is odd + + + A paridade da função é desconhecida. + Error displayed when parity is unknown + + + A periodicidade não é suportada para esta função. + Error displayed when periodicity is not supported + + + A função não é periódica. + Message displayed with the function periodicity is not periodic + + + A periodicidade da função é desconhecida. + Message displayed with the function periodicity is unknown + + + Estas funcionalidades são demasiado complexas para a Calculadora calcular: + Error displayed when analysis features cannot be calculated + + + A função não tem nenhuma assimptota vertical. + Message displayed when the graph does not have any vertical asymptotes + + + A função não tem nenhuma interceção de x. + Message displayed when the graph does not have any x-intercepts + + + A função não tem nenhuma interceção de y. + Message displayed when the graph does not have any y-intercepts + + + Domínio + Title for KeyGraphFeatures Domain Property + + + Assimptotas Horizontais + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Pontos de Inflexão + Title for KeyGraphFeatures Inflection Points Property + + + A análise não é suportada para esta função. + Error displayed when graph analysis is not supported or had an error. + + + Máximo + Title for KeyGraphFeatures Maxima Property + + + Mínimo + Title for KeyGraphFeatures Minima Property + + + Monotonicidade + Title for KeyGraphFeatures Monotonicity Property + + + Assimptotas Oblíquas + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paridade + Title for KeyGraphFeatures Parity Property + + + Período + Title for KeyGraphFeatures Periodicity Property + + + Intervalo + Title for KeyGraphFeatures Range Property + + + Assimptotas Verticais + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Interceção de X + Title for KeyGraphFeatures XIntercept Property + + + Interceção de Y + Title for KeyGraphFeatures YIntercept Property + + + Não foi possível executar a análise para a função. + + + Não é possível calcular o domínio para esta função. + Error displayed when Domain is not returned from the analyzer. + + + Não é possível calcular o intervalo para esta função. + Error displayed when Range is not returned from the analyzer. + + + Anterior + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Anterior + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analisar função + This is the tooltip for the analyze function button + + + Analisar função + This is the automation name for the analyze function button + + + Analisar função + This is the text for the for the analyze function context menu command + + + Remover equação + This is the tooltip for the graphing calculator remove equation buttons + + + Remover equação + This is the automation name for the graphing calculator remove equation buttons + + + Remover equação + This is the text for the for the remove equation context menu command + + + Partilhar + This is the automation name for the graphing calculator share button. + + + Partilhar + This is the tooltip for the graphing calculator share button. + + + Alterar estilo de equação + This is the tooltip for the graphing calculator equation style button + + + Alterar estilo de equação + This is the automation name for the graphing calculator equation style button + + + Alterar estilo de equação + This is the text for the for the equation style context menu command + + + Mostrar equação %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Ocultar equação %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Parar rastreio + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Iniciar rastreio + This is the tooltip/automation name for the graphing calculator start tracing button + + + Janela de visualização de gráficos, eixo x delimitado por %1 e %2, eixo y delimitado por %3 e %4, exibindo equações %5 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Configurar controlo de deslize + This is the tooltip text for the slider options button in Graphing Calculator + + + Configurar controlo de deslize + This is the automation name text for the slider options button in Graphing Calculator + + + Mudar para modo de equação + Used in Graphing Calculator to switch the view to the equation mode + + + Mudar para modo de gráfico + Used in Graphing Calculator to switch the view to the graph mode + + + Mudar para modo de equação + Used in Graphing Calculator to switch the view to the equation mode + + + O modo atual é o modo de equação + Announcement used in Graphing Calculator when switching to the equation mode + + + O modo atual é o modo de gráfico + Announcement used in Graphing Calculator when switching to the graph mode + + + Janela + Heading for window extents on the settings + + + Graus + Degrees mode on settings page + + + Grados + Gradian mode on settings page + + + Radianos + Radians mode on settings page + + + Unidades + Heading for Unit's on the settings + + + Repor vista + Hyperlink button to reset the view of the graph + + + Máx. de X + X maximum value header + + + Mín. de X + X minimum value header + + + Máx. de Y + Y Maximum value header + + + Mín. de Y + Y minimum value header + + + Opções da grelha + This is the tooltip text for the grid options button in Graphing Calculator + + + Opções da grelha + This is the automation name text for the grid options button in Graphing Calculator + + + Opções de Gráfico + Heading for the Graph Options flyout in Graphing mode. + + + Introduzir uma expressão + this is the placeholder text used by the textbox to enter an equation + + + Copiar + Copy menu item for the graph context menu + + + Cortar + Cut menu item from the Equation TextBox + + + Copiar + Copy menu item from the Equation TextBox + + + Colar + Paste menu item from the Equation TextBox + + + Anular + Undo menu item from the Equation TextBox + + + Selecionar Tudo + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/ro-RO/Resources.resw b/src/Calculator/Resources/ro-RO/Resources.resw index 7054fc9c7..f2e1cd7ec 100644 --- a/src/Calculator/Resources/ro-RO/Resources.resw +++ b/src/Calculator/Resources/ro-RO/Resources.resw @@ -697,9 +697,9 @@ Ștergere Text string for the Calculator Delete swipe button in the History list - - Copiere - Text string for the Calculator Copy option in the History list context menu + + Copiere + Text string for the Calculator Copy option in the History list context menu Ștergere @@ -867,7 +867,7 @@ Este egal cu - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Funcție inversă @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Păstrați în partea de sus + Păstrați în partea de sus (Alt+Săgeată în sus) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Înapoi la vizualizarea completă + Înapoi la vizualizarea completă (Alt+Săgeată în jos) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Calcul nereușit - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logaritm baza X @@ -3075,6 +3059,10 @@ Funcție Displayed on the button that contains a flyout for the general functions in scientific mode. + + Inegalități + Displayed on the button that contains a flyout for the inequality functions. + Pe biți Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ bitul cel mai semnificativ Used to describe the last bit of a binary number. Used in bit flip + + Grafice + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Este egal cu + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Reprezentare grafică + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Resetați vizualizarea (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Resetați vizualizarea + Screen reader prompt for the reset zoom button. + + + Mărire (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Mărire + Screen reader prompt for the zoom in button. + + + Micșorare (Ctrl + minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Micșorare + Screen reader prompt for the zoom out button. + + + Adăugați o ecuație + Placeholder text for the equation input button + + + Nu se poate partaja în acest moment. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Iată ce am reprezentat grafic folosind Calculator Windows + Sent as part of the shared content. The title for the share. + + + Ecuații + Header that appears over the equations section when sharing + + + Variabile + Header that appears over the variables section when sharing + + + Imaginea unui grafic cu ecuații + Alt text for the graph image when output via Share + + + Variabile + Header text for variables area + + + Pas + Label text for the step text box + + + Min + Label text for the min text box + + + Max + Label text for the max text box + + + Culoare linie + Label for the Line Color section of the style picker + + + Analiza funcțiilor + Title for KeyGraphFeatures Control + + + Funcția nu are asimptote orizontale. + Message displayed when the graph does not have any horizontal asymptotes + + + Funcția nu are puncte de inflexiune. + Message displayed when the graph does not have any inflection points + + + Funcția nu are puncte de maxim. + Message displayed when the graph does not have any maxima + + + Funcția nu are puncte de minim. + Message displayed when the graph does not have any minima + + + Constantă + String describing constant monotonicity of a function + + + Descrescătoare + String describing decreasing monotonicity of a function + + + Nu se poate determina monotonia funcției. + Error displayed when monotonicity cannot be determined + + + Crescătoare + String describing increasing monotonicity of a function + + + Monotonia funcției este necunoscută. + Error displayed when monotonicity is unknown + + + Funcția nu are asimptote oblice. + Message displayed when the graph does not have any oblique asymptotes + + + Nu se poate determina paritatea funcției. + Error displayed when parity is cannot be determined + + + Funcția este pară. + Message displayed with the function parity is even + + + Funcția nu este nici pară, nici impară. + Message displayed with the function parity is neither even nor odd + + + Funcția este impară. + Message displayed with the function parity is odd + + + Paritatea funcției este necunoscută. + Error displayed when parity is unknown + + + Periodicitatea nu este acceptată pentru această funcție. + Error displayed when periodicity is not supported + + + Funcția nu este periodică. + Message displayed with the function periodicity is not periodic + + + Periodicitatea funcției este necunoscută. + Message displayed with the function periodicity is unknown + + + Aceste caracteristici sunt prea complexe pentru a fi calculate de Calculator: + Error displayed when analysis features cannot be calculated + + + Funcția nu are asimptote verticale. + Message displayed when the graph does not have any vertical asymptotes + + + Funcția nu are intersecții cu axa x. + Message displayed when the graph does not have any x-intercepts + + + Funcția nu are intersecții cu axa y. + Message displayed when the graph does not have any y-intercepts + + + Domeniu + Title for KeyGraphFeatures Domain Property + + + Asimptote orizontale + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Puncte de inflexiune + Title for KeyGraphFeatures Inflection Points Property + + + Analiza nu este acceptată pentru această funcție. + Error displayed when graph analysis is not supported or had an error. + + + Maxim + Title for KeyGraphFeatures Maxima Property + + + Minim + Title for KeyGraphFeatures Minima Property + + + Monotonie + Title for KeyGraphFeatures Monotonicity Property + + + Asimptote oblice + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paritate + Title for KeyGraphFeatures Parity Property + + + Perioadă + Title for KeyGraphFeatures Periodicity Property + + + Interval + Title for KeyGraphFeatures Range Property + + + Asimptote verticale + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Intersecție cu axa X + Title for KeyGraphFeatures XIntercept Property + + + Intersecție cu axa Y + Title for KeyGraphFeatures YIntercept Property + + + Analiza nu s-a putut efectua pentru funcție. + + + Nu se poate calcula domeniul pentru această funcție. + Error displayed when Domain is not returned from the analyzer. + + + Nu se poate calcula intervalul pentru această funcție. + Error displayed when Range is not returned from the analyzer. + + + Înapoi + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Înapoi + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analizare funcție + This is the tooltip for the analyze function button + + + Analizare funcție + This is the automation name for the analyze function button + + + Analizare funcție + This is the text for the for the analyze function context menu command + + + Eliminați ecuația + This is the tooltip for the graphing calculator remove equation buttons + + + Eliminați ecuația + This is the automation name for the graphing calculator remove equation buttons + + + Eliminați ecuația + This is the text for the for the remove equation context menu command + + + Partajare + This is the automation name for the graphing calculator share button. + + + Partajare + This is the tooltip for the graphing calculator share button. + + + Schimbați stilul ecuației + This is the tooltip for the graphing calculator equation style button + + + Schimbați stilul ecuației + This is the automation name for the graphing calculator equation style button + + + Schimbați stilul ecuației + This is the text for the for the equation style context menu command + + + Afișați ecuația %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Ascundeți ecuația %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Opriți urmărirea + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Începeți urmărirea + This is the tooltip/automation name for the graphing calculator start tracing button + + + Fereastra de vizualizare a graficului, de axei x după %1 și %2, de axă y de %3 și %4, afișând ecuațiile %5 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Configurați cursorul + This is the tooltip text for the slider options button in Graphing Calculator + + + Configurați cursorul + This is the automation name text for the slider options button in Graphing Calculator + + + Comutați la modul ecuație + Used in Graphing Calculator to switch the view to the equation mode + + + Comutați la modul grafic + Used in Graphing Calculator to switch the view to the graph mode + + + Comutați la modul ecuație + Used in Graphing Calculator to switch the view to the equation mode + + + Modul curent este ecuație + Announcement used in Graphing Calculator when switching to the equation mode + + + Modul curent este grafic + Announcement used in Graphing Calculator when switching to the graph mode + + + Fereastră + Heading for window extents on the settings + + + Grade + Degrees mode on settings page + + + Grade centezimale + Gradian mode on settings page + + + Radiani + Radians mode on settings page + + + Unități + Heading for Unit's on the settings + + + Resetare vizualizare + Hyperlink button to reset the view of the graph + + + X-max + X maximum value header + + + X-min + X minimum value header + + + Y-max + Y Maximum value header + + + Y-min + Y minimum value header + + + Opțiuni grilă + This is the tooltip text for the grid options button in Graphing Calculator + + + Opțiuni grilă + This is the automation name text for the grid options button in Graphing Calculator + + + Opțiuni grafic + Heading for the Graph Options flyout in Graphing mode. + + + Introduceți o expresie + this is the placeholder text used by the textbox to enter an equation + + + Copiere + Copy menu item for the graph context menu + + + Decupare + Cut menu item from the Equation TextBox + + + Copiere + Copy menu item from the Equation TextBox + + + Lipire + Paste menu item from the Equation TextBox + + + Anulare + Undo menu item from the Equation TextBox + + + Selectați tot + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/ru-RU/Resources.resw b/src/Calculator/Resources/ru-RU/Resources.resw index 6f445404e..74b529ba1 100644 --- a/src/Calculator/Resources/ru-RU/Resources.resw +++ b/src/Calculator/Resources/ru-RU/Resources.resw @@ -697,9 +697,9 @@ Удалить Text string for the Calculator Delete swipe button in the History list - - Копировать - Text string for the Calculator Copy option in the History list context menu + + Копировать + Text string for the Calculator Copy option in the History list context menu Удалить @@ -867,7 +867,7 @@ Равно - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Обратная функция @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Поверх остальных окон + Поверх остальных окон (ALT + СТРЕЛКА ВВЕРХ) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Вернуться к полному представлению + Вернуться к полному представлению (ALT + СТРЕЛКА ВНИЗ) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Ошибка вычисления - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Логарифм по основанию X @@ -3075,6 +3059,10 @@ Функция Displayed on the button that contains a flyout for the general functions in scientific mode. + + Неравенства + Displayed on the button that contains a flyout for the inequality functions. + Побитовые Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ старший значащий бит Used to describe the last bit of a binary number. Used in bit flip + + Построение графиков + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Равно + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Построить + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Сбросить представление (CTRL+0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Сбросить представление + Screen reader prompt for the reset zoom button. + + + Увеличить (CTRL+"плюс") + This is the tool tip automation name for the Calculator zoom in button. + + + Увеличить + Screen reader prompt for the zoom in button. + + + Уменьшить (CTRL+"минус") + This is the tool tip automation name for the Calculator zoom out button. + + + Уменьшить + Screen reader prompt for the zoom out button. + + + Добавить уравнение + Placeholder text for the equation input button + + + Не удается поделиться сейчас. + If there is an error in the sharing action will display a dialog with this text. + + + ОК + Used on the dismiss button of the share action error dialog. + + + Посмотрите, что я сделал с помощью Калькулятора Windows + Sent as part of the shared content. The title for the share. + + + Уравнения + Header that appears over the equations section when sharing + + + Переменные + Header that appears over the variables section when sharing + + + Изображение графа с уравнениями + Alt text for the graph image when output via Share + + + Переменные + Header text for variables area + + + Шаг + Label text for the step text box + + + Мин. + Label text for the min text box + + + Макс. + Label text for the max text box + + + Цвет линии + Label for the Line Color section of the style picker + + + Анализ функции + Title for KeyGraphFeatures Control + + + Функция не имеет горизонтальных асимптот. + Message displayed when the graph does not have any horizontal asymptotes + + + Функция не имеет точек перегиба. + Message displayed when the graph does not have any inflection points + + + Функция не имеет точек максимума. + Message displayed when the graph does not have any maxima + + + Функция не имеет точек минимума. + Message displayed when the graph does not have any minima + + + Постоянная + String describing constant monotonicity of a function + + + Уменьшающаяся + String describing decreasing monotonicity of a function + + + Не удалось определить монотонность функции. + Error displayed when monotonicity cannot be determined + + + Увеличивающаяся + String describing increasing monotonicity of a function + + + Монотонность функции неизвестна. + Error displayed when monotonicity is unknown + + + Функция не имеет наклонных асимптот. + Message displayed when the graph does not have any oblique asymptotes + + + Не удалось определить четность функции. + Error displayed when parity is cannot be determined + + + Четная функция. + Message displayed with the function parity is even + + + Функция не является ни четной, ни нечетной. + Message displayed with the function parity is neither even nor odd + + + Нечетная функция. + Message displayed with the function parity is odd + + + Четность функции неизвестна. + Error displayed when parity is unknown + + + Периодичность не поддерживается для этой функции. + Error displayed when periodicity is not supported + + + Функция не является периодической. + Message displayed with the function periodicity is not periodic + + + Периодичность функции неизвестна. + Message displayed with the function periodicity is unknown + + + Эти функции слишком сложны для расчета с помощью Калькулятора: + Error displayed when analysis features cannot be calculated + + + Функция не имеет вертикальных асимптот. + Message displayed when the graph does not have any vertical asymptotes + + + Функция не содержит пересечение с осью X. + Message displayed when the graph does not have any x-intercepts + + + Функция не содержит пересечение с осью Y. + Message displayed when the graph does not have any y-intercepts + + + Домен + Title for KeyGraphFeatures Domain Property + + + Горизонтальные асимптоты + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Точки перегиба + Title for KeyGraphFeatures Inflection Points Property + + + Анализ не поддерживается для этой функции. + Error displayed when graph analysis is not supported or had an error. + + + Максимум + Title for KeyGraphFeatures Maxima Property + + + Минимум + Title for KeyGraphFeatures Minima Property + + + Монотонность + Title for KeyGraphFeatures Monotonicity Property + + + Наклонные асимптоты + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Четность + Title for KeyGraphFeatures Parity Property + + + Период + Title for KeyGraphFeatures Periodicity Property + + + Диапазон + Title for KeyGraphFeatures Range Property + + + Вертикальные асимптоты + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Пересечение с осью X + Title for KeyGraphFeatures XIntercept Property + + + Пересечение с осью Y + Title for KeyGraphFeatures YIntercept Property + + + Не удалось выполнить анализ функции. + + + Не удалось вычислить домен для этой функции. + Error displayed when Domain is not returned from the analyzer. + + + Не удается вычислить диапазон для этой функции. + Error displayed when Range is not returned from the analyzer. + + + Назад + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Назад + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Проанализировать функцию + This is the tooltip for the analyze function button + + + Проанализировать функцию + This is the automation name for the analyze function button + + + Проанализировать функцию + This is the text for the for the analyze function context menu command + + + Удалить уравнение + This is the tooltip for the graphing calculator remove equation buttons + + + Удалить уравнение + This is the automation name for the graphing calculator remove equation buttons + + + Удалить уравнение + This is the text for the for the remove equation context menu command + + + Поделиться + This is the automation name for the graphing calculator share button. + + + Поделиться + This is the tooltip for the graphing calculator share button. + + + Изменить стиль уравнения + This is the tooltip for the graphing calculator equation style button + + + Изменить стиль уравнения + This is the automation name for the graphing calculator equation style button + + + Изменить стиль уравнения + This is the text for the for the equation style context menu command + + + Показать уравнение %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Скрыть уравнение %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Остановить трассировку + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Начать трассировку + This is the tooltip/automation name for the graphing calculator start tracing button + + + Окно для просмотра графа, ось x с осью %1 и %2, ось y, привязанная %3 и %4, отображает %5 уравнения + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Настроить ползунок + This is the tooltip text for the slider options button in Graphing Calculator + + + Настроить ползунок + This is the automation name text for the slider options button in Graphing Calculator + + + Перейти в режим уравнения + Used in Graphing Calculator to switch the view to the equation mode + + + Перейти в режим графа + Used in Graphing Calculator to switch the view to the graph mode + + + Перейти в режим уравнения + Used in Graphing Calculator to switch the view to the equation mode + + + Текущий режим — режим уравнения + Announcement used in Graphing Calculator when switching to the equation mode + + + Текущий режим — режим графа + Announcement used in Graphing Calculator when switching to the graph mode + + + Окно + Heading for window extents on the settings + + + Градусы + Degrees mode on settings page + + + Градианы + Gradian mode on settings page + + + Радианы + Radians mode on settings page + + + Единицы + Heading for Unit's on the settings + + + Сбросить представление + Hyperlink button to reset the view of the graph + + + Макс. X + X maximum value header + + + Мин. X + X minimum value header + + + Макс. Y + Y Maximum value header + + + Мин. Y + Y minimum value header + + + Параметры сетки + This is the tooltip text for the grid options button in Graphing Calculator + + + Параметры сетки + This is the automation name text for the grid options button in Graphing Calculator + + + Параметры графа + Heading for the Graph Options flyout in Graphing mode. + + + Введите выражение + this is the placeholder text used by the textbox to enter an equation + + + Копировать + Copy menu item for the graph context menu + + + Вырезать + Cut menu item from the Equation TextBox + + + Копировать + Copy menu item from the Equation TextBox + + + Вставить + Paste menu item from the Equation TextBox + + + Отменить + Undo menu item from the Equation TextBox + + + Выбрать все + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/sk-SK/Resources.resw b/src/Calculator/Resources/sk-SK/Resources.resw index c7d5653ee..66e8a2ced 100644 --- a/src/Calculator/Resources/sk-SK/Resources.resw +++ b/src/Calculator/Resources/sk-SK/Resources.resw @@ -697,9 +697,9 @@ Odstrániť Text string for the Calculator Delete swipe button in the History list - - Kopírovať - Text string for the Calculator Copy option in the History list context menu + + Kopírovať + Text string for the Calculator Copy option in the History list context menu Odstrániť @@ -867,7 +867,7 @@ Rovná sa - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Invertovať funkciu @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Ponechať navrchu + Ponechať navrchu (Alt + šípka nahor) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Späť na celé zobrazenie + Späť na celé zobrazenie (Alt + šípka nadol) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Výpočet zlyhal - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logaritmus so základom X @@ -3075,6 +3059,10 @@ Funkcia Displayed on the button that contains a flyout for the general functions in scientific mode. + + Nerovnosti + Displayed on the button that contains a flyout for the inequality functions. + Bitový operátor Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ najvýznamnejší bit Used to describe the last bit of a binary number. Used in bit flip + + Vytváranie grafov + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Rovná sa + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Vykresliť + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Resetovať zobrazenie (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Resetovať zobrazenie + Screen reader prompt for the reset zoom button. + + + Priblížiť (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Priblížiť + Screen reader prompt for the zoom in button. + + + Vzdialiť (Ctrl + mínus) + This is the tool tip automation name for the Calculator zoom out button. + + + Vzdialiť + Screen reader prompt for the zoom out button. + + + Pridať rovnicu + Placeholder text for the equation input button + + + Momentálne nie je možné zdieľať. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Pozrite sa, aký graf sa mi podarilo urobiť s Windows Kalkulačkou + Sent as part of the shared content. The title for the share. + + + Rovnice + Header that appears over the equations section when sharing + + + Premenné + Header that appears over the variables section when sharing + + + Obrázok grafu s rovnicami + Alt text for the graph image when output via Share + + + Premenné + Header text for variables area + + + Krok + Label text for the step text box + + + Min + Label text for the min text box + + + Max + Label text for the max text box + + + Farba čiary + Label for the Line Color section of the style picker + + + Analýza funkcií + Title for KeyGraphFeatures Control + + + Funkcia nemá žiadne vodorovné asymptoty. + Message displayed when the graph does not have any horizontal asymptotes + + + Funkcia nemá žiadne inflexné body. + Message displayed when the graph does not have any inflection points + + + Funkcia nemá žiadne maximálne body. + Message displayed when the graph does not have any maxima + + + Funkcia nemá žiadne minimálne body. + Message displayed when the graph does not have any minima + + + Konštanta + String describing constant monotonicity of a function + + + Klesajúca + String describing decreasing monotonicity of a function + + + Nie je možné určiť monotónnosť funkcie. + Error displayed when monotonicity cannot be determined + + + Rastúca + String describing increasing monotonicity of a function + + + Monotónnosť funkcie nie je známa. + Error displayed when monotonicity is unknown + + + Funkcia nemá žiadne šikmé asymptoty. + Message displayed when the graph does not have any oblique asymptotes + + + Nie je možné určiť paritu funkcie. + Error displayed when parity is cannot be determined + + + Funkcia je párna. + Message displayed with the function parity is even + + + Funkcia nie je ani párna, ani nepárna. + Message displayed with the function parity is neither even nor odd + + + Funkcia je nepárna. + Message displayed with the function parity is odd + + + Parita funkcie je neznáma. + Error displayed when parity is unknown + + + Periodicita nie je pre túto funkciu podporovaná. + Error displayed when periodicity is not supported + + + Funkcia nie je periodická. + Message displayed with the function periodicity is not periodic + + + Periodicita funkcie je neznáma. + Message displayed with the function periodicity is unknown + + + Tieto funkcie sú pre Kalkulačku príliš zložité na vypočítanie: + Error displayed when analysis features cannot be calculated + + + Funkcia nemá žiadne zvislé asymptoty. + Message displayed when the graph does not have any vertical asymptotes + + + Funkcia nemá žiadne priesečníky s osou X. + Message displayed when the graph does not have any x-intercepts + + + Funkcia nemá žiadne priesečníky s osou Y. + Message displayed when the graph does not have any y-intercepts + + + Definičný obor + Title for KeyGraphFeatures Domain Property + + + Vodorovné asymptoty + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Inflexné body + Title for KeyGraphFeatures Inflection Points Property + + + Analýza nie je pre túto funkciu podporovaná. + Error displayed when graph analysis is not supported or had an error. + + + Maxima + Title for KeyGraphFeatures Maxima Property + + + Minima + Title for KeyGraphFeatures Minima Property + + + Monotónnosť + Title for KeyGraphFeatures Monotonicity Property + + + Šikmé asymptoty + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Parita + Title for KeyGraphFeatures Parity Property + + + Perióda + Title for KeyGraphFeatures Periodicity Property + + + Rozsah + Title for KeyGraphFeatures Range Property + + + Zvislé asymptoty + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Priesečník s osou X + Title for KeyGraphFeatures XIntercept Property + + + Priesečník s osou Y + Title for KeyGraphFeatures YIntercept Property + + + Pre funkciu sa nepodarilo vykonať analýzu. + + + Pre túto funkciu nie je možné vypočítať definičný obor. + Error displayed when Domain is not returned from the analyzer. + + + Pre túto funkciu nie je možné vypočítať rozsah. + Error displayed when Range is not returned from the analyzer. + + + Naspäť + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Naspäť + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analyzovať funkciu + This is the tooltip for the analyze function button + + + Analyzovať funkciu + This is the automation name for the analyze function button + + + Analyzovať funkciu + This is the text for the for the analyze function context menu command + + + Odstrániť rovnicu + This is the tooltip for the graphing calculator remove equation buttons + + + Odstrániť rovnicu + This is the automation name for the graphing calculator remove equation buttons + + + Odstrániť rovnicu + This is the text for the for the remove equation context menu command + + + Zdieľať + This is the automation name for the graphing calculator share button. + + + Zdieľať + This is the tooltip for the graphing calculator share button. + + + Zmeniť štýl rovnice + This is the tooltip for the graphing calculator equation style button + + + Zmeniť štýl rovnice + This is the automation name for the graphing calculator equation style button + + + Zmeniť štýl rovnice + This is the text for the for the equation style context menu command + + + Zobraziť rovnicu %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Skryť rovnicu %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Zastaviť sledovanie + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Spustiť sledovanie + This is the tooltip/automation name for the graphing calculator start tracing button + + + Okno na zobrazenie grafu, OS x vyznačený %1 a %2, os y vyznačený %3 a %4, zobrazovať %5 rovnice + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfigurovať jazdec + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfigurovať jazdec + This is the automation name text for the slider options button in Graphing Calculator + + + Prepnúť na režim rovnice + Used in Graphing Calculator to switch the view to the equation mode + + + Prepnúť na režim grafu + Used in Graphing Calculator to switch the view to the graph mode + + + Prepnúť na režim rovnice + Used in Graphing Calculator to switch the view to the equation mode + + + Aktuálne sa používa režim rovnice + Announcement used in Graphing Calculator when switching to the equation mode + + + Aktuálne sa používa režim grafu + Announcement used in Graphing Calculator when switching to the graph mode + + + Okno + Heading for window extents on the settings + + + Stupne + Degrees mode on settings page + + + Gradiány + Gradian mode on settings page + + + Radiány + Radians mode on settings page + + + Jednotky + Heading for Unit's on the settings + + + Obnoviť + Hyperlink button to reset the view of the graph + + + X – max + X maximum value header + + + X – min + X minimum value header + + + Y – max + Y Maximum value header + + + Y – min + Y minimum value header + + + Možnosti mriežky + This is the tooltip text for the grid options button in Graphing Calculator + + + Možnosti mriežky + This is the automation name text for the grid options button in Graphing Calculator + + + Možnosti grafu + Heading for the Graph Options flyout in Graphing mode. + + + Zadajte výraz + this is the placeholder text used by the textbox to enter an equation + + + Kopírovať + Copy menu item for the graph context menu + + + Vystrihnúť + Cut menu item from the Equation TextBox + + + Kopírovať + Copy menu item from the Equation TextBox + + + Prilepiť + Paste menu item from the Equation TextBox + + + Zrušiť zmenu + Undo menu item from the Equation TextBox + + + Vybrať všetko + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/sl-SI/Resources.resw b/src/Calculator/Resources/sl-SI/Resources.resw index 7be37c146..ace8cc3bb 100644 --- a/src/Calculator/Resources/sl-SI/Resources.resw +++ b/src/Calculator/Resources/sl-SI/Resources.resw @@ -697,9 +697,9 @@ Izbriši Text string for the Calculator Delete swipe button in the History list - - Kopiraj - Text string for the Calculator Copy option in the History list context menu + + Kopiraj + Text string for the Calculator Copy option in the History list context menu Izbriši @@ -867,7 +867,7 @@ Je enako - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Obratna funkcija @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Obdrži na vrhu + Ohrani na vrhu (Alt + puščica gor) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Nazaj na celozaslonski pogled + Nazaj na celozaslonski prikaz (Alt + puščica dol) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Izračun ni uspel - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logaritemska osnova X @@ -3075,6 +3059,10 @@ Funkcija Displayed on the button that contains a flyout for the general functions in scientific mode. + + Neenakosti + Displayed on the button that contains a flyout for the inequality functions. + Bitna vrednost Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ najbolj pomemben bit Used to describe the last bit of a binary number. Used in bit flip + + Risanje grafov + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Je enako + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Nariši + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Ponastavi pogled (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Ponastavi pogled + Screen reader prompt for the reset zoom button. + + + Povečaj (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Povečaj + Screen reader prompt for the zoom in button. + + + Pomanjšaj (Ctrl + minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Pomanjšaj + Screen reader prompt for the zoom out button. + + + Dodaj enačbo + Placeholder text for the equation input button + + + Trenutno ni mogoče deliti z drugimi. + If there is an error in the sharing action will display a dialog with this text. + + + V redu + Used on the dismiss button of the share action error dialog. + + + Oglejte si graf, ustvarjen s Kalkulatorjem Windows + Sent as part of the shared content. The title for the share. + + + Enačbe + Header that appears over the equations section when sharing + + + Spremenljivke + Header that appears over the variables section when sharing + + + Slika grafa z enačbami + Alt text for the graph image when output via Share + + + Spremenljivke + Header text for variables area + + + Korak + Label text for the step text box + + + Najmanj + Label text for the min text box + + + Največ + Label text for the max text box + + + Barva črte + Label for the Line Color section of the style picker + + + Analiza funkcije + Title for KeyGraphFeatures Control + + + Funkcija nima nobenih vodoravnih asimptot. + Message displayed when the graph does not have any horizontal asymptotes + + + Funkcija nima nobenih prevojnih točk. + Message displayed when the graph does not have any inflection points + + + Funkcija nima nobenih maksimalnih vrednosti. + Message displayed when the graph does not have any maxima + + + Funkcija nima nobenih minimalnih vrednosti. + Message displayed when the graph does not have any minima + + + Konstanta + String describing constant monotonicity of a function + + + Padanje + String describing decreasing monotonicity of a function + + + Monotonosti funkcije ni mogoče določiti. + Error displayed when monotonicity cannot be determined + + + Naraščanje + String describing increasing monotonicity of a function + + + Monotonost funkcije ni znana. + Error displayed when monotonicity is unknown + + + Funkcija nima nobenih poševnih asimptot. + Message displayed when the graph does not have any oblique asymptotes + + + Paritete funkcije ni mogoče določiti. + Error displayed when parity is cannot be determined + + + Funkcija je soda. + Message displayed with the function parity is even + + + Funkcija ni niti soda niti liha. + Message displayed with the function parity is neither even nor odd + + + Funkcija je liha. + Message displayed with the function parity is odd + + + Pariteta funkcije ni znana. + Error displayed when parity is unknown + + + Periodičnost za to funkcijo ni podprta. + Error displayed when periodicity is not supported + + + Funkcija ni periodična. + Message displayed with the function periodicity is not periodic + + + Periodičnost funkcije ni znana. + Message displayed with the function periodicity is unknown + + + Te lastnosti so preveč zapletene, da bi jih Kalkulator lahko izračunal: + Error displayed when analysis features cannot be calculated + + + Funkcija nima nobenih navpičnih asimptot. + Message displayed when the graph does not have any vertical asymptotes + + + Funkcija nima nobenih presečišč z osjo x. + Message displayed when the graph does not have any x-intercepts + + + Funkcija nima nobenih presečišč z osjo y. + Message displayed when the graph does not have any y-intercepts + + + Domena + Title for KeyGraphFeatures Domain Property + + + Vodoravne asimptote + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Prevojne točke + Title for KeyGraphFeatures Inflection Points Property + + + Analiza ni podprta za to funkcijo. + Error displayed when graph analysis is not supported or had an error. + + + Najvišje vrednosti + Title for KeyGraphFeatures Maxima Property + + + Najnižje vrednosti + Title for KeyGraphFeatures Minima Property + + + Monotonost + Title for KeyGraphFeatures Monotonicity Property + + + Poševne asimptote + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Pariteta + Title for KeyGraphFeatures Parity Property + + + Perioda + Title for KeyGraphFeatures Periodicity Property + + + Obseg + Title for KeyGraphFeatures Range Property + + + Navpične asimptote + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Presečišče z osjo X + Title for KeyGraphFeatures XIntercept Property + + + Presečišče z osjo Y + Title for KeyGraphFeatures YIntercept Property + + + Za funkcijo ni bilo mogoče izvesti analize. + + + Domene za to funkcijo ni mogoče izračunati. + Error displayed when Domain is not returned from the analyzer. + + + Obsega za to funkcijo ni mogoče izračunati. + Error displayed when Range is not returned from the analyzer. + + + Nazaj + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Nazaj + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analiziraj funkcijo + This is the tooltip for the analyze function button + + + Analiziraj funkcijo + This is the automation name for the analyze function button + + + Analiziraj funkcijo + This is the text for the for the analyze function context menu command + + + Odstrani enačbo + This is the tooltip for the graphing calculator remove equation buttons + + + Odstrani enačbo + This is the automation name for the graphing calculator remove equation buttons + + + Odstrani enačbo + This is the text for the for the remove equation context menu command + + + Deli z drugimi + This is the automation name for the graphing calculator share button. + + + Deli z drugimi + This is the tooltip for the graphing calculator share button. + + + Spremeni slog enačbe + This is the tooltip for the graphing calculator equation style button + + + Spremeni slog enačbe + This is the automation name for the graphing calculator equation style button + + + Spremeni slog enačbe + This is the text for the for the equation style context menu command + + + Pokaži enačbo %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Skrij enačbo %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Ustavi sledenje + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Začni sledenje + This is the tooltip/automation name for the graphing calculator start tracing button + + + Okno za ogled grafa, bounded osi x po %1 in %2, bounded osi y %3 in %4, prikazujejo %5 enačbe + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfiguriraj drsnik + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfiguriraj drsnik + This is the automation name text for the slider options button in Graphing Calculator + + + Preklopi v način enačbe + Used in Graphing Calculator to switch the view to the equation mode + + + Preklopi v način grafa + Used in Graphing Calculator to switch the view to the graph mode + + + Preklopi v način enačbe + Used in Graphing Calculator to switch the view to the equation mode + + + Trenutni način je način enačbe + Announcement used in Graphing Calculator when switching to the equation mode + + + Trenutni način je način grafa + Announcement used in Graphing Calculator when switching to the graph mode + + + Okno + Heading for window extents on the settings + + + Stopinje + Degrees mode on settings page + + + Gradi + Gradian mode on settings page + + + Radiani + Radians mode on settings page + + + Enote + Heading for Unit's on the settings + + + Ponastavi pogled + Hyperlink button to reset the view of the graph + + + X – najvišja vrednost + X maximum value header + + + X – najnižja vrednost + X minimum value header + + + Y – najvišja vrednost + Y Maximum value header + + + Y – najnižja vrednost + Y minimum value header + + + Možnosti mreže + This is the tooltip text for the grid options button in Graphing Calculator + + + Možnosti mreže + This is the automation name text for the grid options button in Graphing Calculator + + + Možnosti grafa + Heading for the Graph Options flyout in Graphing mode. + + + Vnesite izraz + this is the placeholder text used by the textbox to enter an equation + + + Kopiraj + Copy menu item for the graph context menu + + + Izreži + Cut menu item from the Equation TextBox + + + Kopiraj + Copy menu item from the Equation TextBox + + + Prilepi + Paste menu item from the Equation TextBox + + + Razveljavi + Undo menu item from the Equation TextBox + + + Izberi vse + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/sq-AL/Resources.resw b/src/Calculator/Resources/sq-AL/Resources.resw index 395997051..d3cd29541 100644 --- a/src/Calculator/Resources/sq-AL/Resources.resw +++ b/src/Calculator/Resources/sq-AL/Resources.resw @@ -697,9 +697,9 @@ Fshij Text string for the Calculator Delete swipe button in the History list - - Kopjo - Text string for the Calculator Copy option in the History list context menu + + Kopjo + Text string for the Calculator Copy option in the History list context menu Fshij @@ -867,7 +867,7 @@ Baras - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Funksioni i anasjelljes @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Mbaj në krye + Mbaj në krye (Alt+Shigjeta lart) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Kthehu në pamjen e plotë + Kthehu në pamjen e plotë (Alt+Shigjeta poshtë) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Llogaritja nuk u krye - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Baza X e evidencës @@ -3075,6 +3059,10 @@ Funksioni Displayed on the button that contains a flyout for the general functions in scientific mode. + + Mosbarazimet + Displayed on the button that contains a flyout for the inequality functions. + Në nivel bitesh Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ biti më i rëndësishëm Used to describe the last bit of a binary number. Used in bit flip + + Paraqitja në grafik + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Baras + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Skico + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Rivendos pamjen (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Rivendos pamjen + Screen reader prompt for the reset zoom button. + + + Zmadho (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Zmadho + Screen reader prompt for the zoom in button. + + + Zvogëlo (Ctrl + minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Zvogëlo + Screen reader prompt for the zoom out button. + + + Shto ekuacionin + Placeholder text for the equation input button + + + Nuk mund të bashkëndahet për momentin. + If there is an error in the sharing action will display a dialog with this text. + + + Në rregull + Used on the dismiss button of the share action error dialog. + + + Shiko se çfarë kam paraqitur në grafik me "Makinën llogaritëse të Windows" + Sent as part of the shared content. The title for the share. + + + Ekuacionet + Header that appears over the equations section when sharing + + + Ndryshoret + Header that appears over the variables section when sharing + + + Imazh të një grafiku me ekuacionet + Alt text for the graph image when output via Share + + + Ndryshoret + Header text for variables area + + + Hapi + Label text for the step text box + + + Min. + Label text for the min text box + + + Maks. + Label text for the max text box + + + Ngjyra e vijës + Label for the Line Color section of the style picker + + + Analiza e funksionit + Title for KeyGraphFeatures Control + + + Funksioni nuk ka asnjë asimptotë horizontale. + Message displayed when the graph does not have any horizontal asymptotes + + + Funksioni nuk ka asnjë pikë infleksioni. + Message displayed when the graph does not have any inflection points + + + Funksioni nuk ka asnjë pikë maksimale. + Message displayed when the graph does not have any maxima + + + Funksioni nuk ka asnjë pikë minimale. + Message displayed when the graph does not have any minima + + + Konstantja + String describing constant monotonicity of a function + + + Zbritës + String describing decreasing monotonicity of a function + + + Monotonia e funksionit nuk mund të përcaktohet. + Error displayed when monotonicity cannot be determined + + + Rritës + String describing increasing monotonicity of a function + + + Monotonia e funksionit është e panjohur. + Error displayed when monotonicity is unknown + + + Funksioni nuk ka asnjë asimptotë të pjerrët. + Message displayed when the graph does not have any oblique asymptotes + + + Pariteti i funksionit nuk mund të përcaktohet. + Error displayed when parity is cannot be determined + + + Funksioni është i barabartë. + Message displayed with the function parity is even + + + Funksioni nuk është as çift as tek. + Message displayed with the function parity is neither even nor odd + + + Funksioni nuk është tek. + Message displayed with the function parity is odd + + + Pariteti i funksionit është i panjohur. + Error displayed when parity is unknown + + + Periodiciteti nuk mbështetet për këtë funksion. + Error displayed when periodicity is not supported + + + Funksioni nuk është periodik. + Message displayed with the function periodicity is not periodic + + + Periodiciteti i funksionit është i panjohur. + Message displayed with the function periodicity is unknown + + + Këto tipare janë shumë të ndërlikuara për t'i llogaritur "Makina llogaritëse": + Error displayed when analysis features cannot be calculated + + + Funksioni nuk ka asnjë asimptotë vertikale. + Message displayed when the graph does not have any vertical asymptotes + + + Funksioni nuk ka asnjë prerje me boshtin X. + Message displayed when the graph does not have any x-intercepts + + + Funksioni nuk ka asnjë prerje me boshtin Y. + Message displayed when the graph does not have any y-intercepts + + + Domeni + Title for KeyGraphFeatures Domain Property + + + Asimptotat horizontale + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Pikat e infleksionit + Title for KeyGraphFeatures Inflection Points Property + + + Analiza nuk mbështetet për këtë funksion. + Error displayed when graph analysis is not supported or had an error. + + + Maksimalet + Title for KeyGraphFeatures Maxima Property + + + Minimalet + Title for KeyGraphFeatures Minima Property + + + Monotonia + Title for KeyGraphFeatures Monotonicity Property + + + Asimptotat e pjerrëta + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Pariteti + Title for KeyGraphFeatures Parity Property + + + Perioda + Title for KeyGraphFeatures Periodicity Property + + + Rrezja + Title for KeyGraphFeatures Range Property + + + Asimptotat vertikale + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Prerjet me boshtin X + Title for KeyGraphFeatures XIntercept Property + + + Prerjet me boshtin Y + Title for KeyGraphFeatures YIntercept Property + + + Analiza nuk mund të kryhet për funksionin. + + + Llogaritja e domenit është e pamundur për këtë funksion. + Error displayed when Domain is not returned from the analyzer. + + + Rrezja e këtij funksion nuk mund të llogaritet. + Error displayed when Range is not returned from the analyzer. + + + Prapa + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Prapa + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analizo funksionin + This is the tooltip for the analyze function button + + + Analizo funksionin + This is the automation name for the analyze function button + + + Analizo funksionin + This is the text for the for the analyze function context menu command + + + Hiq ekuacionin + This is the tooltip for the graphing calculator remove equation buttons + + + Hiq ekuacionin + This is the automation name for the graphing calculator remove equation buttons + + + Hiq ekuacionin + This is the text for the for the remove equation context menu command + + + Bashkëndaj + This is the automation name for the graphing calculator share button. + + + Bashkëndaj + This is the tooltip for the graphing calculator share button. + + + Ndrysho stilin e ekuacionit + This is the tooltip for the graphing calculator equation style button + + + Ndrysho stilin e ekuacionit + This is the automation name for the graphing calculator equation style button + + + Ndrysho stilin e ekuacionit + This is the text for the for the equation style context menu command + + + Shfaq ekuacionin %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Fshih ekuacionin %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Ndalo gjurmimin + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Nis gjurmimin + This is the tooltip/automation name for the graphing calculator start tracing button + + + Dritarja e paraqitjes së grafikut, boshti x i kufizuar nga %1 dhe %2, boshti y i kufizuar nga %3 dhe %4, paraqiten %5 ekuacione + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfiguro rrëshqitësin + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfiguro rrëshqitësin + This is the automation name text for the slider options button in Graphing Calculator + + + Kalo në regjimin e ekuacioneve + Used in Graphing Calculator to switch the view to the equation mode + + + Kalo në regjimin e grafikëve + Used in Graphing Calculator to switch the view to the graph mode + + + Kalo në regjimin e ekuacioneve + Used in Graphing Calculator to switch the view to the equation mode + + + Regjimi aktual është në regjimin e ekuacioneve + Announcement used in Graphing Calculator when switching to the equation mode + + + Regjimi aktual është në regjimin e grafikëve + Announcement used in Graphing Calculator when switching to the graph mode + + + Dritarja + Heading for window extents on the settings + + + Gradë + Degrees mode on settings page + + + Gradianët + Gradian mode on settings page + + + Radianët + Radians mode on settings page + + + Njësitë + Heading for Unit's on the settings + + + Rivendos pamjen + Hyperlink button to reset the view of the graph + + + X-Maksimale + X maximum value header + + + X-Minimale + X minimum value header + + + Y-Maksimale + Y Maximum value header + + + Y-Minimale + Y minimum value header + + + Opsionet e rrjetës + This is the tooltip text for the grid options button in Graphing Calculator + + + Opsionet e rrjetës + This is the automation name text for the grid options button in Graphing Calculator + + + Opsionet e grafikut + Heading for the Graph Options flyout in Graphing mode. + + + Fut një shprehje + this is the placeholder text used by the textbox to enter an equation + + + Kopjo + Copy menu item for the graph context menu + + + Prit + Cut menu item from the Equation TextBox + + + Kopjo + Copy menu item from the Equation TextBox + + + Ngjit + Paste menu item from the Equation TextBox + + + Zhbëj + Undo menu item from the Equation TextBox + + + Përzgjidh të gjitha + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/sr-Latn-RS/Resources.resw b/src/Calculator/Resources/sr-Latn-RS/Resources.resw index 7e76163e3..9f6f12e32 100644 --- a/src/Calculator/Resources/sr-Latn-RS/Resources.resw +++ b/src/Calculator/Resources/sr-Latn-RS/Resources.resw @@ -697,9 +697,9 @@ Izbriši Text string for the Calculator Delete swipe button in the History list - - Tekst - Text string for the Calculator Copy option in the History list context menu + + Tekst + Text string for the Calculator Copy option in the History list context menu Izbriši @@ -867,7 +867,7 @@ Jednako - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Recipročna funkcija @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Zadrži na vrhu + Zadrži na vrhu (Alt + strelica nagore) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Nazad na puni prikaz + Nazad na puni prikaz (Alt + strelica nadole) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - UG AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Izračunavanje nije uspelo - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Osnovna evidencija X @@ -3075,6 +3059,10 @@ Funkcija Displayed on the button that contains a flyout for the general functions in scientific mode. + + Nejednakosti + Displayed on the button that contains a flyout for the inequality functions. + Nad bitovima Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ najznačajniji deo Used to describe the last bit of a binary number. Used in bit flip + + Grafičko predstavljanje + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Jednako + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Grafikon + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Poništi prikaz (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Ponovo postavi prikaz + Screen reader prompt for the reset zoom button. + + + Uvećaj (Ctrl + plus) + This is the tool tip automation name for the Calculator zoom in button. + + + Povećaj + Screen reader prompt for the zoom in button. + + + Umanji (Ctrl + minus) + This is the tool tip automation name for the Calculator zoom out button. + + + Smanji + Screen reader prompt for the zoom out button. + + + Dodaj jednačinu + Placeholder text for the equation input button + + + Deljenje trenutno nije moguće. + If there is an error in the sharing action will display a dialog with this text. + + + U redu + Used on the dismiss button of the share action error dialog. + + + Evo šta je grafički predstavljeno pomoću Windows kalkulatora + Sent as part of the shared content. The title for the share. + + + Jednačine + Header that appears over the equations section when sharing + + + Promenljive + Header that appears over the variables section when sharing + + + Slika grafikona sa jednačinama + Alt text for the graph image when output via Share + + + Promenljive + Header text for variables area + + + Korak + Label text for the step text box + + + Minimum + Label text for the min text box + + + Maksimum + Label text for the max text box + + + Boja linije + Label for the Line Color section of the style picker + + + Analiza funkcije + Title for KeyGraphFeatures Control + + + Funkcija nema nijednu horizontalnu asimptotu. + Message displayed when the graph does not have any horizontal asymptotes + + + Funkcija nema nijednu tačku infleksije. + Message displayed when the graph does not have any inflection points + + + Funkcija nema nijednu maksimalnu tačku. + Message displayed when the graph does not have any maxima + + + Funkcija nema nijednu minimalnu tačku. + Message displayed when the graph does not have any minima + + + Stalno + String describing constant monotonicity of a function + + + Opadajuće + String describing decreasing monotonicity of a function + + + Nije moguće utvrditi monotonost funkcije. + Error displayed when monotonicity cannot be determined + + + Rastuće + String describing increasing monotonicity of a function + + + Monotonost funkcije je nepoznata. + Error displayed when monotonicity is unknown + + + Funkcija nema nijednu zakošenu asimptotu. + Message displayed when the graph does not have any oblique asymptotes + + + Nije moguće utvrditi parnost funkcije. + Error displayed when parity is cannot be determined + + + Funkcija je parna. + Message displayed with the function parity is even + + + Funkcija nije ni parna ni neparna. + Message displayed with the function parity is neither even nor odd + + + Funkcija je neparna. + Message displayed with the function parity is odd + + + Parnost funkcije je nepoznata. + Error displayed when parity is unknown + + + Periodičnost nije podržana za ovu funkciju. + Error displayed when periodicity is not supported + + + Funkcija nije periodična. + Message displayed with the function periodicity is not periodic + + + Periodičnost funkcije je nepoznata. + Message displayed with the function periodicity is unknown + + + Ove funkcije su previše složene za izračunavanje pomoću kalkulatora: + Error displayed when analysis features cannot be calculated + + + Funkcija nema nijednu vertikalnu asimptotu. + Message displayed when the graph does not have any vertical asymptotes + + + Funkcija nema nijedan x-odsečak. + Message displayed when the graph does not have any x-intercepts + + + Funkcija nema nijedan y-odsečak. + Message displayed when the graph does not have any y-intercepts + + + Domen + Title for KeyGraphFeatures Domain Property + + + Horizontalne asimptote + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Tačke infleksije + Title for KeyGraphFeatures Inflection Points Property + + + Analiza nije podržana za ovu funkciju. + Error displayed when graph analysis is not supported or had an error. + + + Maksima + Title for KeyGraphFeatures Maxima Property + + + Minima + Title for KeyGraphFeatures Minima Property + + + Monotonost + Title for KeyGraphFeatures Monotonicity Property + + + Zakošene asimptote + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Parnost + Title for KeyGraphFeatures Parity Property + + + Period + Title for KeyGraphFeatures Periodicity Property + + + Opseg + Title for KeyGraphFeatures Range Property + + + Vertikalne asimptote + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-odsečak + Title for KeyGraphFeatures XIntercept Property + + + Y-odsečak + Title for KeyGraphFeatures YIntercept Property + + + Nije moguće izvršiti analizu za funkciju. + + + Nije moguće izračunati domen za ovu funkciju. + Error displayed when Domain is not returned from the analyzer. + + + Nije moguće izračunati opseg za ovu funkciju. + Error displayed when Range is not returned from the analyzer. + + + Nazad + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Nazad + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analiziraj funkciju + This is the tooltip for the analyze function button + + + Analiziraj funkciju + This is the automation name for the analyze function button + + + Analiziraj funkciju + This is the text for the for the analyze function context menu command + + + Ukloni jednačinu + This is the tooltip for the graphing calculator remove equation buttons + + + Ukloni jednačinu + This is the automation name for the graphing calculator remove equation buttons + + + Ukloni jednačinu + This is the text for the for the remove equation context menu command + + + Deli + This is the automation name for the graphing calculator share button. + + + Deli + This is the tooltip for the graphing calculator share button. + + + Promeni stil jednačine + This is the tooltip for the graphing calculator equation style button + + + Promeni stil jednačine + This is the automation name for the graphing calculator equation style button + + + Promeni stil jednačine + This is the text for the for the equation style context menu command + + + Prikaži jednačinu %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Sakrij jednačinu %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Zaustavi praćenje + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Započni praćenje + This is the tooltip/automation name for the graphing calculator start tracing button + + + Prozor za prikazivanje grafikona, x-osa ograničena sa %1 i %2, y-osa ograničena sa %3 i %4, prikazuje ovoliko jednačina: %5 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfiguriši klizač + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfiguriši klizač + This is the automation name text for the slider options button in Graphing Calculator + + + Prebaci se na režim jednačine + Used in Graphing Calculator to switch the view to the equation mode + + + Prebaci se na režim grafikona + Used in Graphing Calculator to switch the view to the graph mode + + + Prebaci se na režim jednačine + Used in Graphing Calculator to switch the view to the equation mode + + + Trenutni režim je režim jednačine + Announcement used in Graphing Calculator when switching to the equation mode + + + Trenutni režim je režim grafikona + Announcement used in Graphing Calculator when switching to the graph mode + + + Prozor + Heading for window extents on the settings + + + Stepeni + Degrees mode on settings page + + + Gradijani + Gradian mode on settings page + + + Radijani + Radians mode on settings page + + + Jedinice + Heading for Unit's on the settings + + + Uspostavljanje početne vrednosti prikaza + Hyperlink button to reset the view of the graph + + + X maksimalna vrednost + X maximum value header + + + X minimalna vrednost + X minimum value header + + + Y maksimalna vrednost + Y Maximum value header + + + Y minimalna vrednost + Y minimum value header + + + Opcije koordinatne mreže + This is the tooltip text for the grid options button in Graphing Calculator + + + Opcije koordinatne mreže + This is the automation name text for the grid options button in Graphing Calculator + + + Opcije grafikona + Heading for the Graph Options flyout in Graphing mode. + + + Unesite izraz + this is the placeholder text used by the textbox to enter an equation + + + Kopiraj + Copy menu item for the graph context menu + + + Isecanje + Cut menu item from the Equation TextBox + + + Kopiranje + Copy menu item from the Equation TextBox + + + Nalepi + Paste menu item from the Equation TextBox + + + Opozivanje radnje + Undo menu item from the Equation TextBox + + + Izaberi sve + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/sv-SE/Resources.resw b/src/Calculator/Resources/sv-SE/Resources.resw index 3063d8fb6..4492e412a 100644 --- a/src/Calculator/Resources/sv-SE/Resources.resw +++ b/src/Calculator/Resources/sv-SE/Resources.resw @@ -118,7 +118,7 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - Kalkylatorn + Kalkylatorn med graffunktion {@Appx_ShortDisplayName@}{StringCategory="Feature Title"} This is the title of the official application when published through Windows Store. @@ -697,9 +697,9 @@ Ta bort Text string for the Calculator Delete swipe button in the History list - - Kopiera - Text string for the Calculator Copy option in the History list context menu + + Kopiera + Text string for the Calculator Copy option in the History list context menu Ta bort @@ -867,7 +867,7 @@ Lika med - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Inverterade funktioner @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Behåll överst + Behåll överst (Alt + Uppåtpil) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Tillbaka till full vy + Tillbaka till full vy (Alt + Nedåtpil) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Beräkning misslyckades - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logaritmisk bas X @@ -3075,6 +3059,10 @@ Funktion Displayed on the button that contains a flyout for the general functions in scientific mode. + + Olikheter + Displayed on the button that contains a flyout for the inequality functions. + Bitvis Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ mest signifikanta bit Used to describe the last bit of a binary number. Used in bit flip + + Grafer + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Lika med + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Plotta + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Återställ vy (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Återställ vy + Screen reader prompt for the reset zoom button. + + + Zooma in (Ctrl + plus (+)) + This is the tool tip automation name for the Calculator zoom in button. + + + Zooma in + Screen reader prompt for the zoom in button. + + + Zooma ut (Ctrl + minus (-)) + This is the tool tip automation name for the Calculator zoom out button. + + + Zooma ut + Screen reader prompt for the zoom out button. + + + Lägg till ekvation + Placeholder text for the equation input button + + + Det går inte att dela just nu. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Se vad jag har ritat med Windows Kalkylatorn + Sent as part of the shared content. The title for the share. + + + Ekvationer + Header that appears over the equations section when sharing + + + Variabler + Header that appears over the variables section when sharing + + + Bild av en graf med ekvationer + Alt text for the graph image when output via Share + + + Variabler + Header text for variables area + + + Steg + Label text for the step text box + + + Min + Label text for the min text box + + + Max + Label text for the max text box + + + Linjefärg + Label for the Line Color section of the style picker + + + Funktionsanalys + Title for KeyGraphFeatures Control + + + Funktionen har inga vågräta asymptoter. + Message displayed when the graph does not have any horizontal asymptotes + + + Funktionen har inga inflexionspunkter. + Message displayed when the graph does not have any inflection points + + + Funktionen har inga högsta punkter. + Message displayed when the graph does not have any maxima + + + Funktionen har inga lägsta punkter. + Message displayed when the graph does not have any minima + + + Konstant + String describing constant monotonicity of a function + + + Minska + String describing decreasing monotonicity of a function + + + Kan inte fastställa monotonicitet för funktionen. + Error displayed when monotonicity cannot be determined + + + Ökar + String describing increasing monotonicity of a function + + + Monotoniciteten för funktionen är okänd. + Error displayed when monotonicity is unknown + + + Funktionen har inga sneda asymptoter. + Message displayed when the graph does not have any oblique asymptotes + + + Kan inte fastställa paritet för funktionen. + Error displayed when parity is cannot be determined + + + Funktionen är jämn. + Message displayed with the function parity is even + + + Funktionen är varken jämn eller udda. + Message displayed with the function parity is neither even nor odd + + + Funktionen är udda. + Message displayed with the function parity is odd + + + Funktionspariteten är okänd. + Error displayed when parity is unknown + + + Periodicitet stöds inte för den här funktionen. + Error displayed when periodicity is not supported + + + Funktionen är inte periodisk. + Message displayed with the function periodicity is not periodic + + + Funktionens periodicitet är okänd. + Message displayed with the function periodicity is unknown + + + De här funktionerna är för komplexa för att Kalkylatorn ska kunna beräkna dem: + Error displayed when analysis features cannot be calculated + + + Funktionen har inga lodräta asymptoter. + Message displayed when the graph does not have any vertical asymptotes + + + Funktionen har inga x-skärningspunkter. + Message displayed when the graph does not have any x-intercepts + + + Funktionen har inga y-skärningspunkter. + Message displayed when the graph does not have any y-intercepts + + + Domän + Title for KeyGraphFeatures Domain Property + + + Vågräta asymptoter + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Inflexionspunkter + Title for KeyGraphFeatures Inflection Points Property + + + Analys stöds inte för den här funktionen. + Error displayed when graph analysis is not supported or had an error. + + + Största + Title for KeyGraphFeatures Maxima Property + + + Minsta + Title for KeyGraphFeatures Minima Property + + + Monotonicitet + Title for KeyGraphFeatures Monotonicity Property + + + Sneda asymptoter + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Paritet + Title for KeyGraphFeatures Parity Property + + + Period + Title for KeyGraphFeatures Periodicity Property + + + Intervall + Title for KeyGraphFeatures Range Property + + + Lodräta asymptoter + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-skärning + Title for KeyGraphFeatures XIntercept Property + + + Y-skärning + Title for KeyGraphFeatures YIntercept Property + + + Det gick inte att göra en analys för funktionen. + + + Kan inte beräkna domänen för den här funktionen. + Error displayed when Domain is not returned from the analyzer. + + + Kan inte beräkna intervallet för den här funktionen. + Error displayed when Range is not returned from the analyzer. + + + Tillbaka + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Tillbaka + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Analysfunktion + This is the tooltip for the analyze function button + + + Analysfunktion + This is the automation name for the analyze function button + + + Analysfunktion + This is the text for the for the analyze function context menu command + + + Ta bort ekvation + This is the tooltip for the graphing calculator remove equation buttons + + + Ta bort ekvation + This is the automation name for the graphing calculator remove equation buttons + + + Ta bort ekvation + This is the text for the for the remove equation context menu command + + + Dela + This is the automation name for the graphing calculator share button. + + + Dela + This is the tooltip for the graphing calculator share button. + + + Ändra ekvationsstil + This is the tooltip for the graphing calculator equation style button + + + Ändra ekvationsstil + This is the automation name for the graphing calculator equation style button + + + Ändra ekvationsstil + This is the text for the for the equation style context menu command + + + Visa ekvationen %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Dölj ekvationen %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Stoppa spårning + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Starta spårning + This is the tooltip/automation name for the graphing calculator start tracing button + + + Diagram visnings fönster, x-axeln som avgränsas av %1 och %2, y-axeln som är bunden av %3 och %4. Visa %5 ekvationer + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Konfigurera skjutreglage + This is the tooltip text for the slider options button in Graphing Calculator + + + Konfigurera skjutreglage + This is the automation name text for the slider options button in Graphing Calculator + + + Växla till ekvationsläge + Used in Graphing Calculator to switch the view to the equation mode + + + Växla till grafläge + Used in Graphing Calculator to switch the view to the graph mode + + + Växla till ekvationsläge + Used in Graphing Calculator to switch the view to the equation mode + + + Aktuellt läge är ekvationsläge + Announcement used in Graphing Calculator when switching to the equation mode + + + Aktuellt läge är grafläge + Announcement used in Graphing Calculator when switching to the graph mode + + + Fönster + Heading for window extents on the settings + + + Grader + Degrees mode on settings page + + + Gon + Gradian mode on settings page + + + Radianer + Radians mode on settings page + + + Enheter + Heading for Unit's on the settings + + + Återställ vy + Hyperlink button to reset the view of the graph + + + X-max + X maximum value header + + + X-min + X minimum value header + + + Y-max + Y Maximum value header + + + Y-min + Y minimum value header + + + Rutnätsalternativ + This is the tooltip text for the grid options button in Graphing Calculator + + + Rutnätsalternativ + This is the automation name text for the grid options button in Graphing Calculator + + + Alternativ för grafer + Heading for the Graph Options flyout in Graphing mode. + + + Ange ett uttryck + this is the placeholder text used by the textbox to enter an equation + + + Kopiera + Copy menu item for the graph context menu + + + Klipp ut + Cut menu item from the Equation TextBox + + + Kopiera + Copy menu item from the Equation TextBox + + + Klistra in + Paste menu item from the Equation TextBox + + + Ångra + Undo menu item from the Equation TextBox + + + Markera allt + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/sw-KE/Resources.resw b/src/Calculator/Resources/sw-KE/Resources.resw index 8fb29b611..71cb1de50 100644 --- a/src/Calculator/Resources/sw-KE/Resources.resw +++ b/src/Calculator/Resources/sw-KE/Resources.resw @@ -859,7 +859,7 @@ Sawa na - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Kitendaji cha Mgeuko @@ -1065,14 +1065,6 @@ Rudi kwenye muonekano kamili Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - - Iweke juu - This is the tool tip automation name for the Always-on-Top button when in normal mode. - - - Rudi kwenye muonekano kamili - This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. - Geuza kutoka %1 %2 Screen reader prompt for the Unit Converter Value1 i.e. top number field. %1 = DisplayValue, %2 = Unit field localized name. @@ -2683,10 +2675,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2699,18 +2687,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -2945,6 +2921,6 @@ Hesabu imeshindikana - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation \ No newline at end of file diff --git a/src/Calculator/Resources/ta-IN/Resources.resw b/src/Calculator/Resources/ta-IN/Resources.resw index 32be280a8..2c0715fea 100644 --- a/src/Calculator/Resources/ta-IN/Resources.resw +++ b/src/Calculator/Resources/ta-IN/Resources.resw @@ -697,9 +697,9 @@ நீக்கு Text string for the Calculator Delete swipe button in the History list - - நகலெடு - Text string for the Calculator Copy option in the History list context menu + + நகலெடு + Text string for the Calculator Copy option in the History list context menu நீக்கு @@ -867,7 +867,7 @@ சமம் - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad இன்வர்ஸ் செயல்பாடு @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - மேலே வை + மேலே வை (Alt+மேல் அம்புக்குறி) This is the tool tip automation name for the Always-on-Top button when in normal mode. - முழுக் காட்சிக்குத் திரும்பு + முழுக் காட்சிக்குத் திரும்பு (Alt+கீழ் அம்புக்குறி) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3062,7 +3046,7 @@ கணக்கிடுதல் தோல்வியடைந்தது - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation மடக்கை தள X @@ -3076,6 +3060,10 @@ செயல்பாடு Displayed on the button that contains a flyout for the general functions in scientific mode. + + அசமம் + Displayed on the button that contains a flyout for the inequality functions. + பிட்வைஸ் Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3252,4 +3240,427 @@ அதிகமான குறிப்பிடத்தக்க பிட் Used to describe the last bit of a binary number. Used in bit flip + + வரைபடம் + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + சமம் + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + வரைவி + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + பார்வையை மீட்டமை (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + காட்சியை மீட்டமை + Screen reader prompt for the reset zoom button. + + + பெரிதாக்கு (Ctrl + கூட்டல் குறி) + This is the tool tip automation name for the Calculator zoom in button. + + + பெரிதாக்கு + Screen reader prompt for the zoom in button. + + + சிறிதாக்கு (Ctrl + கழித்தல் குறி) + This is the tool tip automation name for the Calculator zoom out button. + + + சிறிதாக்கு + Screen reader prompt for the zoom out button. + + + சமன்பாட்டைச் சேர் + Placeholder text for the equation input button + + + தற்போது இதைப் பகிர முடியவில்லை. + If there is an error in the sharing action will display a dialog with this text. + + + சரி + Used on the dismiss button of the share action error dialog. + + + Windows கால்குலேட்டர் மூலம் நான் வரைந்த வரைபடத்தைப் பார்க்கவும் + Sent as part of the shared content. The title for the share. + + + சமன்பாடுகள் + Header that appears over the equations section when sharing + + + மாறிகள் + Header that appears over the variables section when sharing + + + கேள்விகளைக் கொண்ட வரைபடத்தின் படிமம் + Alt text for the graph image when output via Share + + + மாறிகள் + Header text for variables area + + + படி + Label text for the step text box + + + குறைந்தபட்சம் + Label text for the min text box + + + அதிகபட்சம் + Label text for the max text box + + + கோட்டின் வண்ணம் + Label for the Line Color section of the style picker + + + செயல்பட்டுப் பகுப்பாய்வு + Title for KeyGraphFeatures Control + + + செயல்பாட்டில் கிடைமட்ட அணுகுகோடுகள் ஏதுமில்லை. + Message displayed when the graph does not have any horizontal asymptotes + + + செயல்பாட்டில் கோணப் புள்ளிகள் ஏதுமில்லை. + Message displayed when the graph does not have any inflection points + + + செயல்பாட்டில் மீப்பெரு மதிப்பு ஏதுமில்லை. + Message displayed when the graph does not have any maxima + + + செயல்பாட்டில் மீச்சிறு மதிப்பு ஏதுமில்லை. + Message displayed when the graph does not have any minima + + + மாறிலி + String describing constant monotonicity of a function + + + குறைதல் + String describing decreasing monotonicity of a function + + + செயல்பாட்டின் ஓரியல்புச் சார்பைக் கண்டறிய முடியவில்லை. + Error displayed when monotonicity cannot be determined + + + அதிகரித்தல் + String describing increasing monotonicity of a function + + + செயல்பாட்டின் ஓரியல்புச் சார்பு அறியப்படாதது. + Error displayed when monotonicity is unknown + + + செயல்பாட்டில் சாய்ந்த அணுகுகோடுகள் ஏதுமில்லை. + Message displayed when the graph does not have any oblique asymptotes + + + செயல்பாட்டின் சமநிலைச் சார்பைக் கண்டறிய முடியவில்லை. + Error displayed when parity is cannot be determined + + + செயல்பாடு இரட்டைப்படை. + Message displayed with the function parity is even + + + செயல்பாடு இரட்டைப்படையாகவோ அல்லது ஒற்றைப்படையாகவோ இல்லை. + Message displayed with the function parity is neither even nor odd + + + செயல்பாடு ஒற்றைப்படை. + Message displayed with the function parity is odd + + + செயல்பாட்டின் சமநிலைச் சார்பு அறியப்படாதது. + Error displayed when parity is unknown + + + இந்தச் செயல்பாட்டுக்காகக் காலமுறைமை ஆதரிக்கப்படவில்லை. + Error displayed when periodicity is not supported + + + செயல்பாடு காலமுறை சார்ந்ததல்ல. + Message displayed with the function periodicity is not periodic + + + செயல்பாட்டின் காலமுறைமை அறியப்படாதது. + Message displayed with the function periodicity is unknown + + + இந்த அம்சங்கள் மிகவும் சிக்கலாக உள்ளதால் கால்குலேட்டரால் கணக்கிட முடியவில்லை: + Error displayed when analysis features cannot be calculated + + + செயல்பாட்டில் செங்குத்து அணுகுகோடுகள் ஏதுமில்லை. + Message displayed when the graph does not have any vertical asymptotes + + + செயல்பாட்டில் x குறுக்குவெட்டுகள் ஏதுமில்லை. + Message displayed when the graph does not have any x-intercepts + + + செயல்பாட்டில் y குறுக்குவெட்டுகள் ஏதுமில்லை. + Message displayed when the graph does not have any y-intercepts + + + களம் + Title for KeyGraphFeatures Domain Property + + + கிடைமட்ட அணுகுகோடுகள் + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + விலக்கல் புள்ளிகள் + Title for KeyGraphFeatures Inflection Points Property + + + இந்தச் செயல்பாட்டுக்காகப் பகுப்பாய்வு ஆதரிக்கப்படவில்லை. + Error displayed when graph analysis is not supported or had an error. + + + பெருமம் + Title for KeyGraphFeatures Maxima Property + + + சிறுமம் + Title for KeyGraphFeatures Minima Property + + + ஓரியல்பு + Title for KeyGraphFeatures Monotonicity Property + + + சாய்ந்த அணுகுகோடுகள் + Title for KeyGraphFeatures Oblique Asymptotes Property + + + சமநிலை + Title for KeyGraphFeatures Parity Property + + + காலஅளவு + Title for KeyGraphFeatures Periodicity Property + + + வரம்பு + Title for KeyGraphFeatures Range Property + + + செங்குத்து அணுகுகோடுகள் + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X குறுக்குவெட்டு + Title for KeyGraphFeatures XIntercept Property + + + Y குறுக்குவெட்டு + Title for KeyGraphFeatures YIntercept Property + + + செயல்பாட்டுக்கான பகுப்பாய்வைச் செய்ய முடியவில்லை. + + + இந்தச் செயல்பாட்டுக்காகக் களத்தைக் கணக்கிட முடியவில்லை. + Error displayed when Domain is not returned from the analyzer. + + + இந்தச் செயல்பாட்டுக்காக வரம்பைக் கணக்கிட முடியவில்லை. + Error displayed when Range is not returned from the analyzer. + + + பின் + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + பின் + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + செயல்பாட்டைப் பகுப்பாய்வு செய் + This is the tooltip for the analyze function button + + + செயல்பாட்டைப் பகுப்பாய்வு செய் + This is the automation name for the analyze function button + + + செயல்பாட்டைப் பகுப்பாய்வு செய் + This is the text for the for the analyze function context menu command + + + சமன்பாட்டை அகற்று + This is the tooltip for the graphing calculator remove equation buttons + + + சமன்பாட்டை அகற்று + This is the automation name for the graphing calculator remove equation buttons + + + சமன்பாட்டை அகற்று + This is the text for the for the remove equation context menu command + + + பகிர் + This is the automation name for the graphing calculator share button. + + + பகிர் + This is the tooltip for the graphing calculator share button. + + + சமன்பாட்டு நடையை மாற்று + This is the tooltip for the graphing calculator equation style button + + + சமன்பாட்டு நடையை மாற்று + This is the automation name for the graphing calculator equation style button + + + சமன்பாட்டு நடையை மாற்று + This is the text for the for the equation style context menu command + + + சமன்பாடு %1-ஐ காண்பி + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + சமன்பாடு %1-ஐ மறை + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + வரைவதை நிறுத்து + This is the tooltip/automation name for the graphing calculator stop tracing button + + + வரைவதைத் தொடங்கு + This is the tooltip/automation name for the graphing calculator start tracing button + + + கிராஃப் பார்த்தல் சாளரம், %1 மற்றும் %2-இல் x அச்சு பிணைக்கப்பட்டது, %3 மற்றும் %4-இல் y அச்சு பிணைக்கப்பட்டது, %5 சமன்பாடுகளைக் காட்டுகிறது + {Locked="%1","%2", "%3", "%4", "%5"}. + + + ஸ்லைடரை உள்ளமை + This is the tooltip text for the slider options button in Graphing Calculator + + + ஸ்லைடரை உள்ளமை + This is the automation name text for the slider options button in Graphing Calculator + + + சமன்பாட்டு முறைக்கு மாற்று + Used in Graphing Calculator to switch the view to the equation mode + + + வரைபட முறைக்கு மாற்று + Used in Graphing Calculator to switch the view to the graph mode + + + சமன்பாட்டு முறைக்கு மாற்று + Used in Graphing Calculator to switch the view to the equation mode + + + நடப்பு முறை சமன்பாட்டு முறையாகும் + Announcement used in Graphing Calculator when switching to the equation mode + + + நடப்பு முறை வரைபட முறையாகும் + Announcement used in Graphing Calculator when switching to the graph mode + + + சாளரம் + Heading for window extents on the settings + + + டிகிரிகள் + Degrees mode on settings page + + + கிரேடியன்கள் + Gradian mode on settings page + + + ரேடியன்கள் + Radians mode on settings page + + + அலகுகள் + Heading for Unit's on the settings + + + காட்சியை மீட்டமை + Hyperlink button to reset the view of the graph + + + X அதிகபட்சம் + X maximum value header + + + X குறைந்தபட்சம் + X minimum value header + + + Y அதிகபட்சம் + Y Maximum value header + + + Y குறைந்தபட்சம் + Y minimum value header + + + கட்ட விருப்பங்கள் + This is the tooltip text for the grid options button in Graphing Calculator + + + கட்ட விருப்பங்கள் + This is the automation name text for the grid options button in Graphing Calculator + + + வரைபட விருப்பங்கள் + Heading for the Graph Options flyout in Graphing mode. + + + கோவையை உள்ளிடவும் + this is the placeholder text used by the textbox to enter an equation + + + நகலெடு + Copy menu item for the graph context menu + + + வெட்டு + Cut menu item from the Equation TextBox + + + நகலெடு + Copy menu item from the Equation TextBox + + + ஒட்டு + Paste menu item from the Equation TextBox + + + செயல்தவிர் + Undo menu item from the Equation TextBox + + + எல்லாம் தேர்ந்தெடு + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/te-IN/Resources.resw b/src/Calculator/Resources/te-IN/Resources.resw index 95a1b92f2..99ba9bd9a 100644 --- a/src/Calculator/Resources/te-IN/Resources.resw +++ b/src/Calculator/Resources/te-IN/Resources.resw @@ -697,9 +697,9 @@ తొలగించు Text string for the Calculator Delete swipe button in the History list - - కాపీ చేయి - Text string for the Calculator Copy option in the History list context menu + + కాపీ చేయి + Text string for the Calculator Copy option in the History list context menu తొలగించు @@ -867,7 +867,7 @@ సమానం - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad విలోమ కార్యం @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - పైన ఉంచండి + పైన ఉంచండి (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - పూర్తి వీక్షణకు తిరిగి వెళ్ళు + పూర్తి వీక్షణకు తిరిగి వెళ్ళు (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ గణన విఫలమైంది - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation లాగ్ బేస్ X. @@ -3075,6 +3059,10 @@ ఫంక్షన్ Displayed on the button that contains a flyout for the general functions in scientific mode. + + అసమానతలు + Displayed on the button that contains a flyout for the inequality functions. + బిట్ పద్ధతి Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ ఎక్కువ ప్రాముఖ్యత ఉన్న బిట్ Used to describe the last bit of a binary number. Used in bit flip + + గ్రాఫింగ్ + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + సమానం + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + ప్లాట్ + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + వీక్షణను రీసెట్ చేయండి (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + రీసెట్ వీక్షణ + Screen reader prompt for the reset zoom button. + + + జూమ్ ఇన్ (Ctrl + ప్లస్) + This is the tool tip automation name for the Calculator zoom in button. + + + జూమ్ ఇన్ + Screen reader prompt for the zoom in button. + + + జూమ్ అవుట్ (Ctrl + మైనస్) + This is the tool tip automation name for the Calculator zoom out button. + + + జూమ్ అవుట్ + Screen reader prompt for the zoom out button. + + + సమీకరణ జోడించండి + Placeholder text for the equation input button + + + ఈ సమయంలో పంచుకోవడం కుదరడం లేదు. + If there is an error in the sharing action will display a dialog with this text. + + + సరే + Used on the dismiss button of the share action error dialog. + + + నేను Windows కాలిక్యులేటర్‌తో ఏమి గ్రాఫ్ చేసానో చూడండి + Sent as part of the shared content. The title for the share. + + + సమీకరణలు + Header that appears over the equations section when sharing + + + వెరియబుల్స్ + Header that appears over the variables section when sharing + + + సమీకరణలతో ఒక గ్రాఫ్ చిత్రం + Alt text for the graph image when output via Share + + + వెరియబుల్స్ + Header text for variables area + + + దశ + Label text for the step text box + + + కనిష్టం + Label text for the min text box + + + గరిష్టం + Label text for the max text box + + + గీత రంగు + Label for the Line Color section of the style picker + + + ఫంక్షన్‌ విశ్లేషణ + Title for KeyGraphFeatures Control + + + ఈ ఫంక్షన్ కోసం ఎటువంటి క్షితిజ అసీమపథములు లేవు. + Message displayed when the graph does not have any horizontal asymptotes + + + ఈ ఫంక్షన్ కోసం ఎటువంటి పదనిష్పత్తి బిందువులు లేవు. + Message displayed when the graph does not have any inflection points + + + ఈ ఫంక్షన్ కోసం ఎటువంటి గరిష్ట బిందువులు లేవు. + Message displayed when the graph does not have any maxima + + + ఈ ఫంక్షన్ కోసం ఎటువంటి కనిష్ట బిందువులు లేవు. + Message displayed when the graph does not have any minima + + + స్థిరమైన + String describing constant monotonicity of a function + + + తగ్గుదల + String describing decreasing monotonicity of a function + + + ఈ ఫంక్షన్ యొక్క ఏకరీతిని నిర్ధారించలేకపోతున్నాము. + Error displayed when monotonicity cannot be determined + + + పెరుగుదల + String describing increasing monotonicity of a function + + + ఈ ఫంక్షన్ యొక్క ఏకరీతి అనామకం. + Error displayed when monotonicity is unknown + + + ఈ ఫంక్షన్‌కి ఎటువంటి తిర్యక అసీమపథములు లేవు. + Message displayed when the graph does not have any oblique asymptotes + + + ఈ ఫంక్షన్ యొక్క సమార్హత నిర్ధారించలేకపోతున్నాము. + Error displayed when parity is cannot be determined + + + ఈ ఫంక్షన్ సమానమైనది. + Message displayed with the function parity is even + + + ఈ ఫంక్షన్ సమానమైనది కాదు బేసి కాదు. + Message displayed with the function parity is neither even nor odd + + + ఈ ఫంక్షన్ బేసి. + Message displayed with the function parity is odd + + + ఈ ఫంక్షన్ యొక్క సమార్హత అనామకం. + Error displayed when parity is unknown + + + ఈ ఫంక్షన్ కోసం ఆవర్తనానికి మద్దతు లేదు. + Error displayed when periodicity is not supported + + + ఈ ఫంక్షన్ ఆవర్తనం కాదు. + Message displayed with the function periodicity is not periodic + + + ఈ ఫంక్షన్ ఆవర్తనం అనామకం. + Message displayed with the function periodicity is unknown + + + కాలిక్యులేటర్ లెక్కించడానికి ఈ ఫీచర్స్ చాలా క్లిష్ఠంగా ఉన్నాయి: + Error displayed when analysis features cannot be calculated + + + ఈ ఫంక్షన్ కోసం ఎటువంటి క్షితిజలంబ అసీమపథములు లేవు. + Message displayed when the graph does not have any vertical asymptotes + + + ఈ ఫంక్షన్ కోసం ఎటువంటి x-అంతర్వర్తినులు లేవు + Message displayed when the graph does not have any x-intercepts + + + ఈ ఫంక్షన్ కోసం ఎటువంటి y-అంతర్వర్తినులు లేవు + Message displayed when the graph does not have any y-intercepts + + + డొమేయిన్ + Title for KeyGraphFeatures Domain Property + + + క్షితిజ అసీమపథములు + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + పదనిష్పత్తి బిందువులు + Title for KeyGraphFeatures Inflection Points Property + + + ఈ ఫంక్షన్ కోసం విశ్లేషణకు మద్దతు లేదు. + Error displayed when graph analysis is not supported or had an error. + + + గరిష్ట + Title for KeyGraphFeatures Maxima Property + + + కనిష్ట + Title for KeyGraphFeatures Minima Property + + + ఏకరీతి + Title for KeyGraphFeatures Monotonicity Property + + + వాలుగా ఉన్న అసీమపథములు + Title for KeyGraphFeatures Oblique Asymptotes Property + + + సమార్హత + Title for KeyGraphFeatures Parity Property + + + వ్యవధి + Title for KeyGraphFeatures Periodicity Property + + + పరిథి + Title for KeyGraphFeatures Range Property + + + లంబ అసీమపథములు + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X-అంతర్వర్తిని + Title for KeyGraphFeatures XIntercept Property + + + Y-అంతర్వర్తిని + Title for KeyGraphFeatures YIntercept Property + + + ఫంక్షన్ కోసం విశ్లేషణ చేయలేము. + + + ఈ ఫంక్షన్ కోసం డొమెయిన్‌ని లెక్కించలేము. + Error displayed when Domain is not returned from the analyzer. + + + ఈ ఫంక్షన్ కోసం పరిథిని లెక్కించలేము. + Error displayed when Range is not returned from the analyzer. + + + వెనుకకు + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + వెనుకకు + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + ఫంక్షన్‌ను విశ్లేషించండి + This is the tooltip for the analyze function button + + + ఫంక్షన్‌ను విశ్లేషించండి + This is the automation name for the analyze function button + + + ఫంక్షన్‌ను విశ్లేషించండి + This is the text for the for the analyze function context menu command + + + సమికరణ తీసేయండి + This is the tooltip for the graphing calculator remove equation buttons + + + సమికరణ తీసేయండి + This is the automation name for the graphing calculator remove equation buttons + + + సమికరణ తీసేయండి + This is the text for the for the remove equation context menu command + + + భాగస్వామ్యం చేయి + This is the automation name for the graphing calculator share button. + + + భాగస్వామ్యం చేయి + This is the tooltip for the graphing calculator share button. + + + సమీకరణ శైలిని మార్చండి + This is the tooltip for the graphing calculator equation style button + + + సమీకరణ శైలిని మార్చండి + This is the automation name for the graphing calculator equation style button + + + సమీకరణ శైలిని మార్చండి + This is the text for the for the equation style context menu command + + + సమికరణ %1 చూపు + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + సమికరణ %1 దాచు + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + ట్రెస్ చేయడం ఆపండి + This is the tooltip/automation name for the graphing calculator stop tracing button + + + ట్రెస్ ప్రారంభించండి + This is the tooltip/automation name for the graphing calculator start tracing button + + + గ్రాఫ్ వీక్షణ విండో, %1 మరియు %2 లు సరిహద్దులుగా x-అక్షం ఉంది, %3 మరియు %4 లు సరిహద్దులుగా y-అక్షం ఉంది, %5 సమీకరణాలను ప్రదర్శిస్తుంది + {Locked="%1","%2", "%3", "%4", "%5"}. + + + స్లైడర్‌ని కాంఫిగర్ చేయండి + This is the tooltip text for the slider options button in Graphing Calculator + + + స్లైడర్‌ని కాంఫిగర్ చేయండి + This is the automation name text for the slider options button in Graphing Calculator + + + సమీకరణం మోడ్‌కు మారండి + Used in Graphing Calculator to switch the view to the equation mode + + + గ్రాఫ్ మోడ్‌కు మారండి + Used in Graphing Calculator to switch the view to the graph mode + + + సమీకరణ మోడ్‌కు మారండి + Used in Graphing Calculator to switch the view to the equation mode + + + ప్రస్తుత మోడ్ సమీకరణ మోడ్ + Announcement used in Graphing Calculator when switching to the equation mode + + + ప్రస్తుత మోడ్ గ్రాఫ్ మోడ్ + Announcement used in Graphing Calculator when switching to the graph mode + + + విండో + Heading for window extents on the settings + + + డిగ్రీలు + Degrees mode on settings page + + + గ్రేడియన్‌లు + Gradian mode on settings page + + + రేడియన్‌లు + Radians mode on settings page + + + యూనిట్‌లు + Heading for Unit's on the settings + + + వీక్షణను రీసెట్ చేయి + Hyperlink button to reset the view of the graph + + + X-గరిష్ఠ + X maximum value header + + + X-కనిష్ఠ + X minimum value header + + + Y-గరిష్ఠ + Y Maximum value header + + + Y-కనిష్ఠ + Y minimum value header + + + గ్రిడ్ ఐఛ్ఛికాలు + This is the tooltip text for the grid options button in Graphing Calculator + + + గ్రిడ్ ఐఛ్ఛికాలు + This is the automation name text for the grid options button in Graphing Calculator + + + గ్రాఫ్ ఐఛ్చికాలు + Heading for the Graph Options flyout in Graphing mode. + + + సూత్రీకరణను నమోదు చేయండి + this is the placeholder text used by the textbox to enter an equation + + + కాపీ చేయి + Copy menu item for the graph context menu + + + కత్తిరించు + Cut menu item from the Equation TextBox + + + కాపీ చేయి + Copy menu item from the Equation TextBox + + + అతికించు + Paste menu item from the Equation TextBox + + + చర్య రద్దు చేయి + Undo menu item from the Equation TextBox + + + అన్నింటినీ ఎంచుకోండి + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/th-TH/Resources.resw b/src/Calculator/Resources/th-TH/Resources.resw index 6d0f48896..7aba8a91f 100644 --- a/src/Calculator/Resources/th-TH/Resources.resw +++ b/src/Calculator/Resources/th-TH/Resources.resw @@ -697,9 +697,9 @@ ลบ Text string for the Calculator Delete swipe button in the History list - - คัดลอก - Text string for the Calculator Copy option in the History list context menu + + คัดลอก + Text string for the Calculator Copy option in the History list context menu ลบ @@ -867,7 +867,7 @@ เท่ากับ - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad ฟังก์ชันผกผัน @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - อยู่ด้านบนเสมอ + อยู่ด้านบนเสมอ (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - กลับไปยังมุมมองแบบเต็ม + กลับไปยังมุมมองแบบเต็ม (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ ไม่สามารถคำนวณได้ - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation ล็อก X ฐาน @@ -3075,6 +3059,10 @@ ฟังก์ชัน Displayed on the button that contains a flyout for the general functions in scientific mode. + + อสมการ + Displayed on the button that contains a flyout for the inequality functions. + แบบบิต Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ บิตที่สำคัญมากที่สุด Used to describe the last bit of a binary number. Used in bit flip + + การสร้างกราฟ + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + เท่ากับ + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + ลงจุด + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + รีเซ็ตมุมมอง (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + รีเซ็ตมุมมอง + Screen reader prompt for the reset zoom button. + + + ซูมเข้า (Ctrl + เครื่องหมายบวก) + This is the tool tip automation name for the Calculator zoom in button. + + + ซูมเข้า + Screen reader prompt for the zoom in button. + + + ซูมออก (Ctrl + เครื่องหมายลบ) + This is the tool tip automation name for the Calculator zoom out button. + + + ซูมออก + Screen reader prompt for the zoom out button. + + + เพิ่มสมการ + Placeholder text for the equation input button + + + ไม่สามารถแชร์ได้ในเวลานี้ + If there is an error in the sharing action will display a dialog with this text. + + + ตกลง + Used on the dismiss button of the share action error dialog. + + + ดูสิ่งที่ฉันได้เขียนกราฟโดยใช้ 'เครื่องคิดเลขของ Windows' + Sent as part of the shared content. The title for the share. + + + สมการ + Header that appears over the equations section when sharing + + + ตัวแปร + Header that appears over the variables section when sharing + + + รูปกราฟที่มีสมการ + Alt text for the graph image when output via Share + + + ตัวแปร + Header text for variables area + + + ขั้นตอน + Label text for the step text box + + + ต่ำสุด + Label text for the min text box + + + สูงสุด + Label text for the max text box + + + สีเส้น + Label for the Line Color section of the style picker + + + การวิเคราะห์ฟังก์ชัน + Title for KeyGraphFeatures Control + + + ฟังก์ชันไม่มีเส้นกำกับแนวนอน + Message displayed when the graph does not have any horizontal asymptotes + + + ฟังก์ชันไม่มีจุดเปลี่ยนเว้า + Message displayed when the graph does not have any inflection points + + + ฟังก์ชันไม่มีจุดสูงสุด + Message displayed when the graph does not have any maxima + + + ฟังก์ชันไม่มีจุดต่ำสุด + Message displayed when the graph does not have any minima + + + ค่าคงที่ + String describing constant monotonicity of a function + + + ลดลง + String describing decreasing monotonicity of a function + + + ไม่สามารถระบุภาวะทางเดียวของฟังก์ชันได้ + Error displayed when monotonicity cannot be determined + + + เพิ่มขึ้น + String describing increasing monotonicity of a function + + + ไม่รู้จักภาวะทางเดียวของฟังก์ชัน + Error displayed when monotonicity is unknown + + + ฟังก์ชันไม่มีเส้นกำกับแนวเฉียง + Message displayed when the graph does not have any oblique asymptotes + + + ไม่สามารถกำหนดพาริตี้ของฟังก์ชันได้ + Error displayed when parity is cannot be determined + + + ฟังก์ชันเป็นเลขคู่ + Message displayed with the function parity is even + + + ฟังก์ชันไม่ใช่เลขคู่และไม่ใช่เลขคี่ + Message displayed with the function parity is neither even nor odd + + + ฟังก์ชันเป็นเลขคี่ + Message displayed with the function parity is odd + + + ไม่รู้จักพาริตี้ของฟังก์ชัน + Error displayed when parity is unknown + + + ไม่รองรับภาวะเป็นคาบสำหรับฟังก์ชันนี้ + Error displayed when periodicity is not supported + + + ไม่ใช่ฟังก์ชันเป็นคาบ + Message displayed with the function periodicity is not periodic + + + ไม่รู้จักภาวะเป็นคาบของฟังก์ชัน + Message displayed with the function periodicity is unknown + + + คุณลักษณะเหล่านี้ซับซ้อนเกินกว่าที่ เครื่องคิดเลข จะคำนวณได้: + Error displayed when analysis features cannot be calculated + + + ฟังก์ชันไม่มีเส้นกำกับแนวตั้ง + Message displayed when the graph does not have any vertical asymptotes + + + ฟังก์ชันไม่มีระยะตัดแกน X + Message displayed when the graph does not have any x-intercepts + + + ฟังก์ชันไม่มีระยะตัดแกน Y + Message displayed when the graph does not have any y-intercepts + + + โดเมน + Title for KeyGraphFeatures Domain Property + + + เส้นกำกับแนวนอน + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + จุดเปลี่ยนเว้า + Title for KeyGraphFeatures Inflection Points Property + + + ไม่รองรับการวิเคราะห์สำหรับฟังก์ชันนี้ + Error displayed when graph analysis is not supported or had an error. + + + สูงสุด + Title for KeyGraphFeatures Maxima Property + + + ต่ำสุด + Title for KeyGraphFeatures Minima Property + + + ภาวะทางเดียว + Title for KeyGraphFeatures Monotonicity Property + + + เส้นกำกับแนวเฉียง + Title for KeyGraphFeatures Oblique Asymptotes Property + + + พาริตี้ + Title for KeyGraphFeatures Parity Property + + + คาบ + Title for KeyGraphFeatures Periodicity Property + + + พิสัย + Title for KeyGraphFeatures Range Property + + + เส้นกำกับแนวตั้ง + Title for KeyGraphFeatures Vertical Asymptotes Property + + + ระยะตัดแกน X + Title for KeyGraphFeatures XIntercept Property + + + ระยะตัดแกน Y + Title for KeyGraphFeatures YIntercept Property + + + ไม่สามารถดำเนินการวิเคราะห์สำหรับฟังก์ชันได้ + + + ไม่สามารถคำนวณโดเมนสำหรับฟังก์ชันนี้ได้ + Error displayed when Domain is not returned from the analyzer. + + + ไม่สามารถคำนวณพิสัยสำหรับฟังก์ชันนี้ได้ + Error displayed when Range is not returned from the analyzer. + + + ย้อนกลับ + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + ย้อนกลับ + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + วิเคราะห์ฟังก์ชัน + This is the tooltip for the analyze function button + + + วิเคราะห์ฟังก์ชัน + This is the automation name for the analyze function button + + + วิเคราะห์ฟังก์ชัน + This is the text for the for the analyze function context menu command + + + ลบสมการออก + This is the tooltip for the graphing calculator remove equation buttons + + + ลบสมการออก + This is the automation name for the graphing calculator remove equation buttons + + + ลบสมการออก + This is the text for the for the remove equation context menu command + + + แชร์ + This is the automation name for the graphing calculator share button. + + + แชร์ + This is the tooltip for the graphing calculator share button. + + + เปลี่ยนรูปแบบสมการ + This is the tooltip for the graphing calculator equation style button + + + เปลี่ยนรูปแบบสมการ + This is the automation name for the graphing calculator equation style button + + + เปลี่ยนรูปแบบสมการ + This is the text for the for the equation style context menu command + + + แสดงสมการ %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + ซ่อนสมการ %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + หยุดติดตาม + This is the tooltip/automation name for the graphing calculator stop tracing button + + + เริ่มติดตาม + This is the tooltip/automation name for the graphing calculator start tracing button + + + หน้าต่างการดูกราฟ, แกน x bounded โดย %1 และ %2, แกน y bounded ตาม %3 และ %4 การแสดงสมการ %5 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + กำหนดค่าแถบเลื่อน + This is the tooltip text for the slider options button in Graphing Calculator + + + กำหนดค่าแถบเลื่อน + This is the automation name text for the slider options button in Graphing Calculator + + + สลับเป็นโหมดสมการ + Used in Graphing Calculator to switch the view to the equation mode + + + สลับเป็นโหมดกราฟ + Used in Graphing Calculator to switch the view to the graph mode + + + สลับเป็นโหมดสมการ + Used in Graphing Calculator to switch the view to the equation mode + + + โหมดปัจจุบันเป็นโหมดสมการ + Announcement used in Graphing Calculator when switching to the equation mode + + + โหมดปัจจุบันเป็นโหมดกราฟ + Announcement used in Graphing Calculator when switching to the graph mode + + + หน้าต่าง + Heading for window extents on the settings + + + องศา + Degrees mode on settings page + + + เกรเดียน + Gradian mode on settings page + + + เรเดียน + Radians mode on settings page + + + หน่วย + Heading for Unit's on the settings + + + รีเซ็ตมุมมอง + Hyperlink button to reset the view of the graph + + + ค่าสูงสุดของ X + X maximum value header + + + ค่าต่ำสุดของ X + X minimum value header + + + ค่าสูงสุดของ Y + Y Maximum value header + + + ค่าต่ำสุดของ Y + Y minimum value header + + + ตัวเลือกเส้นตาราง + This is the tooltip text for the grid options button in Graphing Calculator + + + ตัวเลือกเส้นตาราง + This is the automation name text for the grid options button in Graphing Calculator + + + ตัวเลือกกราฟ + Heading for the Graph Options flyout in Graphing mode. + + + ใส่นิพจน์ + this is the placeholder text used by the textbox to enter an equation + + + คัดลอก + Copy menu item for the graph context menu + + + ตัด + Cut menu item from the Equation TextBox + + + คัดลอก + Copy menu item from the Equation TextBox + + + วาง + Paste menu item from the Equation TextBox + + + เลิกทำ + Undo menu item from the Equation TextBox + + + เลือกทั้งหมด + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/tr-TR/Resources.resw b/src/Calculator/Resources/tr-TR/Resources.resw index 5fba68eaf..55532bd5f 100644 --- a/src/Calculator/Resources/tr-TR/Resources.resw +++ b/src/Calculator/Resources/tr-TR/Resources.resw @@ -697,9 +697,9 @@ Sil Text string for the Calculator Delete swipe button in the History list - - Kopyala - Text string for the Calculator Copy option in the History list context menu + + Kopyala + Text string for the Calculator Copy option in the History list context menu Sil @@ -867,7 +867,7 @@ Eşittir - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Ters İşlev @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Üstte tut + Üstte tut (Alt+Yukarı) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Tam görünüme geri dön + Tam görünüme geri dön (Alt+Aşağı) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2692,10 +2692,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2708,18 +2704,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3062,7 +3046,7 @@ Hesaplama başarısız oldu - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Logaritma tabanı X @@ -3076,6 +3060,10 @@ İşlev Displayed on the button that contains a flyout for the general functions in scientific mode. + + Eşitsizlikler + Displayed on the button that contains a flyout for the inequality functions. + Bit düzeyinde Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3252,4 +3240,427 @@ en önemli bit Used to describe the last bit of a binary number. Used in bit flip + + Grafik Oluşturma + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Eşittir + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Çizim + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Görünümü Sıfırla (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Görünümü Sıfırla + Screen reader prompt for the reset zoom button. + + + Yakınlaştır (Ctrl + artı) + This is the tool tip automation name for the Calculator zoom in button. + + + Yakınlaştır + Screen reader prompt for the zoom in button. + + + Uzaklaştır (Ctrl + eksi) + This is the tool tip automation name for the Calculator zoom out button. + + + Uzaklaştır + Screen reader prompt for the zoom out button. + + + Denklem Ekle + Placeholder text for the equation input button + + + Şu anda paylaşılamıyor. + If there is an error in the sharing action will display a dialog with this text. + + + Tamam + Used on the dismiss button of the share action error dialog. + + + Windows Hesap Makinesi ile neyin grafiğini çizdiğime bakın + Sent as part of the shared content. The title for the share. + + + Denklemler + Header that appears over the equations section when sharing + + + Değişkenler + Header that appears over the variables section when sharing + + + Denklemli bir grafik resmi + Alt text for the graph image when output via Share + + + Değişkenler + Header text for variables area + + + Adım + Label text for the step text box + + + En az + Label text for the min text box + + + En fazla + Label text for the max text box + + + Çizgi Rengi + Label for the Line Color section of the style picker + + + İşlev çözümlemesi + Title for KeyGraphFeatures Control + + + İşlevde yatay asimptot yok. + Message displayed when the graph does not have any horizontal asymptotes + + + İşlevde çekim noktası yok. + Message displayed when the graph does not have any inflection points + + + İşlevde maksimum noktası yok. + Message displayed when the graph does not have any maxima + + + İşlevde minimum noktası yok. + Message displayed when the graph does not have any minima + + + Sabit + String describing constant monotonicity of a function + + + Azalan + String describing decreasing monotonicity of a function + + + İşlevin monotonluğu belirlenemiyor. + Error displayed when monotonicity cannot be determined + + + Artan + String describing increasing monotonicity of a function + + + İşlevin monotonluğu bilinmiyor. + Error displayed when monotonicity is unknown + + + İşlevde eğik asimptot yok. + Message displayed when the graph does not have any oblique asymptotes + + + İşlevin eşliği belirlenemiyor. + Error displayed when parity is cannot be determined + + + İşlev çift. + Message displayed with the function parity is even + + + İşlev çift veya tek değil. + Message displayed with the function parity is neither even nor odd + + + İşlev tek. + Message displayed with the function parity is odd + + + İşlev eşliği bilinmiyor. + Error displayed when parity is unknown + + + Dönemsellik bu işlev için desteklenmiyor. + Error displayed when periodicity is not supported + + + İşlev dönemsel değil. + Message displayed with the function periodicity is not periodic + + + İşlev dönemselliği bilinmiyor. + Message displayed with the function periodicity is unknown + + + Bu özellikler, Hesap Makinesi'nin hesaplayamayacağı kadar çok karmaşık: + Error displayed when analysis features cannot be calculated + + + İşlevde dikey asimptot yok. + Message displayed when the graph does not have any vertical asymptotes + + + İşlevde x kesişim noktası yok. + Message displayed when the graph does not have any x-intercepts + + + İşlevde y kesişim noktası yok. + Message displayed when the graph does not have any y-intercepts + + + Etki alanı + Title for KeyGraphFeatures Domain Property + + + Yatay Asimptotlar + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Çekim Noktaları + Title for KeyGraphFeatures Inflection Points Property + + + Bu işlev için çözümleme desteklenmiyor. + Error displayed when graph analysis is not supported or had an error. + + + Maksimum + Title for KeyGraphFeatures Maxima Property + + + Minimum + Title for KeyGraphFeatures Minima Property + + + Monotonluk + Title for KeyGraphFeatures Monotonicity Property + + + Eğik Asimptotlar + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Eşlik + Title for KeyGraphFeatures Parity Property + + + Süre + Title for KeyGraphFeatures Periodicity Property + + + Aralık + Title for KeyGraphFeatures Range Property + + + Dikey Asimptotlar + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X Kesişim Noktası + Title for KeyGraphFeatures XIntercept Property + + + Y Kesişim Noktası + Title for KeyGraphFeatures YIntercept Property + + + İşlev için çözümleme gerçekleştirilemedi. + + + Bu işlev için etki alanı hesaplanamıyor. + Error displayed when Domain is not returned from the analyzer. + + + Bu işlevin aralığı hesaplanamıyor. + Error displayed when Range is not returned from the analyzer. + + + Geri + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Geri + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + İşlevi çözümle + This is the tooltip for the analyze function button + + + İşlevi çözümle + This is the automation name for the analyze function button + + + İşlevi çözümle + This is the text for the for the analyze function context menu command + + + Denklemi kaldır + This is the tooltip for the graphing calculator remove equation buttons + + + Denklemi kaldır + This is the automation name for the graphing calculator remove equation buttons + + + Denklemi kaldır + This is the text for the for the remove equation context menu command + + + Paylaş + This is the automation name for the graphing calculator share button. + + + Paylaş + This is the tooltip for the graphing calculator share button. + + + Denklem stilini değiştir + This is the tooltip for the graphing calculator equation style button + + + Denklem stilini değiştir + This is the automation name for the graphing calculator equation style button + + + Denklem stilini değiştir + This is the text for the for the equation style context menu command + + + %1 denklemini göster + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + %1 denklemini gizle + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + İzlemeyi durdur + This is the tooltip/automation name for the graphing calculator stop tracing button + + + İzlemeyi başlat + This is the tooltip/automation name for the graphing calculator start tracing button + + + Grafik görüntüleme penceresi, %1 ve %2 ile sınırlanan x ekseni, y ekseni %3 ve %4 ile sınırlı, %5 denklemleri görüntüleme + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Kaydırıcıyı yapılandır + This is the tooltip text for the slider options button in Graphing Calculator + + + Kaydırıcıyı yapılandır + This is the automation name text for the slider options button in Graphing Calculator + + + Denklem moduna geçiş yap + Used in Graphing Calculator to switch the view to the equation mode + + + Grafik moduna geçiş yap + Used in Graphing Calculator to switch the view to the graph mode + + + Denklem moduna geçiş yap + Used in Graphing Calculator to switch the view to the equation mode + + + Geçerli mod denklem modudur + Announcement used in Graphing Calculator when switching to the equation mode + + + Geçerli mod grafik modudur + Announcement used in Graphing Calculator when switching to the graph mode + + + Pencere + Heading for window extents on the settings + + + Derece + Degrees mode on settings page + + + Gradyan + Gradian mode on settings page + + + Radyan + Radians mode on settings page + + + Birimler + Heading for Unit's on the settings + + + Görünümü sıfırla + Hyperlink button to reset the view of the graph + + + X Maksimum + X maximum value header + + + X Minimum + X minimum value header + + + Y Maksimum + Y Maximum value header + + + Y Minimum + Y minimum value header + + + Kılavuz seçenekleri + This is the tooltip text for the grid options button in Graphing Calculator + + + Kılavuz seçenekleri + This is the automation name text for the grid options button in Graphing Calculator + + + Grafik Seçenekleri + Heading for the Graph Options flyout in Graphing mode. + + + Bir ifade girin + this is the placeholder text used by the textbox to enter an equation + + + Kopyala + Copy menu item for the graph context menu + + + Kes + Cut menu item from the Equation TextBox + + + Kopyala + Copy menu item from the Equation TextBox + + + Yapıştır + Paste menu item from the Equation TextBox + + + Geri Al + Undo menu item from the Equation TextBox + + + Tümünü Seç + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/uk-UA/Resources.resw b/src/Calculator/Resources/uk-UA/Resources.resw index 26dca74c7..2740bfb74 100644 --- a/src/Calculator/Resources/uk-UA/Resources.resw +++ b/src/Calculator/Resources/uk-UA/Resources.resw @@ -697,9 +697,9 @@ Видалити Text string for the Calculator Delete swipe button in the History list - - Копіювати - Text string for the Calculator Copy option in the History list context menu + + Копіювати + Text string for the Calculator Copy option in the History list context menu Видалити @@ -867,7 +867,7 @@ Дорівнює - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Обернена функція @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Залишити зверху + Залишати зверху (Alt + стрілка вгору) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Повернутися до повного подання + Повернутися до повного подання (Alt + стрілка вниз) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Помилка обчислення - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Логарифм за основою X @@ -3075,6 +3059,10 @@ Функція Displayed on the button that contains a flyout for the general functions in scientific mode. + + Нерівності + Displayed on the button that contains a flyout for the inequality functions. + Побітовий Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ найстарший біт Used to describe the last bit of a binary number. Used in bit flip + + Побудова графіків + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Дорівнює + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Побудувати + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Скинути подання (Ctrl+0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Скинути подання + Screen reader prompt for the reset zoom button. + + + Збільшити (Ctrl + "+") + This is the tool tip automation name for the Calculator zoom in button. + + + Збільшити + Screen reader prompt for the zoom in button. + + + Зменшити (Ctrl + "–") + This is the tool tip automation name for the Calculator zoom out button. + + + Зменшити + Screen reader prompt for the zoom out button. + + + Додати рівняння + Placeholder text for the equation input button + + + Не вдалося поділитися зараз. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Подивіться, що я створив за допомогою Калькулятора Windows + Sent as part of the shared content. The title for the share. + + + Рівняння + Header that appears over the equations section when sharing + + + Змінні + Header that appears over the variables section when sharing + + + Зображення графа з рівняннями + Alt text for the graph image when output via Share + + + Змінні + Header text for variables area + + + Крок + Label text for the step text box + + + Мін. + Label text for the min text box + + + Макс. + Label text for the max text box + + + Колір лінії + Label for the Line Color section of the style picker + + + Аналіз функції + Title for KeyGraphFeatures Control + + + Функція не має горизонтальних асимптот. + Message displayed when the graph does not have any horizontal asymptotes + + + Функція не має точок перегину. + Message displayed when the graph does not have any inflection points + + + Функція не має точок максимуму. + Message displayed when the graph does not have any maxima + + + Функція не має точок мінімуму. + Message displayed when the graph does not have any minima + + + Постійна + String describing constant monotonicity of a function + + + Зменшується + String describing decreasing monotonicity of a function + + + Не вдалося визначити монотонність функції. + Error displayed when monotonicity cannot be determined + + + Збільшується + String describing increasing monotonicity of a function + + + Монотонність функції невідома. + Error displayed when monotonicity is unknown + + + У функції немає похилих асимптот. + Message displayed when the graph does not have any oblique asymptotes + + + Не вдалося визначити парність функції. + Error displayed when parity is cannot be determined + + + Функція парна. + Message displayed with the function parity is even + + + Функція не є ні парною, ані непарною. + Message displayed with the function parity is neither even nor odd + + + Функція непарна. + Message displayed with the function parity is odd + + + Парність функції невідома. + Error displayed when parity is unknown + + + Періодичність не підтримується для цієї функції. + Error displayed when periodicity is not supported + + + Функція не є періодичною. + Message displayed with the function periodicity is not periodic + + + Періодичність функції невідома. + Message displayed with the function periodicity is unknown + + + Ці функції занадто складні для обчислення за допомогою Калькулятора: + Error displayed when analysis features cannot be calculated + + + Функція не має вертикальних асимптот. + Message displayed when the graph does not have any vertical asymptotes + + + У функції немає перетинів з віссю X. + Message displayed when the graph does not have any x-intercepts + + + У функції немає перетинів з віссю Y. + Message displayed when the graph does not have any y-intercepts + + + Домен + Title for KeyGraphFeatures Domain Property + + + Горизонтальні асимптоти + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Точки перегину + Title for KeyGraphFeatures Inflection Points Property + + + Для цієї функції аналіз не підтримується. + Error displayed when graph analysis is not supported or had an error. + + + Максимум + Title for KeyGraphFeatures Maxima Property + + + Мінімум + Title for KeyGraphFeatures Minima Property + + + Монотонність + Title for KeyGraphFeatures Monotonicity Property + + + Похилі асимптоти + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Парність + Title for KeyGraphFeatures Parity Property + + + Період + Title for KeyGraphFeatures Periodicity Property + + + Діапазон + Title for KeyGraphFeatures Range Property + + + Вертикальні асимптоти + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Перетин з віссю X + Title for KeyGraphFeatures XIntercept Property + + + Перетин з віссю Y + Title for KeyGraphFeatures YIntercept Property + + + Не вдалося виконати аналіз функції. + + + Не вдалося обчислити домен для цієї функції. + Error displayed when Domain is not returned from the analyzer. + + + Не вдалося обчислити діапазон для цієї функції. + Error displayed when Range is not returned from the analyzer. + + + Назад + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Назад + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Аналізувати функцію + This is the tooltip for the analyze function button + + + Аналізувати функцію + This is the automation name for the analyze function button + + + Аналізувати функцію + This is the text for the for the analyze function context menu command + + + Видалити рівняння + This is the tooltip for the graphing calculator remove equation buttons + + + Видалити рівняння + This is the automation name for the graphing calculator remove equation buttons + + + Видалити рівняння + This is the text for the for the remove equation context menu command + + + Надіслати + This is the automation name for the graphing calculator share button. + + + Надати спільний доступ + This is the tooltip for the graphing calculator share button. + + + Змінити стиль рівняння + This is the tooltip for the graphing calculator equation style button + + + Змінити стиль рівняння + This is the automation name for the graphing calculator equation style button + + + Змінити стиль рівняння + This is the text for the for the equation style context menu command + + + Показати рівняння %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Приховати рівняння %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Зупинити трасування + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Почати трасування + This is the tooltip/automation name for the graphing calculator start tracing button + + + Вікно перегляду графа, пустими осі x, а %2 також %1, пустими, %3 і %4, відображення %5 формул + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Налаштувати повзунок + This is the tooltip text for the slider options button in Graphing Calculator + + + Налаштувати повзунок + This is the automation name text for the slider options button in Graphing Calculator + + + Переключитися в режим рівняння + Used in Graphing Calculator to switch the view to the equation mode + + + Переключитися в режим графа + Used in Graphing Calculator to switch the view to the graph mode + + + Переключитися в режим рівняння + Used in Graphing Calculator to switch the view to the equation mode + + + Поточний режим – це режим рівняння + Announcement used in Graphing Calculator when switching to the equation mode + + + Поточний режим – це режим графа + Announcement used in Graphing Calculator when switching to the graph mode + + + Вікно + Heading for window extents on the settings + + + Градуси + Degrees mode on settings page + + + Гради + Gradian mode on settings page + + + Радіани + Radians mode on settings page + + + Одиниці + Heading for Unit's on the settings + + + Скинути подання + Hyperlink button to reset the view of the graph + + + Макс. X + X maximum value header + + + Мін. X + X minimum value header + + + Макс. Y + Y Maximum value header + + + Мін. Y + Y minimum value header + + + Параметри сітки + This is the tooltip text for the grid options button in Graphing Calculator + + + Параметри сітки + This is the automation name text for the grid options button in Graphing Calculator + + + Параметри графа + Heading for the Graph Options flyout in Graphing mode. + + + Введіть вираз + this is the placeholder text used by the textbox to enter an equation + + + Копіювати + Copy menu item for the graph context menu + + + Вирізати + Cut menu item from the Equation TextBox + + + Копіювати + Copy menu item from the Equation TextBox + + + Вставити + Paste menu item from the Equation TextBox + + + Скасувати + Undo menu item from the Equation TextBox + + + Виділити все + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/uz-Latn-UZ/Resources.resw b/src/Calculator/Resources/uz-Latn-UZ/Resources.resw index 7d5cba748..1c2b16513 100644 --- a/src/Calculator/Resources/uz-Latn-UZ/Resources.resw +++ b/src/Calculator/Resources/uz-Latn-UZ/Resources.resw @@ -859,7 +859,7 @@ Teng - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Teskari funksiya @@ -1065,14 +1065,6 @@ Butun ekran rejimiga qaytish Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - - Boshqa dasturlar ustida ochish - This is the tool tip automation name for the Always-on-Top button when in normal mode. - - - Butun ekran rejimiga qaytish - This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. - %1 %2 dan o‘girildi Screen reader prompt for the Unit Converter Value1 i.e. top number field. %1 = DisplayValue, %2 = Unit field localized name. @@ -2683,10 +2675,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2699,18 +2687,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -2945,6 +2921,10 @@ Hisoblash amalga oshmadi - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation + + + Baham ko‘rish + This is the automation name for the graphing calculator share button. \ No newline at end of file diff --git a/src/Calculator/Resources/vi-VN/Resources.resw b/src/Calculator/Resources/vi-VN/Resources.resw index 2f7e32020..1fc744002 100644 --- a/src/Calculator/Resources/vi-VN/Resources.resw +++ b/src/Calculator/Resources/vi-VN/Resources.resw @@ -697,9 +697,9 @@ Xóa Text string for the Calculator Delete swipe button in the History list - - Sao chép - Text string for the Calculator Copy option in the History list context menu + + Sao chép + Text string for the Calculator Copy option in the History list context menu Xóa @@ -867,7 +867,7 @@ Bằng - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad Hàm nghịch đảo @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - Giữ ở trên cùng + Giữ ở trên cùng (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - Quay lại chế độ xem đầy đủ + Quay lại chế độ xem đầy đủ (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ Tính toán thất bại - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation Cơ số log X @@ -3075,6 +3059,10 @@ Hàm Displayed on the button that contains a flyout for the general functions in scientific mode. + + Bất đẳng thức + Displayed on the button that contains a flyout for the inequality functions. + Phép toán thao tác bit Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ bit quan trọng nhất Used to describe the last bit of a binary number. Used in bit flip + + Vẽ đồ thị + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + Bằng + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + Vẽ + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + Đặt lại Chế độ xem (Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + Đặt lại chế độ hiển thị + Screen reader prompt for the reset zoom button. + + + Phóng To (Ctrl + dấu cộng) + This is the tool tip automation name for the Calculator zoom in button. + + + Phóng To + Screen reader prompt for the zoom in button. + + + Thu Nhỏ (Ctrl + dấu trừ) + This is the tool tip automation name for the Calculator zoom out button. + + + Thu Nhỏ + Screen reader prompt for the zoom out button. + + + Thêm Phương trình + Placeholder text for the equation input button + + + Không thể chia sẻ vào lúc này. + If there is an error in the sharing action will display a dialog with this text. + + + OK + Used on the dismiss button of the share action error dialog. + + + Hãy xem những gì tôi vẽ đồ thị bằng Máy tính tay Windows + Sent as part of the shared content. The title for the share. + + + Phương trình + Header that appears over the equations section when sharing + + + Biến + Header that appears over the variables section when sharing + + + Hình ảnh của đồ thị có phương trình + Alt text for the graph image when output via Share + + + Biến + Header text for variables area + + + Bước + Label text for the step text box + + + Nhỏ nhất + Label text for the min text box + + + Lớn nhất + Label text for the max text box + + + Màu đường kẻ + Label for the Line Color section of the style picker + + + Sự phân tích hàm + Title for KeyGraphFeatures Control + + + Hàm này không có bất kỳ đường tiệm cận ngang nào. + Message displayed when the graph does not have any horizontal asymptotes + + + Hàm này không có bất kỳ điểm uốn nào. + Message displayed when the graph does not have any inflection points + + + Hàm này không có bất kỳ điểm cực đại nào. + Message displayed when the graph does not have any maxima + + + Hàm này không có bất kỳ điểm cực tiểu nào. + Message displayed when the graph does not have any minima + + + Hằng số + String describing constant monotonicity of a function + + + Giảm + String describing decreasing monotonicity of a function + + + Không thể xác định tính đơn điệu của hàm. + Error displayed when monotonicity cannot be determined + + + Tăng + String describing increasing monotonicity of a function + + + Tính đơn điệu của hàm không xác định. + Error displayed when monotonicity is unknown + + + Hàm này không có bất kỳ đường tiệm cận xiên nào. + Message displayed when the graph does not have any oblique asymptotes + + + Không thể xác định tính chẵn lẻ của hàm. + Error displayed when parity is cannot be determined + + + Hàm này là chẵn. + Message displayed with the function parity is even + + + Hàm này không chẵn cũng không lẻ. + Message displayed with the function parity is neither even nor odd + + + Hàm này là lẻ. + Message displayed with the function parity is odd + + + Tính chẵn lẻ của hàm không xác định. + Error displayed when parity is unknown + + + Tính chu kỳ không được hỗ trợ cho hàm này. + Error displayed when periodicity is not supported + + + Hàm này không có tính chu kỳ. + Message displayed with the function periodicity is not periodic + + + Tính chu kỳ của hàm này không xác định. + Message displayed with the function periodicity is unknown + + + Các tính năng này quá phức tạp để tính toán bằng Máy tính tay: + Error displayed when analysis features cannot be calculated + + + Hàm này không có bất kỳ đường tiệm cận đứng nào. + Message displayed when the graph does not have any vertical asymptotes + + + Hàm này không có bất kỳ nghiệm x nào. + Message displayed when the graph does not have any x-intercepts + + + Hàm này không có bất kỳ nghiệm y nào. + Message displayed when the graph does not have any y-intercepts + + + Tên miền + Title for KeyGraphFeatures Domain Property + + + Đường tiệm cận ngang + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + Điểm uốn + Title for KeyGraphFeatures Inflection Points Property + + + Phân tích không được hỗ trợ cho hàm này. + Error displayed when graph analysis is not supported or had an error. + + + Cực đại + Title for KeyGraphFeatures Maxima Property + + + Cực tiểu + Title for KeyGraphFeatures Minima Property + + + Tính đơn điệu + Title for KeyGraphFeatures Monotonicity Property + + + Đường tiệm cận xiên + Title for KeyGraphFeatures Oblique Asymptotes Property + + + Tính chẵn lẻ + Title for KeyGraphFeatures Parity Property + + + Chu kỳ + Title for KeyGraphFeatures Periodicity Property + + + Phạm vi + Title for KeyGraphFeatures Range Property + + + Đường tiệm cận đứng + Title for KeyGraphFeatures Vertical Asymptotes Property + + + Nghiệm X + Title for KeyGraphFeatures XIntercept Property + + + Nghiệm Y + Title for KeyGraphFeatures YIntercept Property + + + Không thể thực hiện phân tích cho hàm. + + + Không thể tính toán tên miền cho hàm này. + Error displayed when Domain is not returned from the analyzer. + + + Không thể tính toán phạm vi cho hàm này. + Error displayed when Range is not returned from the analyzer. + + + Lùi + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + Lùi + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + Phân tích hàm + This is the tooltip for the analyze function button + + + Phân tích hàm + This is the automation name for the analyze function button + + + Phân tích hàm + This is the text for the for the analyze function context menu command + + + Loại bỏ phương trình + This is the tooltip for the graphing calculator remove equation buttons + + + Loại bỏ phương trình + This is the automation name for the graphing calculator remove equation buttons + + + Loại bỏ phương trình + This is the text for the for the remove equation context menu command + + + Chia sẻ + This is the automation name for the graphing calculator share button. + + + Chia sẻ + This is the tooltip for the graphing calculator share button. + + + Thay đổi kiểu phương trình + This is the tooltip for the graphing calculator equation style button + + + Thay đổi kiểu phương trình + This is the automation name for the graphing calculator equation style button + + + Thay đổi kiểu phương trình + This is the text for the for the equation style context menu command + + + Hiện phương trình %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + Ẩn phương trình %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + Dừng truy tìm + This is the tooltip/automation name for the graphing calculator stop tracing button + + + Bắt đầu truy tìm + This is the tooltip/automation name for the graphing calculator start tracing button + + + Cửa sổ xem đồ thị, trục x được giới hạn bởi %1 và %2, trục x được giới hạn bởi %3 và %4, hiển thị các phương trình %5 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + Cấu hình thanh trượt + This is the tooltip text for the slider options button in Graphing Calculator + + + Cấu hình thanh trượt + This is the automation name text for the slider options button in Graphing Calculator + + + Chuyển sang chế độ phương trình + Used in Graphing Calculator to switch the view to the equation mode + + + Chuyển sang chế độ đồ thị + Used in Graphing Calculator to switch the view to the graph mode + + + Chuyển sang chế độ phương trình + Used in Graphing Calculator to switch the view to the equation mode + + + Chế độ hiện tại là chế độ phương trình + Announcement used in Graphing Calculator when switching to the equation mode + + + Chế độ hiện tại là chế độ đồ thị + Announcement used in Graphing Calculator when switching to the graph mode + + + Cửa sổ + Heading for window extents on the settings + + + Độ + Degrees mode on settings page + + + Độ dốc + Gradian mode on settings page + + + Rađian + Radians mode on settings page + + + Đơn vị + Heading for Unit's on the settings + + + Đặt lại dạng xem + Hyperlink button to reset the view of the graph + + + X-Tối đa + X maximum value header + + + X-Tối thiểu + X minimum value header + + + Y-Tối đa + Y Maximum value header + + + Y-Tối thiểu + Y minimum value header + + + Tùy chọn lưới + This is the tooltip text for the grid options button in Graphing Calculator + + + Tùy chọn lưới + This is the automation name text for the grid options button in Graphing Calculator + + + Tùy chọn Đồ thị + Heading for the Graph Options flyout in Graphing mode. + + + Nhập một biểu thức + this is the placeholder text used by the textbox to enter an equation + + + Sao chép + Copy menu item for the graph context menu + + + Cắt + Cut menu item from the Equation TextBox + + + Sao chép + Copy menu item from the Equation TextBox + + + Dán + Paste menu item from the Equation TextBox + + + Hoàn tác + Undo menu item from the Equation TextBox + + + Chọn Tất cả + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/zh-CN/Resources.resw b/src/Calculator/Resources/zh-CN/Resources.resw index b571d1ad4..042489d59 100644 --- a/src/Calculator/Resources/zh-CN/Resources.resw +++ b/src/Calculator/Resources/zh-CN/Resources.resw @@ -697,9 +697,9 @@ 删除 Text string for the Calculator Delete swipe button in the History list - - 复制 - Text string for the Calculator Copy option in the History list context menu + + 复制 + Text string for the Calculator Copy option in the History list context menu 删除 @@ -867,7 +867,7 @@ 等于 - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad 反函数 @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - 始终置顶 + 保持在顶部 (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - 返回完整视图 + 返回全视图 (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ 计算失败 - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation 对数底数 X @@ -3075,6 +3059,10 @@ 函数 Displayed on the button that contains a flyout for the general functions in scientific mode. + + 不等式 + Displayed on the button that contains a flyout for the inequality functions. + 按位 Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ 最高有效位 Used to describe the last bit of a binary number. Used in bit flip + + 图形 + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + 等于 + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + 绘图 + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + 重置视图(Ctrl + 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + 重置视图 + Screen reader prompt for the reset zoom button. + + + 放大(Ctrl + 加号) + This is the tool tip automation name for the Calculator zoom in button. + + + 放大 + Screen reader prompt for the zoom in button. + + + 缩小(Ctrl + 减号) + This is the tool tip automation name for the Calculator zoom out button. + + + 缩小 + Screen reader prompt for the zoom out button. + + + 添加公式 + Placeholder text for the equation input button + + + 此时无法共享。 + If there is an error in the sharing action will display a dialog with this text. + + + 确定 + Used on the dismiss button of the share action error dialog. + + + 查看我使用 Windows 计算器绘出的图形 + Sent as part of the shared content. The title for the share. + + + 公式 + Header that appears over the equations section when sharing + + + 变量 + Header that appears over the variables section when sharing + + + 包含公式的图形的图像 + Alt text for the graph image when output via Share + + + 变量 + Header text for variables area + + + 步骤 + Label text for the step text box + + + 最小值 + Label text for the min text box + + + 最大值 + Label text for the max text box + + + 线条颜色 + Label for the Line Color section of the style picker + + + 函数分析 + Title for KeyGraphFeatures Control + + + 此函数没有任何水平渐近线。 + Message displayed when the graph does not have any horizontal asymptotes + + + 此函数没有任何转折点。 + Message displayed when the graph does not have any inflection points + + + 此函数没有任何极大值点。 + Message displayed when the graph does not have any maxima + + + 此函数没有任何极小值点。 + Message displayed when the graph does not have any minima + + + 恒定 + String describing constant monotonicity of a function + + + 下降 + String describing decreasing monotonicity of a function + + + 无法确定函数的单调性。 + Error displayed when monotonicity cannot be determined + + + 上升 + String describing increasing monotonicity of a function + + + 函数的单调性未知。 + Error displayed when monotonicity is unknown + + + 此函数没有任何倾斜渐近线。 + Message displayed when the graph does not have any oblique asymptotes + + + 无法确定函数的奇偶性。 + Error displayed when parity is cannot be determined + + + 此函数为偶数。 + Message displayed with the function parity is even + + + 此函数既不是偶数也不是奇数。 + Message displayed with the function parity is neither even nor odd + + + 函数为奇数。 + Message displayed with the function parity is odd + + + 函数的奇偶性未知。 + Error displayed when parity is unknown + + + 此函数不支持周期性。 + Error displayed when periodicity is not supported + + + 此函数不是定期的。 + Message displayed with the function periodicity is not periodic + + + 函数的周期性未知。 + Message displayed with the function periodicity is unknown + + + 这些功能过于复杂,计算器无法计算: + Error displayed when analysis features cannot be calculated + + + 此函数没有任何垂直渐近线。 + Message displayed when the graph does not have any vertical asymptotes + + + 此函数没有任何 x 轴截距。 + Message displayed when the graph does not have any x-intercepts + + + 此函数没有任何 y 轴截距。 + Message displayed when the graph does not have any y-intercepts + + + + Title for KeyGraphFeatures Domain Property + + + 水平渐近线 + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + 转折点 + Title for KeyGraphFeatures Inflection Points Property + + + 此函数不支持分析。 + Error displayed when graph analysis is not supported or had an error. + + + 极大值 + Title for KeyGraphFeatures Maxima Property + + + 极小值 + Title for KeyGraphFeatures Minima Property + + + 单调性 + Title for KeyGraphFeatures Monotonicity Property + + + 倾斜渐近线 + Title for KeyGraphFeatures Oblique Asymptotes Property + + + 奇偶性 + Title for KeyGraphFeatures Parity Property + + + 期间 + Title for KeyGraphFeatures Periodicity Property + + + 区间 + Title for KeyGraphFeatures Range Property + + + 垂直渐近线 + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X 轴截距 + Title for KeyGraphFeatures XIntercept Property + + + Y 轴截距 + Title for KeyGraphFeatures YIntercept Property + + + 无法对此函数执行分析。 + + + 无法计算此函数的域。 + Error displayed when Domain is not returned from the analyzer. + + + 无法计算此函数的区间。 + Error displayed when Range is not returned from the analyzer. + + + 返回 + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + 返回 + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + 分析函数 + This is the tooltip for the analyze function button + + + 分析函数 + This is the automation name for the analyze function button + + + 分析函数 + This is the text for the for the analyze function context menu command + + + 删除公式 + This is the tooltip for the graphing calculator remove equation buttons + + + 删除公式 + This is the automation name for the graphing calculator remove equation buttons + + + 删除公式 + This is the text for the for the remove equation context menu command + + + 共享 + This is the automation name for the graphing calculator share button. + + + 共享 + This is the tooltip for the graphing calculator share button. + + + 更改公式样式 + This is the tooltip for the graphing calculator equation style button + + + 更改公式样式 + This is the automation name for the graphing calculator equation style button + + + 更改公式样式 + This is the text for the for the equation style context menu command + + + 显示公式 %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + 隐藏公式 %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + 停止跟踪 + This is the tooltip/automation name for the graphing calculator stop tracing button + + + 开始跟踪 + This is the tooltip/automation name for the graphing calculator start tracing button + + + 图表查看窗口,x 轴由 %1 和 %2 包围,y 轴由 %3 和 %4 包围,显示 %5 公式 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + 配置滑块 + This is the tooltip text for the slider options button in Graphing Calculator + + + 配置滑块 + This is the automation name text for the slider options button in Graphing Calculator + + + 切换到公式模式 + Used in Graphing Calculator to switch the view to the equation mode + + + 切换到图形模式 + Used in Graphing Calculator to switch the view to the graph mode + + + 切换到公式模式 + Used in Graphing Calculator to switch the view to the equation mode + + + 当前模式为公式模式 + Announcement used in Graphing Calculator when switching to the equation mode + + + 当前模式为图形模式 + Announcement used in Graphing Calculator when switching to the graph mode + + + 窗口 + Heading for window extents on the settings + + + + Degrees mode on settings page + + + 百分度 + Gradian mode on settings page + + + 弧度 + Radians mode on settings page + + + 单位 + Heading for Unit's on the settings + + + 重置视图 + Hyperlink button to reset the view of the graph + + + X-最大值 + X maximum value header + + + X-最小值 + X minimum value header + + + Y-最大值 + Y Maximum value header + + + Y-最小值 + Y minimum value header + + + 网格选项 + This is the tooltip text for the grid options button in Graphing Calculator + + + 网格选项 + This is the automation name text for the grid options button in Graphing Calculator + + + 图形选项 + Heading for the Graph Options flyout in Graphing mode. + + + 输入表达式 + this is the placeholder text used by the textbox to enter an equation + + + 复制 + Copy menu item for the graph context menu + + + 剪切 + Cut menu item from the Equation TextBox + + + 复制 + Copy menu item from the Equation TextBox + + + 粘贴 + Paste menu item from the Equation TextBox + + + 撤消 + Undo menu item from the Equation TextBox + + + 全选 + Select all menu item from the Equation TextBox + \ No newline at end of file diff --git a/src/Calculator/Resources/zh-TW/Resources.resw b/src/Calculator/Resources/zh-TW/Resources.resw index 3eb5e51e2..c8068b695 100644 --- a/src/Calculator/Resources/zh-TW/Resources.resw +++ b/src/Calculator/Resources/zh-TW/Resources.resw @@ -697,9 +697,9 @@ 刪除 Text string for the Calculator Delete swipe button in the History list - - 複製 - Text string for the Calculator Copy option in the History list context menu + + 複製 + Text string for the Calculator Copy option in the History list context menu 刪除 @@ -867,7 +867,7 @@ 等於 - Screen reader prompt for the invert button on the scientific operator keypad + Screen reader prompt for the equals button on the scientific operator keypad 反函數 @@ -1074,11 +1074,11 @@ Screen reader prompt for the Always-on-Top button when in Always-on-Top mode. - 保持在最上層 + 保持在最上層 (Alt+Up) This is the tool tip automation name for the Always-on-Top button when in normal mode. - 返回完整檢視 + 返回完整檢視 (Alt+Down) This is the tool tip automation name for the Always-on-Top button when in Always-on-Top mode. @@ -2691,10 +2691,6 @@ AB AccessKey for the About button. {StringCategory="Accelerator"} - - 4 - AccessKey for the Date Calculation mode navbar item. {StringCategory="Accelerator"} - I Access key for the History button. {StringCategory="Accelerator"} @@ -2707,18 +2703,6 @@ H Access key for the Hamburger button. {StringCategory="Accelerator"} - - 3 - AccessKey for the Programmer mode navbar item. {StringCategory="Accelerator"} - - - 2 - AccessKey for the Scientific mode navbar item. {StringCategory="Accelerator"} - - - 1 - AccessKey for the Standard mode navbar item. {StringCategory="Accelerator"} - AN AccessKey for the angle converter navbar item. {StringCategory="Accelerator"} @@ -3061,7 +3045,7 @@ 計算失敗 - Text displayed when the application is not able to do a calculation + Text displayed when the application is not able to do a calculation 對數底數 X @@ -3075,6 +3059,10 @@ 函數 Displayed on the button that contains a flyout for the general functions in scientific mode. + + 不等式 + Displayed on the button that contains a flyout for the inequality functions. + 位元 Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3251,4 +3239,427 @@ 最高有效位元 Used to describe the last bit of a binary number. Used in bit flip + + 圖形 + Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. + + + 等於 + Screen reader prompt for the equal button on the graphing calculator operator keypad + + + 繪圖 + Screen reader prompt for the plot button on the graphing calculator operator keypad + + + 重設檢視 (CTRL+ 0) + This is the tool tip automation name for the Calculator zoom reset button. + + + 重設檢視 + Screen reader prompt for the reset zoom button. + + + 放大 (CTRL + 加號) + This is the tool tip automation name for the Calculator zoom in button. + + + 放大 + Screen reader prompt for the zoom in button. + + + 縮小 (CTRL + 減號) + This is the tool tip automation name for the Calculator zoom out button. + + + 縮小 + Screen reader prompt for the zoom out button. + + + 新增方程式 + Placeholder text for the equation input button + + + 目前無法共用。 + If there is an error in the sharing action will display a dialog with this text. + + + 確定 + Used on the dismiss button of the share action error dialog. + + + 看看用 Windows 小算盤繪出的內容 + Sent as part of the shared content. The title for the share. + + + 方程式 + Header that appears over the equations section when sharing + + + 變數 + Header that appears over the variables section when sharing + + + 具有方程式的影像 + Alt text for the graph image when output via Share + + + 變數 + Header text for variables area + + + 步驟 + Label text for the step text box + + + 最小值 + Label text for the min text box + + + 最大值 + Label text for the max text box + + + 線條色彩 + Label for the Line Color section of the style picker + + + 函式分析 + Title for KeyGraphFeatures Control + + + 該函數沒有任何水準漸近線。 + Message displayed when the graph does not have any horizontal asymptotes + + + 函數沒有任何反曲點。 + Message displayed when the graph does not have any inflection points + + + 該函數沒有任何最大值點。 + Message displayed when the graph does not have any maxima + + + 該函數沒有任何最小值點。 + Message displayed when the graph does not have any minima + + + 常數 + String describing constant monotonicity of a function + + + 減少 + String describing decreasing monotonicity of a function + + + 無法判斷該函數的單調性。 + Error displayed when monotonicity cannot be determined + + + 增加 + String describing increasing monotonicity of a function + + + 該函數的單調性不明。 + Error displayed when monotonicity is unknown + + + 該函數沒有任何斜漸近線。 + Message displayed when the graph does not have any oblique asymptotes + + + 無法判斷該函數的奇偶性。 + Error displayed when parity is cannot be determined + + + 該函數為偶函數。 + Message displayed with the function parity is even + + + 該函數不是偶函數也不是奇函數。 + Message displayed with the function parity is neither even nor odd + + + 該函數不是奇函數。 + Message displayed with the function parity is odd + + + 該函數的奇偶性不明。 + Error displayed when parity is unknown + + + 不支援此函數的週期性。 + Error displayed when periodicity is not supported + + + 該函數不具週期性。 + Message displayed with the function periodicity is not periodic + + + 該函數的週期性不明。 + Message displayed with the function periodicity is unknown + + + 以下函數過於複雜,[小算盤] 無法計算: + Error displayed when analysis features cannot be calculated + + + 該函數沒有任何垂直漸近線。 + Message displayed when the graph does not have any vertical asymptotes + + + 該函數沒有任何 x 軸截距。 + Message displayed when the graph does not have any x-intercepts + + + 該函數沒有任何 y 軸截距。 + Message displayed when the graph does not have any y-intercepts + + + 網域 + Title for KeyGraphFeatures Domain Property + + + 水平漸近線 + Title for KeyGraphFeatures Horizontal Aysmptotes Property + + + 反曲點 + Title for KeyGraphFeatures Inflection Points Property + + + 不支援此函數的分析。 + Error displayed when graph analysis is not supported or had an error. + + + 最大值 + Title for KeyGraphFeatures Maxima Property + + + 最小值 + Title for KeyGraphFeatures Minima Property + + + 單調性 + Title for KeyGraphFeatures Monotonicity Property + + + 斜漸近線 + Title for KeyGraphFeatures Oblique Asymptotes Property + + + 奇偶性 + Title for KeyGraphFeatures Parity Property + + + 週期性 + Title for KeyGraphFeatures Periodicity Property + + + 範圍 + Title for KeyGraphFeatures Range Property + + + 垂直漸近線 + Title for KeyGraphFeatures Vertical Asymptotes Property + + + X 軸截距 + Title for KeyGraphFeatures XIntercept Property + + + Y 軸截距 + Title for KeyGraphFeatures YIntercept Property + + + 無法對該函數進行分析 + + + 無法計算此函數的網域。 + Error displayed when Domain is not returned from the analyzer. + + + 無法計算此函數的範圍。 + Error displayed when Range is not returned from the analyzer. + + + 返回 + This is the tooltip for the back button in the equation analysis page in the graphing calculator + + + 返回 + This is the automation name for the back button in the equation analysis page in the graphing calculator + + + 分析函式 + This is the tooltip for the analyze function button + + + 分析函式 + This is the automation name for the analyze function button + + + 分析函式 + This is the text for the for the analyze function context menu command + + + 移除方程式 + This is the tooltip for the graphing calculator remove equation buttons + + + 移除方程式 + This is the automation name for the graphing calculator remove equation buttons + + + 移除方程式 + This is the text for the for the remove equation context menu command + + + 分享 + This is the automation name for the graphing calculator share button. + + + 分享 + This is the tooltip for the graphing calculator share button. + + + 變更方程式樣式 + This is the tooltip for the graphing calculator equation style button + + + 變更方程式樣式 + This is the automation name for the graphing calculator equation style button + + + 變更方程式樣式 + This is the text for the for the equation style context menu command + + + 顯示方程式 %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to hidden in the graphing calculator. %1 is the equation number. + + + 隱藏方程式 %1 + {Locked="%1"}, This is the tooltip/automation name shown when visibility is set to visible in the graphing calculator. %1 is the equation number. + + + 停止追蹤 + This is the tooltip/automation name for the graphing calculator stop tracing button + + + 開始追蹤 + This is the tooltip/automation name for the graphing calculator start tracing button + + + 圖形查看視窗,X 軸由 %1 和 %2 所界定,y 軸由 %3 和 %4,顯示 %5 方程式 + {Locked="%1","%2", "%3", "%4", "%5"}. + + + 設定滑杆 + This is the tooltip text for the slider options button in Graphing Calculator + + + 設定滑杆 + This is the automation name text for the slider options button in Graphing Calculator + + + 切換到方程式模式 + Used in Graphing Calculator to switch the view to the equation mode + + + 切換到圖形模式 + Used in Graphing Calculator to switch the view to the graph mode + + + 切換到方程式模式 + Used in Graphing Calculator to switch the view to the equation mode + + + 目前的模式為方程式模式 + Announcement used in Graphing Calculator when switching to the equation mode + + + 目前的模式為圖形模式 + Announcement used in Graphing Calculator when switching to the graph mode + + + 視窗 + Heading for window extents on the settings + + + + Degrees mode on settings page + + + 梯度 + Gradian mode on settings page + + + 弧度 + Radians mode on settings page + + + 單位 + Heading for Unit's on the settings + + + 重設檢視 + Hyperlink button to reset the view of the graph + + + X-最大值 + X maximum value header + + + X-最小值 + X minimum value header + + + Y-最大值 + Y Maximum value header + + + Y-最小值 + Y minimum value header + + + 格線選項 + This is the tooltip text for the grid options button in Graphing Calculator + + + 格線選項 + This is the automation name text for the grid options button in Graphing Calculator + + + 圖形選項 + Heading for the Graph Options flyout in Graphing mode. + + + 輸入運算式 + this is the placeholder text used by the textbox to enter an equation + + + 複製 + Copy menu item for the graph context menu + + + 剪下 + Cut menu item from the Equation TextBox + + + 複製 + Copy menu item from the Equation TextBox + + + 貼上 + Paste menu item from the Equation TextBox + + + 復原 + Undo menu item from the Equation TextBox + + + 全選 + Select all menu item from the Equation TextBox + \ No newline at end of file From cf735bbcf59bd2c1a73ae78c8b1d972e8881020d Mon Sep 17 00:00:00 2001 From: Stephanie Anderl <46726333+sanderl@users.noreply.github.com> Date: Fri, 27 Mar 2020 17:20:35 -0700 Subject: [PATCH 47/76] Dark Theme For Graph Control (#1106) * Added dark them to graph control, started dark theme for the controls on the graph * Dark theme for graphing mode updated to use event model, diagnostics added, cleaned up code that wasn't needed * Updated prepare-release-internalonly.yaml internal package version * Updated Theme Settings properties, removed version change, other small changes from PR feedback> * Updated the localSettings check and updated the GraphTheme event to send bool instead of string * Updated the equation line color to change with the graph theme * Rebased onto master and issues created during the rebase * Updates per code review feedback * Update settings properties to just have IsMatchAppTheme property and updated the high contrast settings for the graph control * Match version to current in master * Updated per PR feedback * Fix resetting the m_lastLineColorIndex to only happen when reassignColors is true * Changed second if to else if in the OnPropertyChanged method * fixed control button and equation line colors --- src/CalcViewModel/Common/TraceLogger.cpp | 13 ++- src/CalcViewModel/Common/TraceLogger.h | 6 +- .../GraphingCalculator/EquationViewModel.cpp | 3 +- .../GraphingCalculator/EquationViewModel.h | 3 +- .../GraphingSettingsViewModel.cpp | 4 +- .../GraphingSettingsViewModel.h | 6 +- src/Calculator/App.xaml | 28 ++--- .../EquationStylePanelControl.xaml.cpp | 5 +- .../EquationStylePanelControl.xaml.h | 1 + src/Calculator/Resources/en-US/Resources.resw | 24 +++++ .../GraphingCalculator/EquationInputArea.xaml | 1 + .../EquationInputArea.xaml.cpp | 89 +++++++++++---- .../EquationInputArea.xaml.h | 5 +- .../GraphingCalculator.xaml | 92 ++++++++++------ .../GraphingCalculator.xaml.cpp | 101 ++++++++++++++++-- .../GraphingCalculator.xaml.h | 6 ++ .../GraphingCalculator/GraphingSettings.xaml | 17 +++ .../GraphingSettings.xaml.cpp | 11 ++ .../GraphingSettings.xaml.h | 28 ++++- src/GraphControl/Control/Grapher.cpp | 13 +++ src/GraphControl/Control/Grapher.h | 3 + src/GraphingImpl/Mocks/GraphingOptions.h | 15 +++ src/GraphingInterfaces/IGraphingOptions.h | 4 + 23 files changed, 389 insertions(+), 89 deletions(-) diff --git a/src/CalcViewModel/Common/TraceLogger.cpp b/src/CalcViewModel/Common/TraceLogger.cpp index 64a99cb97..26f17e2b3 100644 --- a/src/CalcViewModel/Common/TraceLogger.cpp +++ b/src/CalcViewModel/Common/TraceLogger.cpp @@ -41,6 +41,7 @@ namespace CalculatorApp constexpr auto EVENT_NAME_VARIABLE_CHANGED = L"VariableChanged"; constexpr auto EVENT_NAME_VARIABLE_SETTING_CHANGED = L"VariableSettingChanged"; constexpr auto EVENT_NAME_GRAPH_SETTINGS_CHANGED = L"GraphSettingsChanged"; + constexpr auto EVENT_NAME_GRAPH_THEME = L"GraphTheme"; constexpr auto EVENT_NAME_EXCEPTION = L"Exception"; @@ -303,12 +304,22 @@ namespace CalculatorApp TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_VARIABLE_SETTING_CHANGED), fields); } - void TraceLogger::LogGraphSettingsChanged(GraphSettingsType settingType) + void TraceLogger::LogGraphSettingsChanged(GraphSettingsType settingType, String ^ settingValue) { auto fields = ref new LoggingFields(); fields->AddString(StringReference(CALC_MODE), StringReference(GRAPHING_MODE)); fields->AddInt16(L"SettingType", static_cast(settingType)); + fields->AddString(L"SettingValue", settingValue); TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_GRAPH_SETTINGS_CHANGED), fields); } + + void TraceLogger::LogGraphTheme(String ^ graphTheme) + { + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), StringReference(GRAPHING_MODE)); + fields->AddString(L"GraphTheme", graphTheme); + + TraceLoggingCommon::GetInstance()->LogLevel2Event(StringReference(EVENT_NAME_GRAPH_THEME), fields); + } } diff --git a/src/CalcViewModel/Common/TraceLogger.h b/src/CalcViewModel/Common/TraceLogger.h index 4a32ebe29..c6b205dea 100644 --- a/src/CalcViewModel/Common/TraceLogger.h +++ b/src/CalcViewModel/Common/TraceLogger.h @@ -27,7 +27,8 @@ namespace CalculatorApp public enum class GraphSettingsType { Grid, - TrigUnits + TrigUnits, + Theme }; public enum class GraphButton @@ -73,7 +74,8 @@ namespace CalculatorApp void LogGraphLineStyleChanged(LineStyleType style); void LogVariableChanged(Platform::String ^ inputChangedType, Platform::String ^ variableName); void LogVariableSettingsChanged(Platform::String ^ setting); - void LogGraphSettingsChanged(GraphSettingsType settingsType); + void LogGraphSettingsChanged(GraphSettingsType settingsType, Platform::String ^ settingValue); + void LogGraphTheme(Platform::String ^ graphTheme); internal: void LogStandardException(CalculatorApp::Common::ViewMode mode, std::wstring_view functionName, _In_ const std::exception& e); void LogPlatformException(CalculatorApp::Common::ViewMode mode, std::wstring_view functionName, _In_ Platform::Exception ^ e); diff --git a/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp b/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp index 4319fed8e..666f55ec1 100644 --- a/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp +++ b/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp @@ -33,7 +33,7 @@ namespace CalculatorApp::ViewModel { } - EquationViewModel::EquationViewModel(Equation ^ equation, int functionLabelIndex, Windows::UI::Color color) + EquationViewModel::EquationViewModel(Equation ^ equation, int functionLabelIndex, Windows::UI::Color color, int colorIndex) : m_AnalysisErrorVisible{ false } , m_FunctionLabelIndex{ functionLabelIndex } , m_KeyGraphFeaturesItems{ ref new Vector() } @@ -46,6 +46,7 @@ namespace CalculatorApp::ViewModel GraphEquation = equation; LineColor = color; + LineColorIndex = colorIndex; IsLineEnabled = true; } diff --git a/src/CalcViewModel/GraphingCalculator/EquationViewModel.h b/src/CalcViewModel/GraphingCalculator/EquationViewModel.h index e836f7970..292e857d5 100644 --- a/src/CalcViewModel/GraphingCalculator/EquationViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/EquationViewModel.h @@ -41,12 +41,13 @@ public ref class EquationViewModel sealed : public Windows::UI::Xaml::Data::INotifyPropertyChanged { public: - EquationViewModel(GraphControl::Equation ^ equation, int functionLabelIndex, Windows::UI::Color color); + EquationViewModel(GraphControl::Equation ^ equation, int functionLabelIndex, Windows::UI::Color color, int colorIndex); OBSERVABLE_OBJECT(); OBSERVABLE_PROPERTY_R(GraphControl::Equation ^, GraphEquation); OBSERVABLE_PROPERTY_RW(int, FunctionLabelIndex); OBSERVABLE_PROPERTY_RW(bool, IsLastItemInList); + PROPERTY_RW(int, LineColorIndex); property Platform::String ^ Expression { diff --git a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp index 4313e26fa..36510cf20 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp +++ b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp @@ -10,6 +10,7 @@ using namespace CalcManager::NumberFormattingUtils; using namespace GraphControl; using namespace std; using namespace Platform; +using namespace Windows::UI::Xaml; GraphingSettingsViewModel::GraphingSettingsViewModel() : m_XMinValue(0) @@ -36,6 +37,7 @@ void GraphingSettingsViewModel::SetGrapher(Grapher ^ grapher) } } Graph = grapher; + InitRanges(); RaisePropertyChanged(L"TrigUnit"); } @@ -100,7 +102,7 @@ void GraphingSettingsViewModel::UpdateDisplayRange() m_Graph->SetDisplayRanges(m_XMinValue, m_XMaxValue, m_YMinValue, m_YMaxValue); - TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::Grid); + TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::Grid, L""); } bool GraphingSettingsViewModel::HasError() diff --git a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h index cdead6fb1..6d6045c01 100644 --- a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h @@ -232,7 +232,7 @@ namespace CalculatorApp::ViewModel RaisePropertyChanged(L"TrigModeDegrees"); RaisePropertyChanged(L"TrigModeGradians"); - TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::TrigUnits); + TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::TrigUnits, L"Radians"); } } } @@ -253,7 +253,7 @@ namespace CalculatorApp::ViewModel RaisePropertyChanged(L"TrigModeRadians"); RaisePropertyChanged(L"TrigModeGradians"); - TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::TrigUnits); + TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::TrigUnits, L"Degrees"); } } } @@ -274,7 +274,7 @@ namespace CalculatorApp::ViewModel RaisePropertyChanged(L"TrigModeDegrees"); RaisePropertyChanged(L"TrigModeRadians"); - TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::TrigUnits); + TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::TrigUnits, L"Gradians"); } } } diff --git a/src/Calculator/App.xaml b/src/Calculator/App.xaml index f12d09217..dd9f7ae70 100644 --- a/src/Calculator/App.xaml +++ b/src/Calculator/App.xaml @@ -72,20 +72,20 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/src/Calculator/EquationStylePanelControl.xaml.cpp b/src/Calculator/EquationStylePanelControl.xaml.cpp index bea8698e0..9f13533e0 100644 --- a/src/Calculator/EquationStylePanelControl.xaml.cpp +++ b/src/Calculator/EquationStylePanelControl.xaml.cpp @@ -25,6 +25,7 @@ using namespace GraphControl; DEPENDENCY_PROPERTY_INITIALIZATION(EquationStylePanelControl, SelectedColor); DEPENDENCY_PROPERTY_INITIALIZATION(EquationStylePanelControl, SelectedStyle); DEPENDENCY_PROPERTY_INITIALIZATION(EquationStylePanelControl, EnableLineStylePicker); +DEPENDENCY_PROPERTY_INITIALIZATION(EquationStylePanelControl, SelectedColorIndex); DEPENDENCY_PROPERTY_INITIALIZATION(EquationStylePanelControl, AvailableColors); EquationStylePanelControl::EquationStylePanelControl() @@ -69,8 +70,9 @@ void EquationStylePanelControl::ColorChooserLoaded(Object ^ sender, RoutedEventA void EquationStylePanelControl::SelectColor(Color selectedColor) { - for (auto item : ColorChooser->Items->GetView()) + for (unsigned int i = 0; i < ColorChooser->Items->Size; i++) { + auto item = ColorChooser->Items->GetAt(i); auto brush = static_cast(item); auto gridViewItem = dynamic_cast(ColorChooser->ContainerFromItem(brush)); @@ -82,6 +84,7 @@ void EquationStylePanelControl::SelectColor(Color selectedColor) if (Utils::AreColorsEqual(brush->Color, selectedColor)) { gridViewItem->IsSelected = true; + SelectedColorIndex = i; return; } else diff --git a/src/Calculator/EquationStylePanelControl.xaml.h b/src/Calculator/EquationStylePanelControl.xaml.h index 3753ac337..6e6422a1e 100644 --- a/src/Calculator/EquationStylePanelControl.xaml.h +++ b/src/Calculator/EquationStylePanelControl.xaml.h @@ -17,6 +17,7 @@ namespace CalculatorApp DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(Windows::UI::Color, SelectedColor, Windows::UI::Colors::Black); DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(GraphControl::EquationLineStyle, SelectedStyle, GraphControl::EquationLineStyle::Solid); + DEPENDENCY_PROPERTY(int, SelectedColorIndex); DEPENDENCY_PROPERTY_WITH_DEFAULT(Windows::Foundation::Collections::IVector ^, AvailableColors, nullptr); DEPENDENCY_PROPERTY(bool, EnableLineStylePicker); diff --git a/src/Calculator/Resources/en-US/Resources.resw b/src/Calculator/Resources/en-US/Resources.resw index 0b0795cf9..96890ce55 100644 --- a/src/Calculator/Resources/en-US/Resources.resw +++ b/src/Calculator/Resources/en-US/Resources.resw @@ -4534,4 +4534,28 @@ Black Name of color in the color picker + + Theme + Graph settings heading for the theme options + + + Always light + Graph settings option to set graph to light theme + + + Match app theme + Graph settings option to set graph to match the app theme + + + Theme + This is the automation name text for the Graph settings heading for the theme options + + + Always light + This is the automation name text for the Graph settings option to set graph to light theme + + + Match app theme + This is the automation name text for the Graph settings option to set graph to match the app theme + diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml index ec7274f3b..b3a64c3ad 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml @@ -850,6 +850,7 @@ diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp index fe32fb34a..750afe6cb 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp @@ -16,6 +16,7 @@ using namespace std; using namespace Windows::Foundation; using namespace Windows::System; using namespace Windows::UI; +using namespace Windows::UI::Core; using namespace Windows::UI::ViewManagement; using namespace Windows::UI::Xaml; using namespace Windows::UI::Xaml::Media; @@ -31,6 +32,7 @@ namespace inline constexpr std::array colorAssignmentMapping = { 0, 3, 7, 10, 1, 4, 8, 11, 2, 5, 9, 12, 6, 13 }; StringReference EquationsPropertyName(L"Equations"); + StringReference IsMatchAppThemePropertyName(L"IsMatchAppTheme"); } EquationInputArea::EquationInputArea() @@ -42,7 +44,10 @@ EquationInputArea::EquationInputArea() m_accessibilitySettings->HighContrastChanged += ref new TypedEventHandler(this, &EquationInputArea::OnHighContrastChanged); - ReloadAvailableColors(m_accessibilitySettings->HighContrast); + m_uiSettings = ref new UISettings(); + m_uiSettings->ColorValuesChanged += ref new TypedEventHandler(this, &EquationInputArea::OnColorValuesChanged); + + ReloadAvailableColors(m_accessibilitySettings->HighContrast, true); InitializeComponent(); } @@ -53,6 +58,11 @@ void EquationInputArea::OnPropertyChanged(String ^ propertyName) { OnEquationsPropertyChanged(); } + + else if (propertyName == IsMatchAppThemePropertyName) + { + ReloadAvailableColors(m_accessibilitySettings->HighContrast, false); + } } void EquationInputArea::OnEquationsPropertyChanged() @@ -89,7 +99,7 @@ void EquationInputArea::AddNewEquation() colorIndex = colorAssignmentMapping[m_lastLineColorIndex]; } - auto eq = ref new EquationViewModel(ref new Equation(), ++m_lastFunctionLabelIndex, AvailableColors->GetAt(colorIndex)->Color); + auto eq = ref new EquationViewModel(ref new Equation(), ++m_lastFunctionLabelIndex, AvailableColors->GetAt(colorIndex)->Color, colorIndex); eq->IsLastItemInList = true; m_equationToFocus = eq; Equations->Append(eq); @@ -281,31 +291,56 @@ void EquationInputArea::FocusEquationIfNecessary(CalculatorApp::Controls::Equati void EquationInputArea::OnHighContrastChanged(AccessibilitySettings ^ sender, Object ^ args) { - ReloadAvailableColors(sender->HighContrast); + ReloadAvailableColors(sender->HighContrast, true); } -void EquationInputArea::ReloadAvailableColors(bool isHighContrast) +void EquationInputArea::OnColorValuesChanged(Windows::UI::ViewManagement::UISettings ^ sender, Platform::Object ^ args) { - m_AvailableColors->Clear(); + WeakReference weakThis(this); + this->Dispatcher->RunAsync(CoreDispatcherPriority::Normal, ref new DispatchedHandler([weakThis]() { + auto refThis = weakThis.Resolve(); + if (refThis != nullptr) + { + refThis->ReloadAvailableColors(refThis->m_accessibilitySettings->HighContrast, false); + } + })); +} - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush1"))); - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush2"))); - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush3"))); - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush4"))); + +void EquationInputArea::ReloadAvailableColors(bool isHighContrast, bool reassignColors) +{ + m_AvailableColors->Clear(); + if (isHighContrast) + { + m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush1"))); + m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush2"))); + m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush3"))); + m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush4"))); + } // If this is not high contrast, we have all 16 colors, otherwise we will restrict this to a subset of high contrast colors - if (!isHighContrast) + else { - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush5"))); - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush6"))); - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush7"))); - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush8"))); - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush9"))); - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush10"))); - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush11"))); - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush12"))); - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush13"))); - m_AvailableColors->Append(safe_cast(Application::Current->Resources->Lookup(L"EquationBrush14"))); + Object ^ themeDictionaryName = L"Light"; + if (IsMatchAppTheme && Application::Current->RequestedTheme == ApplicationTheme::Dark) + { + themeDictionaryName = L"Default"; + } + auto themeDictionary = static_cast(Application::Current->Resources->ThemeDictionaries->Lookup(themeDictionaryName)); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush1"))); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush2"))); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush3"))); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush4"))); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush5"))); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush6"))); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush7"))); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush8"))); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush9"))); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush10"))); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush11"))); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush12"))); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush13"))); + m_AvailableColors->Append(safe_cast(themeDictionary->Lookup(L"EquationBrush14"))); } // If there are no equations to reload, quit early @@ -315,11 +350,19 @@ void EquationInputArea::ReloadAvailableColors(bool isHighContrast) } // Reassign colors for each equation - m_lastLineColorIndex = -1; + if (reassignColors) + { + m_lastLineColorIndex = -1; + } + for (auto equationViewModel : Equations) { - m_lastLineColorIndex = (m_lastLineColorIndex + 1) % AvailableColors->Size; - equationViewModel->LineColor = AvailableColors->GetAt(m_lastLineColorIndex)->Color; + if (reassignColors) + { + m_lastLineColorIndex = (m_lastLineColorIndex + 1) % AvailableColors->Size; + equationViewModel->LineColorIndex = m_lastLineColorIndex; + } + equationViewModel->LineColor = AvailableColors->GetAt(equationViewModel->LineColorIndex)->Color; } } diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h index ac30b589c..64b1244f1 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.h @@ -27,6 +27,7 @@ public OBSERVABLE_PROPERTY_RW(Windows::Foundation::Collections::IObservableVector ^, Equations); OBSERVABLE_PROPERTY_RW(Windows::Foundation::Collections::IObservableVector ^, Variables); OBSERVABLE_PROPERTY_RW(Windows::Foundation::Collections::IObservableVector ^, AvailableColors); + OBSERVABLE_PROPERTY_RW(bool, IsMatchAppTheme); event Windows::Foundation::EventHandler ^ KeyGraphFeaturesRequested; event Windows::Foundation::EventHandler ^ EquationFormatRequested; @@ -49,8 +50,9 @@ public void EquationTextBox_Submitted(Platform::Object ^ sender, CalculatorApp::Controls::MathRichEditBoxSubmission ^ e); void OnHighContrastChanged(Windows::UI::ViewManagement::AccessibilitySettings ^ sender, Platform::Object ^ args); - void ReloadAvailableColors(bool isHighContrast); + void ReloadAvailableColors(bool isHighContrast, bool reassignColors); void FocusEquationTextBox(ViewModel::EquationViewModel ^ equation); + void OnColorValuesChanged(Windows::UI::ViewManagement::UISettings ^ sender, Platform::Object ^ args); void EquationTextBox_RemoveButtonClicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); void EquationTextBox_KeyGraphFeaturesButtonClicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); @@ -71,6 +73,7 @@ public CalculatorApp::ViewModel::EquationViewModel ^ GetViewModelFromEquationTextBox(Platform::Object ^ sender); Windows::UI::ViewManagement::AccessibilitySettings ^ m_accessibilitySettings; + Windows::UI::ViewManagement::UISettings ^ m_uiSettings; int m_lastLineColorIndex; int m_lastFunctionLabelIndex; ViewModel::EquationViewModel ^ m_equationToFocus; diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml index f2b332190..5814a8ba1 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml @@ -286,27 +286,43 @@ + + + #000000 + #FFFFFF + #C6C6C6 + #FFFFFF + #1F1F1F + #4F4F4F + + 4,4,0,0 0,0,4,4 4,0,0,4 0,4,4,0 - 0 0 0 0 - - - + + Key = (VirtualKey)187; // OemAdd key virtualKey->Modifiers = VirtualKeyModifiers::Control; ZoomInButton->KeyboardAccelerators->Append(virtualKey); + + m_accessibilitySettings->HighContrastChanged += + ref new TypedEventHandler(this, &GraphingCalculator::OnHighContrastChanged); + + m_uiSettings = ref new UISettings(); + m_uiSettings->ColorValuesChanged += ref new TypedEventHandler(this, &GraphingCalculator::OnColorValuesChanged); + + ApplicationDataContainer ^ localSettings = ApplicationData::Current->LocalSettings; + + if (localSettings != nullptr && localSettings->Values->HasKey(StringReference(sc_IsGraphThemeMatchApp))) + { + auto isMatchAppLocalSetting = static_cast(localSettings->Values->Lookup(StringReference(sc_IsGraphThemeMatchApp))); + if (isMatchAppLocalSetting) + { + IsMatchAppTheme = true; + TraceLogger::GetInstance()->LogGraphTheme(L"IsMatchAppTheme"); + } + } + else + { + IsMatchAppTheme = false; + TraceLogger::GetInstance()->LogGraphTheme(L"IsAlwaysLightTheme"); + } + + UpdateGraphTheme(); } void GraphingCalculator::OnShowTracePopupChanged(bool newValue) @@ -97,7 +125,6 @@ void GraphingCalculator::OnShowTracePopupChanged(bool newValue) TraceValuePopup->Visibility = newValue ? ::Visibility::Visible : ::Visibility::Collapsed; } } - void GraphingCalculator::GraphingCalculator_DataContextChanged(FrameworkElement ^ sender, DataContextChangedEventArgs ^ args) { if (ViewModel != nullptr) @@ -512,9 +539,6 @@ void CalculatorApp::GraphingCalculator::ActiveTracing_Checked(Platform::Object ^ // hide the shadow in high contrast mode CursorShadow->Visibility = m_accessibilitySettings->HighContrast ? ::Visibility::Collapsed : ::Visibility::Visible; - m_accessibilitySettings->HighContrastChanged += - ref new TypedEventHandler(this, &GraphingCalculator::OnHighContrastChanged); - Canvas::SetLeft(TracePointer, TraceCanvas->ActualWidth / 2 + 40); Canvas::SetTop(TracePointer, TraceCanvas->ActualHeight / 2 - 40); @@ -569,10 +593,16 @@ void GraphingCalculator::GraphSettingsButton_Click(Object ^ sender, RoutedEventA void GraphingCalculator::DisplayGraphSettings() { - auto graphSettings = ref new GraphingSettings(); - graphSettings->SetGrapher(this->GraphingControl); + if (m_graphSettings == nullptr) + { + m_graphSettings = ref new GraphingSettings(); + m_graphSettings->GraphThemeSettingChanged += ref new EventHandler(this, &GraphingCalculator::OnGraphThemeSettingChanged); + } + + m_graphSettings->IsMatchAppTheme = IsMatchAppTheme; + m_graphSettings->SetGrapher(this->GraphingControl); auto flyoutGraphSettings = ref new Flyout(); - flyoutGraphSettings->Content = graphSettings; + flyoutGraphSettings->Content = m_graphSettings; flyoutGraphSettings->Closing += ref new TypedEventHandler(this, &GraphingCalculator::OnSettingsFlyout_Closing); auto options = ref new FlyoutShowOptions(); @@ -613,7 +643,12 @@ void GraphingCalculator::Canvas_SizeChanged(Object ^ /*sender*/, SizeChangedEven void GraphingCalculator::OnHighContrastChanged(AccessibilitySettings ^ sender, Object ^ /*args*/) { - CursorShadow->Visibility = sender->HighContrast ? ::Visibility::Collapsed : ::Visibility::Visible; + if (CursorShadow != nullptr) + { + CursorShadow->Visibility = sender->HighContrast ? ::Visibility::Collapsed : ::Visibility::Visible; + } + + UpdateGraphTheme(); } void GraphingCalculator::OnEquationFormatRequested(Object ^ sender, MathRichEditBoxFormatRequest ^ e) @@ -692,3 +727,51 @@ void GraphingCalculator::OnVisualStateChanged(Object ^ sender, VisualStateChange { TraceLogger::GetInstance()->LogVisualStateChanged(ViewMode::Graphing, e->NewState->Name, false); } + +void GraphingCalculator::OnColorValuesChanged(Windows::UI::ViewManagement::UISettings ^ sender, Platform::Object ^ args) +{ + WeakReference weakThis(this); + this->Dispatcher->RunAsync(CoreDispatcherPriority::Normal, ref new DispatchedHandler([weakThis]() { + auto refThis = weakThis.Resolve(); + if (refThis != nullptr && refThis->IsMatchAppTheme) + { + refThis->UpdateGraphTheme(); + } + })); +} + +void GraphingCalculator::UpdateGraphTheme() +{ + if (m_accessibilitySettings->HighContrast) + { + VisualStateManager::GoToState(this, L"GrapherHighContrast", true); + return; + } + + if (IsMatchAppTheme && Application::Current->RequestedTheme == ApplicationTheme::Dark) + { + VisualStateManager::GoToState(this, L"GrapherDarkTheme", true); + } + else + { + VisualStateManager::GoToState(this, L"GrapherLightTheme", true); + } +} + +void GraphingCalculator::OnGraphThemeSettingChanged(Object ^ sender, bool isMatchAppTheme) +{ + if (IsMatchAppTheme == isMatchAppTheme) + { + return; + } + + IsMatchAppTheme = isMatchAppTheme; + WeakReference weakThis(this); + this->Dispatcher->RunAsync(CoreDispatcherPriority::Normal, ref new DispatchedHandler([weakThis]() { + auto refThis = weakThis.Resolve(); + if (refThis != nullptr) + { + refThis->UpdateGraphTheme(); + } + })); +} diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h index 5e1988a29..98c6d51a7 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h @@ -31,6 +31,7 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo OBSERVABLE_PROPERTY_R(bool, IsKeyGraphFeaturesVisible); DEPENDENCY_PROPERTY(bool, IsSmallState); DEPENDENCY_PROPERTY(Platform::String ^, GraphControlAutomationName); + OBSERVABLE_PROPERTY_R(bool, IsMatchAppTheme); property CalculatorApp::ViewModel::GraphingCalculatorViewModel^ ViewModel { @@ -85,6 +86,9 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo void AddTracePointerShadow(); void UpdateGraphAutomationName(); + void OnColorValuesChanged(Windows::UI::ViewManagement::UISettings ^ sender, Platform::Object ^ args); + void UpdateGraphTheme(); + void OnGraphThemeSettingChanged(Platform::Object ^ sender, bool isMatchAppTheme); private: Windows::Foundation::EventRegistrationToken m_dataRequestedToken; @@ -95,6 +99,8 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo CalculatorApp::ViewModel::GraphingCalculatorViewModel ^ m_viewModel; Windows::UI::ViewManagement::AccessibilitySettings ^ m_accessibilitySettings; bool m_cursorShadowInitialized; + Windows::UI::ViewManagement::UISettings ^ m_uiSettings; + CalculatorApp::GraphingSettings ^ m_graphSettings; void OnSettingsFlyout_Closing(Windows::UI::Xaml::Controls::Primitives::FlyoutBase ^ sender, Windows::UI::Xaml::Controls::Primitives::FlyoutBaseClosingEventArgs ^ args); void Canvas_SizeChanged(Platform::Object ^ sender, Windows::UI::Xaml::SizeChangedEventArgs ^ e); void OnHighContrastChanged(Windows::UI::ViewManagement::AccessibilitySettings ^ sender, Platform::Object ^ args); diff --git a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml index 474a1f9e1..ba2cec438 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml @@ -3,6 +3,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="using:CalculatorApp" + xmlns:converters="using:CalculatorApp.Converters" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" Background="{ThemeResource ApplicationPageBackgroundThemeBrush}" mc:Ignorable="d"> @@ -92,6 +93,8 @@ + + @@ -212,6 +215,20 @@ + + + + + + + diff --git a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp index 5c6464d23..4445c4119 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.cpp @@ -13,6 +13,7 @@ using namespace CalculatorApp::ViewModel; using namespace Platform; using namespace Windows::Foundation; using namespace Windows::Foundation::Collections; +using namespace Windows::Storage; using namespace Windows::System; using namespace Windows::UI::Xaml; using namespace Windows::UI::Xaml::Controls; @@ -24,6 +25,7 @@ using namespace Windows::UI::Xaml::Navigation; GraphingSettings::GraphingSettings() : m_ViewModel(ref new GraphingSettingsViewModel()) + , m_IsMatchAppTheme(false) { InitializeComponent(); } @@ -88,3 +90,12 @@ String ^ GraphingSettings::GetLineWidthAutomationName(double width) return resourceLoader->GetResourceString("ExtraLargeLineWidthAutomationName"); } } + +void GraphingSettings::SetGraphTheme(bool isMatchAppTheme) +{ + String ^ propertyName = isMatchAppTheme ? L"IsMatchAppTheme" : L"IsAlwaysLightTheme"; + ApplicationDataContainer ^ localSettings = ApplicationData::Current->LocalSettings; + localSettings->Values->Insert(L"IsGraphThemeMatchApp", isMatchAppTheme); + GraphThemeSettingChanged(this, isMatchAppTheme); + TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::Theme, propertyName); +} diff --git a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h index 3911f4b9f..bea372bd9 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h @@ -17,14 +17,40 @@ namespace CalculatorApp public: GraphingSettings(); - PROPERTY_R(CalculatorApp::ViewModel::GraphingSettingsViewModel ^, ViewModel); + PROPERTY_RW(CalculatorApp::ViewModel::GraphingSettingsViewModel ^, ViewModel); + + + property bool IsMatchAppTheme + { + bool get() + { + return m_IsMatchAppTheme; + } + void set(bool value) + { + if (m_IsMatchAppTheme == value) + { + return; + } + + m_IsMatchAppTheme = value; + SetGraphTheme(m_IsMatchAppTheme); + } + } + Windows::UI::Xaml::Style ^ SelectTextBoxStyle(bool incorrectRange, bool error); void SetGrapher(GraphControl::Grapher ^ grapher); void RefreshRanges(); static Platform::String ^ GetLineWidthAutomationName(double width); + + // Event sends the if the IsMatchAppTheme is selected + event Windows::Foundation::EventHandler ^ GraphThemeSettingChanged; private: void GridSettingsTextBox_PreviewKeyDown(Platform::Object ^ sender, Windows::UI::Xaml::Input::KeyRoutedEventArgs ^ e); void ResetViewButton_Clicked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); + void SetGraphTheme(bool isMatchAppTheme); + + bool m_IsMatchAppTheme; }; } diff --git a/src/GraphControl/Control/Grapher.cpp b/src/GraphControl/Control/Grapher.cpp index 562fc63e3..c8a2abe78 100644 --- a/src/GraphControl/Control/Grapher.cpp +++ b/src/GraphControl/Control/Grapher.cpp @@ -16,6 +16,7 @@ using namespace Concurrency; using namespace Windows::Devices::Input; using namespace Windows::Foundation; using namespace Windows::Foundation::Collections; +using namespace Windows::Storage; using namespace Windows::Storage::Streams; using namespace Windows::System; using namespace Windows::System::Threading; @@ -34,6 +35,7 @@ DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, Variables); DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, Equations); DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, AxesColor); DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, GraphBackground); +DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, GridLinesColor); DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, LineWidth); namespace @@ -1056,6 +1058,17 @@ void Grapher::OnGraphBackgroundPropertyChanged(Windows::UI::Color /*oldValue*/, } } + +void Grapher::OnGridLinesColorPropertyChanged(Windows::UI::Color /*oldValue*/, Windows::UI::Color newValue) +{ + if (m_renderMain != nullptr && m_graph != nullptr) + { + auto gridLinesColor = Graphing::Color(newValue.R, newValue.G, newValue.B, newValue.A); + m_graph->GetOptions().SetGridColor(gridLinesColor); + m_renderMain->RunRenderPassAsync(); + } +} + void Grapher::OnLineWidthPropertyChanged(double oldValue, double newValue) { if (m_graph) diff --git a/src/GraphControl/Control/Grapher.h b/src/GraphControl/Control/Grapher.h index beb752a23..18dc8afda 100644 --- a/src/GraphControl/Control/Grapher.h +++ b/src/GraphControl/Control/Grapher.h @@ -50,6 +50,8 @@ public DEPENDENCY_PROPERTY_R_WITH_DEFAULT_AND_CALLBACK(GraphControl::EquationCollection ^, Equations, nullptr); DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(Windows::UI::Color, AxesColor, Windows::UI::Colors::Transparent); DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(Windows::UI::Color, GraphBackground, Windows::UI::Colors::Transparent); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(Windows::UI::Color, GridLinesColor, Windows::UI::Colors::Transparent); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(double, LineWidth, 2.0); // Pass active tracing turned on or off down to the renderer property bool ActiveTracing @@ -276,6 +278,7 @@ public void OnEquationsPropertyChanged(EquationCollection ^ oldValue, EquationCollection ^ newValue); void OnAxesColorPropertyChanged(Windows::UI::Color oldValue, Windows::UI::Color newValue); void OnGraphBackgroundPropertyChanged(Windows::UI::Color oldValue, Windows::UI::Color newValue); + void OnGridLinesColorPropertyChanged(Windows::UI::Color /*oldValue*/, Windows::UI::Color newValue); void OnLineWidthPropertyChanged(double oldValue, double newValue); void OnEquationChanged(Equation ^ equation); void OnEquationStyleChanged(Equation ^ equation); diff --git a/src/GraphingImpl/Mocks/GraphingOptions.h b/src/GraphingImpl/Mocks/GraphingOptions.h index 1234a403e..737894999 100644 --- a/src/GraphingImpl/Mocks/GraphingOptions.h +++ b/src/GraphingImpl/Mocks/GraphingOptions.h @@ -29,6 +29,7 @@ namespace MockGraphingImpl , m_asymptotesColor() , m_axisColor() , m_boxColor() + , m_gridColor() , m_fontColor() , m_showAxis(true) , m_showGrid(true) @@ -251,6 +252,19 @@ namespace MockGraphingImpl m_boxColor = Graphing::Color(); } + virtual Graphing::Color GetGridColor() const + { + return m_gridColor; + } + virtual void SetGridColor(const Graphing::Color& value) + { + m_gridColor = value; + } + virtual void ResetGridColor() + { + m_gridColor = Graphing::Color(); + } + virtual Graphing::Color GetFontColor() const { return m_fontColor; @@ -404,6 +418,7 @@ namespace MockGraphingImpl Graphing::Color m_asymptotesColor; Graphing::Color m_axisColor; Graphing::Color m_boxColor; + Graphing::Color m_gridColor; Graphing::Color m_fontColor; bool m_showAxis; bool m_showGrid; diff --git a/src/GraphingInterfaces/IGraphingOptions.h b/src/GraphingInterfaces/IGraphingOptions.h index 5d47ded54..d9a2b03d7 100644 --- a/src/GraphingInterfaces/IGraphingOptions.h +++ b/src/GraphingInterfaces/IGraphingOptions.h @@ -80,6 +80,10 @@ namespace Graphing virtual void SetBoxColor(const Graphing::Color& value) = 0; virtual void ResetBoxColor() = 0; + virtual Graphing::Color GetGridColor() const = 0; + virtual void SetGridColor(const Graphing::Color& value) = 0; + virtual void ResetGridColor() = 0; + virtual Graphing::Color GetFontColor() const = 0; virtual void SetFontColor(const Graphing::Color& value) = 0; virtual void ResetFontColor() = 0; From f552428d9706dbbcc355ecc51ec3406c196ffbdb Mon Sep 17 00:00:00 2001 From: Matt Cooley Date: Mon, 30 Mar 2020 15:23:22 -0700 Subject: [PATCH 48/76] Fix some code analysis warnings in CalcManager (#1074) --- src/CalcManager/CEngine/History.cpp | 8 ++-- src/CalcManager/CEngine/Rational.cpp | 2 +- src/CalcManager/CEngine/RationalMath.cpp | 12 ++--- src/CalcManager/CEngine/calc.cpp | 20 ++++++-- src/CalcManager/CEngine/scicomm.cpp | 22 ++++----- src/CalcManager/CEngine/scidisp.cpp | 4 +- src/CalcManager/CEngine/scifunc.cpp | 2 +- src/CalcManager/CEngine/scioper.cpp | 12 ++--- src/CalcManager/CEngine/sciset.cpp | 47 +++++++++++-------- src/CalcManager/CalculatorHistory.h | 6 --- src/CalcManager/CalculatorManager.cpp | 21 +++++---- src/CalcManager/CalculatorManager.h | 11 ++--- src/CalcManager/ExpressionCommand.cpp | 2 +- src/CalcManager/Header Files/CalcEngine.h | 17 +++---- src/CalcManager/Header Files/History.h | 2 +- src/CalcManager/Header Files/RadixType.h | 11 ++--- src/CalcManager/Header Files/Rational.h | 2 +- src/CalcManager/Header Files/RationalMath.h | 12 ++--- src/CalcManager/Ratpack/conv.cpp | 30 ++++++------ src/CalcManager/Ratpack/itrans.cpp | 14 +++--- src/CalcManager/Ratpack/ratpak.h | 37 +++++++-------- src/CalcManager/Ratpack/trans.cpp | 26 +++++----- src/CalcViewModel/HistoryViewModel.cpp | 22 ++++----- src/CalcViewModel/HistoryViewModel.h | 12 ++--- .../StandardCalculatorViewModel.cpp | 22 ++++----- .../StandardCalculatorViewModel.h | 2 +- .../Converters/RadixToStringConverter.cpp | 8 ++-- src/CalculatorUnitTests/HistoryTests.cpp | 6 +-- src/CalculatorUnitTests/RationalTest.cpp | 44 ++++++++--------- .../StandardViewModelUnitTests.cpp | 8 ++-- 30 files changed, 225 insertions(+), 219 deletions(-) diff --git a/src/CalcManager/CEngine/History.cpp b/src/CalcManager/CEngine/History.cpp index d3a32ebb9..ea73e18ca 100644 --- a/src/CalcManager/CEngine/History.cpp +++ b/src/CalcManager/CEngine/History.cpp @@ -210,7 +210,7 @@ bool CHistoryCollector::FOpndAddedToHistory() // This is does the postfix to prefix translation of the input and adds the text to the history. Eg. doing 2 + 4 (sqrt), // this routine will ensure the last sqrt call unary operator, actually goes back in history and wraps 4 in sqrt(4) // -void CHistoryCollector::AddUnaryOpToHistory(int nOpCode, bool fInv, ANGLE_TYPE angletype) +void CHistoryCollector::AddUnaryOpToHistory(int nOpCode, bool fInv, AngleType angletype) { int iCommandEnd; // When successfully applying a unary op, there should be an opnd already @@ -230,15 +230,15 @@ void CHistoryCollector::AddUnaryOpToHistory(int nOpCode, bool fInv, ANGLE_TYPE a else { CalculationManager::Command angleOpCode; - if (angletype == ANGLE_DEG) + if (angletype == AngleType::Degrees) { angleOpCode = CalculationManager::Command::CommandDEG; } - else if (angletype == ANGLE_RAD) + else if (angletype == AngleType::Radians) { angleOpCode = CalculationManager::Command::CommandRAD; } - else // (angletype == ANGLE_GRAD) + else // (angletype == AngleType::Gradians) { angleOpCode = CalculationManager::Command::CommandGRAD; } diff --git a/src/CalcManager/CEngine/Rational.cpp b/src/CalcManager/CEngine/Rational.cpp index 8eb4a91a2..c703f61dd 100644 --- a/src/CalcManager/CEngine/Rational.cpp +++ b/src/CalcManager/CEngine/Rational.cpp @@ -460,7 +460,7 @@ namespace CalcEngine return !(lhs < rhs); } - wstring Rational::ToString(uint32_t radix, NUMOBJ_FMT fmt, int32_t precision) const + wstring Rational::ToString(uint32_t radix, NumberFormat fmt, int32_t precision) const { PRAT rat = this->ToPRAT(); wstring result{}; diff --git a/src/CalcManager/CEngine/RationalMath.cpp b/src/CalcManager/CEngine/RationalMath.cpp index 4b1a4b8af..00b628ab7 100644 --- a/src/CalcManager/CEngine/RationalMath.cpp +++ b/src/CalcManager/CEngine/RationalMath.cpp @@ -147,7 +147,7 @@ Rational RationalMath::Abs(Rational const& rat) return Rational{ Number{ 1, rat.P().Exp(), rat.P().Mantissa() }, Number{ 1, rat.Q().Exp(), rat.Q().Mantissa() } }; } -Rational RationalMath::Sin(Rational const& rat, ANGLE_TYPE angletype) +Rational RationalMath::Sin(Rational const& rat, AngleType angletype) { PRAT prat = rat.ToPRAT(); @@ -167,7 +167,7 @@ Rational RationalMath::Sin(Rational const& rat, ANGLE_TYPE angletype) return result; } -Rational RationalMath::Cos(Rational const& rat, ANGLE_TYPE angletype) +Rational RationalMath::Cos(Rational const& rat, AngleType angletype) { PRAT prat = rat.ToPRAT(); @@ -187,7 +187,7 @@ Rational RationalMath::Cos(Rational const& rat, ANGLE_TYPE angletype) return result; } -Rational RationalMath::Tan(Rational const& rat, ANGLE_TYPE angletype) +Rational RationalMath::Tan(Rational const& rat, AngleType angletype) { PRAT prat = rat.ToPRAT(); @@ -207,7 +207,7 @@ Rational RationalMath::Tan(Rational const& rat, ANGLE_TYPE angletype) return result; } -Rational RationalMath::ASin(Rational const& rat, ANGLE_TYPE angletype) +Rational RationalMath::ASin(Rational const& rat, AngleType angletype) { PRAT prat = rat.ToPRAT(); @@ -227,7 +227,7 @@ Rational RationalMath::ASin(Rational const& rat, ANGLE_TYPE angletype) return result; } -Rational RationalMath::ACos(Rational const& rat, ANGLE_TYPE angletype) +Rational RationalMath::ACos(Rational const& rat, AngleType angletype) { PRAT prat = rat.ToPRAT(); @@ -247,7 +247,7 @@ Rational RationalMath::ACos(Rational const& rat, ANGLE_TYPE angletype) return result; } -Rational RationalMath::ATan(Rational const& rat, ANGLE_TYPE angletype) +Rational RationalMath::ATan(Rational const& rat, AngleType angletype) { PRAT prat = rat.ToPRAT(); diff --git a/src/CalcManager/CEngine/calc.cpp b/src/CalcManager/CEngine/calc.cpp index c57753799..dd70fb634 100644 --- a/src/CalcManager/CEngine/calc.cpp +++ b/src/CalcManager/CEngine/calc.cpp @@ -73,7 +73,7 @@ CCalcEngine::CCalcEngine( , m_bRecord(false) , m_bSetCalcState(false) , m_input(DEFAULT_DEC_SEPARATOR) - , m_nFE(FMT_FLOAT) + , m_nFE(NumberFormat::Float) , m_memoryValue{ make_unique() } , m_holdVal{} , m_currentVal{} @@ -94,8 +94,8 @@ CCalcEngine::CCalcEngine( , m_nPrecOp() , m_precedenceOpCount(0) , m_nLastCom(0) - , m_angletype(ANGLE_DEG) - , m_numwidth(QWORD_WIDTH) + , m_angletype(AngleType::Degrees) + , m_numwidth(NUM_WIDTH::QWORD_WIDTH) , m_HistoryCollector(pCalcDisplay, pHistoryDisplay, DEFAULT_DEC_SEPARATOR) , m_groupSeparator(DEFAULT_GRP_SEPARATOR) { @@ -105,7 +105,7 @@ CCalcEngine::CCalcEngine( m_maxTrigonometricNum = RationalMath::Pow(10, 100); - SetRadixTypeAndNumWidth(DEC_RADIX, m_numwidth); + SetRadixTypeAndNumWidth(RadixType::Decimal, m_numwidth); SettingsChanged(); DisplayNum(); } @@ -128,10 +128,20 @@ void CCalcEngine::InitChopNumbers() auto maxVal = m_chopNumbers[i] / 2; maxVal = RationalMath::Integer(maxVal); - m_maxDecimalValueStrings[i] = maxVal.ToString(10, FMT_FLOAT, m_precision); + m_maxDecimalValueStrings[i] = maxVal.ToString(10, NumberFormat::Float, m_precision); } } +CalcEngine::Rational CCalcEngine::GetChopNumber() const +{ + return m_chopNumbers[static_cast(m_numwidth)]; +} + +std::wstring CCalcEngine::GetMaxDecimalValueString() const +{ + return m_maxDecimalValueStrings[static_cast(m_numwidth)]; +} + // Gets the number in memory for UI to keep it persisted and set it again to a different instance // of CCalcEngine. Otherwise it will get destructed with the CalcEngine unique_ptr CCalcEngine::PersistedMemObject() diff --git a/src/CalcManager/CEngine/scicomm.cpp b/src/CalcManager/CEngine/scicomm.cpp index b73867140..f052df897 100644 --- a/src/CalcManager/CEngine/scicomm.cpp +++ b/src/CalcManager/CEngine/scicomm.cpp @@ -177,7 +177,7 @@ void CCalcEngine::ProcessCommandWorker(OpCode wParam) return; } - if (!m_input.TryAddDigit(iValue, m_radix, m_fIntegerMode, m_maxDecimalValueStrings[m_numwidth], m_dwWordBitWidth, m_cIntDigitsSav)) + if (!m_input.TryAddDigit(iValue, m_radix, m_fIntegerMode, GetMaxDecimalValueString(), m_dwWordBitWidth, m_cIntDigitsSav)) { HandleErrorCommand(wParam); HandleMaxDigitsReached(); @@ -619,7 +619,7 @@ void CCalcEngine::ProcessCommandWorker(OpCode wParam) case IDM_OCT: case IDM_BIN: { - SetRadixTypeAndNumWidth((RADIX_TYPE)(wParam - IDM_HEX), (NUM_WIDTH)-1); + SetRadixTypeAndNumWidth((RadixType)(wParam - IDM_HEX), (NUM_WIDTH)-1); m_HistoryCollector.UpdateHistoryExpression(m_radix, m_precision); break; } @@ -635,20 +635,20 @@ void CCalcEngine::ProcessCommandWorker(OpCode wParam) } // Compat. mode BaseX: Qword, Dword, Word, Byte - SetRadixTypeAndNumWidth((RADIX_TYPE)-1, (NUM_WIDTH)(wParam - IDM_QWORD)); + SetRadixTypeAndNumWidth((RadixType)-1, (NUM_WIDTH)(wParam - IDM_QWORD)); break; case IDM_DEG: case IDM_RAD: case IDM_GRAD: - m_angletype = static_cast(wParam - IDM_DEG); + m_angletype = static_cast(wParam - IDM_DEG); break; case IDC_SIGN: { if (m_bRecord) { - if (m_input.TryToggleSign(m_fIntegerMode, m_maxDecimalValueStrings[m_numwidth])) + if (m_input.TryToggleSign(m_fIntegerMode, GetMaxDecimalValueString())) { DisplayNum(); } @@ -766,7 +766,7 @@ void CCalcEngine::ProcessCommandWorker(OpCode wParam) break; case IDC_FE: // Toggle exponential notation display. - m_nFE = NUMOBJ_FMT(!(int)m_nFE); + m_nFE = NumberFormat(!(int)m_nFE); DisplayNum(); break; @@ -961,7 +961,7 @@ static const std::unordered_map operatorStringTable = { IDC_MOD, { SIDS_MOD, L"", L"", L"", L"", L"", SIDS_PROGRAMMER_MOD } }, }; -wstring_view CCalcEngine::OpCodeToUnaryString(int nOpCode, bool fInv, ANGLE_TYPE angletype) +wstring_view CCalcEngine::OpCodeToUnaryString(int nOpCode, bool fInv, AngleType angletype) { // Try to lookup the ID in the UFNE table wstring ids = L""; @@ -969,7 +969,7 @@ wstring_view CCalcEngine::OpCodeToUnaryString(int nOpCode, bool fInv, ANGLE_TYPE if (auto pair = operatorStringTable.find(nOpCode); pair != operatorStringTable.end()) { const FunctionNameElement& element = pair->second; - if (!element.hasAngleStrings || ANGLE_DEG == angletype) + if (!element.hasAngleStrings || AngleType::Degrees == angletype) { if (fInv) { @@ -981,7 +981,7 @@ wstring_view CCalcEngine::OpCodeToUnaryString(int nOpCode, bool fInv, ANGLE_TYPE ids = element.degreeString; } } - else if (ANGLE_RAD == angletype) + else if (AngleType::Radians == angletype) { if (fInv) { @@ -992,7 +992,7 @@ wstring_view CCalcEngine::OpCodeToUnaryString(int nOpCode, bool fInv, ANGLE_TYPE ids = element.radString; } } - else if (ANGLE_GRAD == angletype) + else if (AngleType::Gradians == angletype) { if (fInv) { @@ -1094,7 +1094,7 @@ wstring CCalcEngine::GetStringForDisplay(Rational const& rat, uint32_t radix) if ((radix == 10) && fMsb) { // If high bit is set, then get the decimal number in negative 2's complement form. - tempRat = -((tempRat ^ m_chopNumbers[m_numwidth]) + 1); + tempRat = -((tempRat ^ GetChopNumber()) + 1); } result = tempRat.ToString(radix, m_nFE, m_precision); diff --git a/src/CalcManager/CEngine/scidisp.cpp b/src/CalcManager/CEngine/scidisp.cpp index 632969fda..4c52ac718 100644 --- a/src/CalcManager/CEngine/scidisp.cpp +++ b/src/CalcManager/CEngine/scidisp.cpp @@ -67,10 +67,10 @@ CalcEngine::Rational CCalcEngine::TruncateNumForIntMath(CalcEngine::Rational con { // if negative make positive by doing a twos complement result = -(result)-1; - result ^= m_chopNumbers[m_numwidth]; + result ^= GetChopNumber(); } - result &= m_chopNumbers[m_numwidth]; + result &= GetChopNumber(); return result; } diff --git a/src/CalcManager/CEngine/scifunc.cpp b/src/CalcManager/CEngine/scifunc.cpp index 15ef164b3..b767968a2 100644 --- a/src/CalcManager/CEngine/scifunc.cpp +++ b/src/CalcManager/CEngine/scifunc.cpp @@ -42,7 +42,7 @@ CalcEngine::Rational CCalcEngine::SciCalcFunctions(CalcEngine::Rational const& r } else { - result = rat ^ m_chopNumbers[m_numwidth]; + result = rat ^ GetChopNumber(); } break; diff --git a/src/CalcManager/CEngine/scioper.cpp b/src/CalcManager/CEngine/scioper.cpp index 6ea3956b9..cd734a0ad 100644 --- a/src/CalcManager/CEngine/scioper.cpp +++ b/src/CalcManager/CEngine/scioper.cpp @@ -29,11 +29,11 @@ CalcEngine::Rational CCalcEngine::DoOperation(int operation, CalcEngine::Rationa break; case IDC_NAND: - result = (result & rhs) ^ m_chopNumbers[m_numwidth]; + result = (result & rhs) ^ GetChopNumber(); break; case IDC_NOR: - result = (result | rhs) ^ m_chopNumbers[m_numwidth]; + result = (result | rhs) ^ GetChopNumber(); break; case IDC_RSHF: @@ -53,10 +53,10 @@ CalcEngine::Rational CCalcEngine::DoOperation(int operation, CalcEngine::Rationa { result = Integer(result); - auto tempRat = m_chopNumbers[m_numwidth] >> holdVal; + auto tempRat = GetChopNumber() >> holdVal; tempRat = Integer(tempRat); - result |= tempRat ^ m_chopNumbers[m_numwidth]; + result |= tempRat ^ GetChopNumber(); } break; } @@ -105,7 +105,7 @@ CalcEngine::Rational CCalcEngine::DoOperation(int operation, CalcEngine::Rationa if (fMsb) { - result = (rhs ^ m_chopNumbers[m_numwidth]) + 1; + result = (rhs ^ GetChopNumber()) + 1; iNumeratorSign = -1; } @@ -115,7 +115,7 @@ CalcEngine::Rational CCalcEngine::DoOperation(int operation, CalcEngine::Rationa if (fMsb) { - temp = (temp ^ m_chopNumbers[m_numwidth]) + 1; + temp = (temp ^ GetChopNumber()) + 1; iDenominatorSign = -1; } diff --git a/src/CalcManager/CEngine/sciset.cpp b/src/CalcManager/CEngine/sciset.cpp index 676ab0ebe..cb1435593 100644 --- a/src/CalcManager/CEngine/sciset.cpp +++ b/src/CalcManager/CEngine/sciset.cpp @@ -9,7 +9,7 @@ using namespace std; // To be called when either the radix or num width changes. You can use -1 in either of these values to mean // dont change that. -void CCalcEngine::SetRadixTypeAndNumWidth(RADIX_TYPE radixtype, NUM_WIDTH numwidth) +void CCalcEngine::SetRadixTypeAndNumWidth(RadixType radixtype, NUM_WIDTH numwidth) { // When in integer mode, the number is represented in 2's complement form. When a bit width is changing, we can // change the number representation back to sign, abs num form in ratpak. Soon when display sees this, it will @@ -24,19 +24,19 @@ void CCalcEngine::SetRadixTypeAndNumWidth(RADIX_TYPE radixtype, NUM_WIDTH numwid if (fMsb) { // If high bit is set, then get the decimal number in -ve 2'scompl form. - auto tempResult = m_currentVal ^ m_chopNumbers[m_numwidth]; + auto tempResult = m_currentVal ^ GetChopNumber(); m_currentVal = -(tempResult + 1); } } - if (radixtype >= HEX_RADIX && radixtype <= BIN_RADIX) + if (radixtype >= RadixType::Hex && radixtype <= RadixType::Binary) { m_radix = NRadixFromRadixType(radixtype); // radixtype is not even saved } - if (numwidth >= QWORD_WIDTH && numwidth <= BYTE_WIDTH) + if (numwidth >= NUM_WIDTH::QWORD_WIDTH && numwidth <= NUM_WIDTH::BYTE_WIDTH) { m_numwidth = numwidth; m_dwWordBitWidth = DwWordBitWidthFromeNumWidth(numwidth); @@ -50,29 +50,36 @@ void CCalcEngine::SetRadixTypeAndNumWidth(RADIX_TYPE radixtype, NUM_WIDTH numwid DisplayNum(); } -int32_t CCalcEngine::DwWordBitWidthFromeNumWidth(NUM_WIDTH /*numwidth*/) +int32_t CCalcEngine::DwWordBitWidthFromeNumWidth(NUM_WIDTH numwidth) { - static constexpr int nBitMax[] = { 64, 32, 16, 8 }; - int32_t wmax = nBitMax[0]; - - if (m_numwidth >= 0 && (size_t)m_numwidth < size(nBitMax)) + switch (numwidth) { - wmax = nBitMax[m_numwidth]; + case NUM_WIDTH::DWORD_WIDTH: + return 32; + case NUM_WIDTH::WORD_WIDTH: + return 16; + case NUM_WIDTH::BYTE_WIDTH: + return 8; + case NUM_WIDTH::QWORD_WIDTH: + default: + return 64; } - return wmax; } -uint32_t CCalcEngine::NRadixFromRadixType(RADIX_TYPE radixtype) +uint32_t CCalcEngine::NRadixFromRadixType(RadixType radixtype) { - static constexpr uint32_t rgnRadish[4] = { 16, 10, 8, 2 }; /* Number bases in the same order as radixtype */ - uint32_t radix = 10; - - // convert special bases into symbolic values - if (radixtype >= 0 && (size_t)radixtype < size(rgnRadish)) + switch (radixtype) { - radix = rgnRadish[radixtype]; + case RadixType::Hex: + return 16; + case RadixType::Octal: + return 8; + case RadixType::Binary: + return 2; + case RadixType::Decimal: + default: + return 10; } - return radix; } // Toggles a given bit into the number representation. returns true if it changed it actually. @@ -141,7 +148,7 @@ void CCalcEngine::UpdateMaxIntDigits() // if in integer mode you still have to honor the max digits you can enter based on bit width if (m_fIntegerMode) { - m_cIntDigitsSav = static_cast(m_maxDecimalValueStrings[m_numwidth].length()) - 1; + m_cIntDigitsSav = static_cast(GetMaxDecimalValueString().length()) - 1; // This is the max digits you can enter a decimal in fixed width mode aka integer mode -1. The last digit // has to be checked separately } diff --git a/src/CalcManager/CalculatorHistory.h b/src/CalcManager/CalculatorHistory.h index e8c874a00..2c8499064 100644 --- a/src/CalcManager/CalculatorHistory.h +++ b/src/CalcManager/CalculatorHistory.h @@ -7,12 +7,6 @@ namespace CalculationManager { - enum CALCULATOR_MODE - { - CM_STD = 0, - CM_SCI, - }; - struct HISTORYITEMVECTOR { std::shared_ptr>> spTokens; diff --git a/src/CalcManager/CalculatorManager.cpp b/src/CalcManager/CalculatorManager.cpp index 8d6f1e51e..cc7882479 100644 --- a/src/CalcManager/CalculatorManager.cpp +++ b/src/CalcManager/CalculatorManager.cpp @@ -33,6 +33,7 @@ namespace CalculationManager , m_savedDegreeMode(Command::CommandDEG) , m_pStdHistory(new CalculatorHistory(MAX_HISTORY_ITEMS)) , m_pSciHistory(new CalculatorHistory(MAX_HISTORY_ITEMS)) + , m_pHistory(nullptr) { CCalcEngine::InitialOneTimeOnlySetup(*m_resourceProvider); } @@ -551,9 +552,9 @@ namespace CalculationManager return m_pHistory->GetHistory(); } - vector> const& CalculatorManager::GetHistoryItems(_In_ CALCULATOR_MODE mode) + vector> const& CalculatorManager::GetHistoryItems(_In_ CalculatorMode mode) { - return (mode == CM_STD) ? m_pStdHistory->GetHistory() : m_pSciHistory->GetHistory(); + return (mode == CalculatorMode::Standard) ? m_pStdHistory->GetHistory() : m_pSciHistory->GetHistory(); } shared_ptr const& CalculatorManager::GetHistoryItem(_In_ unsigned int uIdx) @@ -576,20 +577,20 @@ namespace CalculationManager m_pHistory->ClearHistory(); } - void CalculatorManager::SetRadix(RADIX_TYPE iRadixType) + void CalculatorManager::SetRadix(RadixType iRadixType) { switch (iRadixType) { - case RADIX_TYPE::HEX_RADIX: + case RadixType::Hex: m_currentCalculatorEngine->ProcessCommand(IDC_HEX); break; - case RADIX_TYPE::DEC_RADIX: + case RadixType::Decimal: m_currentCalculatorEngine->ProcessCommand(IDC_DEC); break; - case RADIX_TYPE::OCT_RADIX: + case RadixType::Octal: m_currentCalculatorEngine->ProcessCommand(IDC_OCT); break; - case RADIX_TYPE::BIN_RADIX: + case RadixType::Binary: m_currentCalculatorEngine->ProcessCommand(IDC_BIN); break; default: @@ -623,16 +624,16 @@ namespace CalculationManager return m_currentDegreeMode; } - void CalculatorManager::SetHistory(_In_ CALCULATOR_MODE eMode, _In_ vector> const& history) + void CalculatorManager::SetHistory(_In_ CalculatorMode eMode, _In_ vector> const& history) { CalculatorHistory* pHistory = nullptr; switch (eMode) { - case CM_STD: + case CalculatorMode::Standard: pHistory = m_pStdHistory.get(); break; - case CM_SCI: + case CalculatorMode::Scientific: pHistory = m_pSciHistory.get(); break; } diff --git a/src/CalcManager/CalculatorManager.h b/src/CalcManager/CalculatorManager.h index dd30c16a1..23134e3a8 100644 --- a/src/CalcManager/CalculatorManager.h +++ b/src/CalcManager/CalculatorManager.h @@ -15,9 +15,8 @@ namespace CalculationManager enum class CalculatorMode { - StandardMode, - ScientificMode, - ProgrammerMode, + Standard = 0, + Scientific, }; enum class CalculatorPrecision @@ -117,7 +116,7 @@ namespace CalculationManager { return m_savedCommands; } - void SetRadix(RADIX_TYPE iRadixType); + void SetRadix(RadixType iRadixType); void SetMemorizedNumbersString(); std::wstring GetResultForRadix(uint32_t radix, int32_t precision, bool groupDigitsPerRadix); void SetPrecision(int32_t precision); @@ -125,7 +124,7 @@ namespace CalculationManager wchar_t DecimalSeparator(); std::vector> const& GetHistoryItems(); - std::vector> const& GetHistoryItems(_In_ CalculationManager::CALCULATOR_MODE mode); + std::vector> const& GetHistoryItems(_In_ CalculatorMode mode); std::shared_ptr const& GetHistoryItem(_In_ unsigned int uIdx); bool RemoveHistoryItem(_In_ unsigned int uIdx); void ClearHistory(); @@ -134,7 +133,7 @@ namespace CalculationManager return m_pHistory->MaxHistorySize(); } CalculationManager::Command GetCurrentDegreeMode(); - void SetHistory(_In_ CALCULATOR_MODE eMode, _In_ std::vector> const& history); + void SetHistory(_In_ CalculatorMode eMode, _In_ std::vector> const& history); void SetInHistoryItemLoadMode(_In_ bool isHistoryItemLoadMode); }; } diff --git a/src/CalcManager/ExpressionCommand.cpp b/src/CalcManager/ExpressionCommand.cpp index 628805fbf..d574c9dae 100644 --- a/src/CalcManager/ExpressionCommand.cpp +++ b/src/CalcManager/ExpressionCommand.cpp @@ -277,7 +277,7 @@ wstring COpndCommand::GetString(uint32_t radix, int32_t precision) { if (m_fInitialized) { - return m_value.ToString(radix, eNUMOBJ_FMT::FMT_FLOAT, precision); + return m_value.ToString(radix, NumberFormat::Float, precision); } return wstring{}; diff --git a/src/CalcManager/Header Files/CalcEngine.h b/src/CalcManager/Header Files/CalcEngine.h index 26b80515b..0158e6286 100644 --- a/src/CalcManager/Header Files/CalcEngine.h +++ b/src/CalcManager/Header Files/CalcEngine.h @@ -31,14 +31,13 @@ // The real exports follows later // This is expected to be in same order as IDM_QWORD, IDM_DWORD etc. -enum eNUM_WIDTH +enum class NUM_WIDTH { QWORD_WIDTH, // Number width of 64 bits mode (default) DWORD_WIDTH, // Number width of 32 bits mode WORD_WIDTH, // Number width of 16 bits mode BYTE_WIDTH // Number width of 16 bits mode }; -typedef enum eNUM_WIDTH NUM_WIDTH; static constexpr size_t NUM_WIDTH_LENGTH = 4; namespace CalculationManager @@ -106,7 +105,7 @@ class CCalcEngine { return GetString(IdStrFromCmdId(nOpCode)); } - static std::wstring_view OpCodeToUnaryString(int nOpCode, bool fInv, ANGLE_TYPE angletype); + static std::wstring_view OpCodeToUnaryString(int nOpCode, bool fInv, AngleType angletype); static std::wstring_view OpCodeToBinaryString(int nOpCode, bool isIntegerMode); private: @@ -117,11 +116,11 @@ class CCalcEngine int m_nOpCode; /* ID value of operation. */ int m_nPrevOpCode; // opcode which computed the number in m_currentVal. 0 if it is already bracketed or plain number or // if it hasn't yet been computed - bool m_bChangeOp; /* Flag for changing operation. */ + bool m_bChangeOp; // Flag for changing operation bool m_bRecord; // Global mode: recording or displaying bool m_bSetCalcState; // Flag for setting the engine result state CalcEngine::CalcInput m_input; // Global calc input object for decimal strings - eNUMOBJ_FMT m_nFE; /* Scientific notation conversion flag. */ + NumberFormat m_nFE; // Scientific notation conversion flag CalcEngine::Rational m_maxTrigonometricNum; std::unique_ptr m_memoryValue; // Current memory value. @@ -148,7 +147,7 @@ class CCalcEngine std::array m_nPrecOp; /* Holding array for precedence operations. */ size_t m_precedenceOpCount; /* Current number of precedence ops in holding. */ int m_nLastCom; // Last command entered. - ANGLE_TYPE m_angletype; // Current Angle type when in dec mode. one of deg, rad or grad + AngleType m_angletype; // Current Angle type when in dec mode. one of deg, rad or grad NUM_WIDTH m_numwidth; // one of qword, dword, word or byte mode. int32_t m_dwWordBitWidth; // # of bits in currently selected word size @@ -179,15 +178,17 @@ class CCalcEngine CalcEngine::Rational TruncateNumForIntMath(CalcEngine::Rational const& rat); CalcEngine::Rational SciCalcFunctions(CalcEngine::Rational const& rat, uint32_t op); CalcEngine::Rational DoOperation(int operation, CalcEngine::Rational const& lhs, CalcEngine::Rational const& rhs); - void SetRadixTypeAndNumWidth(RADIX_TYPE radixtype, NUM_WIDTH numwidth); + void SetRadixTypeAndNumWidth(RadixType radixtype, NUM_WIDTH numwidth); int32_t DwWordBitWidthFromeNumWidth(NUM_WIDTH numwidth); - uint32_t NRadixFromRadixType(RADIX_TYPE radixtype); + uint32_t NRadixFromRadixType(RadixType radixtype); double GenerateRandomNumber(); bool TryToggleBit(CalcEngine::Rational& rat, uint32_t wbitno); void CheckAndAddLastBinOpToHistory(bool addToHistory = true); void InitChopNumbers(); + CalcEngine::Rational GetChopNumber() const; + std::wstring GetMaxDecimalValueString() const; static void LoadEngineStrings(CalculationManager::IResourceProvider& resourceProvider); static int IdStrFromCmdId(int id) diff --git a/src/CalcManager/Header Files/History.h b/src/CalcManager/Header Files/History.h index 66bac67fa..f88f61c38 100644 --- a/src/CalcManager/Header Files/History.h +++ b/src/CalcManager/Header Files/History.h @@ -23,7 +23,7 @@ class CHistoryCollector void RemoveLastOpndFromHistory(); void AddBinOpToHistory(int nOpCode, bool isIntgerMode, bool fNoRepetition = true); void ChangeLastBinOp(int nOpCode, bool fPrecInvToHigher, bool isIntgerMode); - void AddUnaryOpToHistory(int nOpCode, bool fInv, ANGLE_TYPE angletype); + void AddUnaryOpToHistory(int nOpCode, bool fInv, AngleType angletype); void AddOpenBraceToHistory(); void AddCloseBraceToHistory(); void PushLastOpndStart(int ichOpndStart = -1); diff --git a/src/CalcManager/Header Files/RadixType.h b/src/CalcManager/Header Files/RadixType.h index 380d6afe0..2ae0f90ab 100644 --- a/src/CalcManager/Header Files/RadixType.h +++ b/src/CalcManager/Header Files/RadixType.h @@ -4,11 +4,10 @@ #pragma once // This is expected to be in same order as IDM_HEX, IDM_DEC, IDM_OCT, IDM_BIN -enum eRADIX_TYPE +enum class RadixType { - HEX_RADIX, - DEC_RADIX, - OCT_RADIX, - BIN_RADIX + Hex, + Decimal, + Octal, + Binary }; -typedef enum eRADIX_TYPE RADIX_TYPE; diff --git a/src/CalcManager/Header Files/Rational.h b/src/CalcManager/Header Files/Rational.h index 8ded3c27d..25df92bda 100644 --- a/src/CalcManager/Header Files/Rational.h +++ b/src/CalcManager/Header Files/Rational.h @@ -64,7 +64,7 @@ namespace CalcEngine friend bool operator<=(Rational const& lhs, Rational const& rhs); friend bool operator>=(Rational const& lhs, Rational const& rhs); - std::wstring ToString(uint32_t radix, NUMOBJ_FMT format, int32_t precision) const; + std::wstring ToString(uint32_t radix, NumberFormat format, int32_t precision) const; uint64_t ToUInt64_t() const; private: diff --git a/src/CalcManager/Header Files/RationalMath.h b/src/CalcManager/Header Files/RationalMath.h index 59500573f..f3ba56eca 100644 --- a/src/CalcManager/Header Files/RationalMath.h +++ b/src/CalcManager/Header Files/RationalMath.h @@ -22,12 +22,12 @@ namespace CalcEngine::RationalMath Rational Invert(Rational const& rat); Rational Abs(Rational const& rat); - Rational Sin(Rational const& rat, ANGLE_TYPE angletype); - Rational Cos(Rational const& rat, ANGLE_TYPE angletype); - Rational Tan(Rational const& rat, ANGLE_TYPE angletype); - Rational ASin(Rational const& rat, ANGLE_TYPE angletype); - Rational ACos(Rational const& rat, ANGLE_TYPE angletype); - Rational ATan(Rational const& rat, ANGLE_TYPE angletype); + Rational Sin(Rational const& rat, AngleType angletype); + Rational Cos(Rational const& rat, AngleType angletype); + Rational Tan(Rational const& rat, AngleType angletype); + Rational ASin(Rational const& rat, AngleType angletype); + Rational ACos(Rational const& rat, AngleType angletype); + Rational ATan(Rational const& rat, AngleType angletype); Rational Sinh(Rational const& rat); Rational Cosh(Rational const& rat); diff --git a/src/CalcManager/Ratpack/conv.cpp b/src/CalcManager/Ratpack/conv.cpp index 5578b0545..4f7609de0 100644 --- a/src/CalcManager/Ratpack/conv.cpp +++ b/src/CalcManager/Ratpack/conv.cpp @@ -1063,27 +1063,27 @@ bool stripzeroesnum(_Inout_ PNUMBER pnum, int32_t starting) // FUNCTION: NumberToString // // ARGUMENTS: number representation -// fmt, one of FMT_FLOAT FMT_SCIENTIFIC or -// FMT_ENGINEERING +// fmt, one of NumberFormat::Float, NumberFormat::Scientific or +// NumberFormat::Engineering // integer radix and int32_t precision value // // RETURN: String representation of number. // -// DESCRIPTION: Converts a number to it's string +// DESCRIPTION: Converts a number to its string // representation. // //----------------------------------------------------------------------------- -wstring NumberToString(_Inout_ PNUMBER& pnum, int format, uint32_t radix, int32_t precision) +wstring NumberToString(_Inout_ PNUMBER& pnum, NumberFormat format, uint32_t radix, int32_t precision) { stripzeroesnum(pnum, precision + 2); int32_t length = pnum->cdigit; int32_t exponent = pnum->exp + length; // Actual number of digits to the left of decimal - int32_t oldFormat = format; - if (exponent > precision && format == FMT_FLOAT) + NumberFormat oldFormat = format; + if (exponent > precision && format == NumberFormat::Float) { // Force scientific mode to prevent user from assuming 33rd digit is exact. - format = FMT_SCIENTIFIC; + format = NumberFormat::Scientific; } // Make length small enough to fit in pret. @@ -1103,7 +1103,7 @@ wstring NumberToString(_Inout_ PNUMBER& pnum, int format, uint32_t radix, int32_ divnum(&round, num_two, radix, precision); // Make round number exponent one below the LSD for the number. - if (exponent > 0 || format == FMT_FLOAT) + if (exponent > 0 || format == NumberFormat::Float) { round->exp = pnum->exp + pnum->cdigit - round->cdigit - precision; } @@ -1116,7 +1116,7 @@ wstring NumberToString(_Inout_ PNUMBER& pnum, int format, uint32_t radix, int32_ round->sign = pnum->sign; } - if (format == FMT_FLOAT) + if (format == NumberFormat::Float) { // Figure out if the exponent will fill more space than the non-exponent field. if ((length - exponent > precision) || (exponent > precision + 3)) @@ -1130,7 +1130,7 @@ wstring NumberToString(_Inout_ PNUMBER& pnum, int format, uint32_t radix, int32_ { // Case where too many zeros are to the right or left of the // decimal pt. And we are forced to switch to scientific form. - format = FMT_SCIENTIFIC; + format = NumberFormat::Scientific; } } else if (length + abs(exponent) < precision && round) @@ -1163,13 +1163,13 @@ wstring NumberToString(_Inout_ PNUMBER& pnum, int format, uint32_t radix, int32_ int32_t eout = exponent - 1; // Displayed exponent. MANTTYPE* pmant = pnum->mant + pnum->cdigit - 1; // Case where too many digits are to the left of the decimal or - // FMT_SCIENTIFIC or FMT_ENGINEERING was specified. - if ((format == FMT_SCIENTIFIC) || (format == FMT_ENGINEERING)) + // NumberFormat::Scientific or NumberFormat::Engineering was specified. + if ((format == NumberFormat::Scientific) || (format == NumberFormat::Engineering)) { useSciForm = true; if (eout != 0) { - if (format == FMT_ENGINEERING) + if (format == NumberFormat::Engineering) { exponent = (eout % 3); eout -= exponent; @@ -1270,7 +1270,7 @@ wstring NumberToString(_Inout_ PNUMBER& pnum, int format, uint32_t radix, int32_ // ARGUMENTS: // PRAT *representation of a number. // i32 representation of base to dump to screen. -// fmt, one of FMT_FLOAT FMT_SCIENTIFIC or FMT_ENGINEERING +// fmt, one of NumberFormat::Float, NumberFormat::Scientific, or NumberFormat::Engineering // precision uint32_t // // RETURN: string @@ -1283,7 +1283,7 @@ wstring NumberToString(_Inout_ PNUMBER& pnum, int format, uint32_t radix, int32_ // why a pointer to the rational is passed in. // //----------------------------------------------------------------------------- -wstring RatToString(_Inout_ PRAT& prat, int format, uint32_t radix, int32_t precision) +wstring RatToString(_Inout_ PRAT& prat, NumberFormat format, uint32_t radix, int32_t precision) { PNUMBER p = RatToNumber(prat, radix, precision); diff --git a/src/CalcManager/Ratpack/itrans.cpp b/src/CalcManager/Ratpack/itrans.cpp index 9bb94358b..75e747858 100644 --- a/src/CalcManager/Ratpack/itrans.cpp +++ b/src/CalcManager/Ratpack/itrans.cpp @@ -17,17 +17,17 @@ //----------------------------------------------------------------------------- #include "ratpak.h" -void ascalerat(_Inout_ PRAT* pa, ANGLE_TYPE angletype, int32_t precision) +void ascalerat(_Inout_ PRAT* pa, AngleType angletype, int32_t precision) { switch (angletype) { - case ANGLE_RAD: + case AngleType::Radians: break; - case ANGLE_DEG: + case AngleType::Degrees: divrat(pa, two_pi, precision); mulrat(pa, rat_360, precision); break; - case ANGLE_GRAD: + case AngleType::Gradians: divrat(pa, two_pi, precision); mulrat(pa, rat_400, precision); break; @@ -76,7 +76,7 @@ void _asinrat(PRAT* px, int32_t precision) DESTROYTAYLOR(); } -void asinanglerat(_Inout_ PRAT* pa, ANGLE_TYPE angletype, uint32_t radix, int32_t precision) +void asinanglerat(_Inout_ PRAT* pa, AngleType angletype, uint32_t radix, int32_t precision) { asinrat(pa, radix, precision); @@ -164,7 +164,7 @@ void asinrat(_Inout_ PRAT* px, uint32_t radix, int32_t precision) // //----------------------------------------------------------------------------- -void acosanglerat(_Inout_ PRAT* pa, ANGLE_TYPE angletype, uint32_t radix, int32_t precision) +void acosanglerat(_Inout_ PRAT* pa, AngleType angletype, uint32_t radix, int32_t precision) { acosrat(pa, radix, precision); @@ -249,7 +249,7 @@ void acosrat(_Inout_ PRAT* px, uint32_t radix, int32_t precision) // //----------------------------------------------------------------------------- -void atananglerat(_Inout_ PRAT* pa, ANGLE_TYPE angletype, uint32_t radix, int32_t precision) +void atananglerat(_Inout_ PRAT* pa, AngleType angletype, uint32_t radix, int32_t precision) { atanrat(pa, radix, precision); diff --git a/src/CalcManager/Ratpack/ratpak.h b/src/CalcManager/Ratpack/ratpak.h index 18b2d0249..0b3771f36 100644 --- a/src/CalcManager/Ratpack/ratpak.h +++ b/src/CalcManager/Ratpack/ratpak.h @@ -31,25 +31,20 @@ static constexpr uint32_t BASEX = 0x80000000; // Internal radix used in calculat typedef uint32_t MANTTYPE; typedef uint64_t TWO_MANTTYPE; -enum eNUMOBJ_FMT +enum class NumberFormat { - FMT_FLOAT, // returns floating point, or exponential if number is too big - FMT_SCIENTIFIC, // always returns scientific notation - FMT_ENGINEERING // always returns engineering notation such that exponent is a multiple of 3 - + Float, // returns floating point, or exponential if number is too big + Scientific, // always returns scientific notation + Engineering // always returns engineering notation such that exponent is a multiple of 3 }; -enum eANGLE_TYPE +enum class AngleType { - ANGLE_DEG, // Calculate trig using 360 degrees per revolution - ANGLE_RAD, // Calculate trig using 2 pi radians per revolution - ANGLE_GRAD // Calculate trig using 400 gradients per revolution - + Degrees, // Calculate trig using 360 degrees per revolution + Radians, // Calculate trig using 2 pi radians per revolution + Gradians // Calculate trig using 400 gradians per revolution }; -typedef enum eNUMOBJ_FMT NUMOBJ_FMT; -typedef enum eANGLE_TYPE ANGLE_TYPE; - //----------------------------------------------------------------------------- // // NUMBER type is a representation of a generic sized generic radix number @@ -341,10 +336,10 @@ extern bool equnum(_In_ PNUMBER a, _In_ PNUMBER b); // returns true of a == b extern bool lessnum(_In_ PNUMBER a, _In_ PNUMBER b); // returns true of a < b extern bool zernum(_In_ PNUMBER a); // returns true of a == 0 extern bool zerrat(_In_ PRAT a); // returns true if a == 0/q -extern std::wstring NumberToString(_Inout_ PNUMBER& pnum, int format, uint32_t radix, int32_t precision); +extern std::wstring NumberToString(_Inout_ PNUMBER& pnum, NumberFormat format, uint32_t radix, int32_t precision); // returns a text representation of a PRAT -extern std::wstring RatToString(_Inout_ PRAT& prat, int format, uint32_t radix, int32_t precision); +extern std::wstring RatToString(_Inout_ PRAT& prat, NumberFormat format, uint32_t radix, int32_t precision); // converts a PRAT into a PNUMBER extern PNUMBER RatToNumber(_In_ PRAT prat, uint32_t radix, int32_t precision); // flattens a PRAT by converting it to a PNUMBER and back to a PRAT @@ -376,7 +371,7 @@ extern PRAT _createrat(void); // returns a new rat structure with the acos of x->p/x->q taking into account // angle type -extern void acosanglerat(_Inout_ PRAT* px, ANGLE_TYPE angletype, uint32_t radix, int32_t precision); +extern void acosanglerat(_Inout_ PRAT* px, AngleType angletype, uint32_t radix, int32_t precision); // returns a new rat structure with the acosh of x->p/x->q extern void acoshrat(_Inout_ PRAT* px, uint32_t radix, int32_t precision); @@ -386,7 +381,7 @@ extern void acosrat(_Inout_ PRAT* px, uint32_t radix, int32_t precision); // returns a new rat structure with the asin of x->p/x->q taking into account // angle type -extern void asinanglerat(_Inout_ PRAT* px, ANGLE_TYPE angletype, uint32_t radix, int32_t precision); +extern void asinanglerat(_Inout_ PRAT* px, AngleType angletype, uint32_t radix, int32_t precision); extern void asinhrat(_Inout_ PRAT* px, uint32_t radix, int32_t precision); // returns a new rat structure with the asinh of x->p/x->q @@ -396,7 +391,7 @@ extern void asinrat(_Inout_ PRAT* px, uint32_t radix, int32_t precision); // returns a new rat structure with the atan of x->p/x->q taking into account // angle type -extern void atananglerat(_Inout_ PRAT* px, ANGLE_TYPE angletype, uint32_t radix, int32_t precision); +extern void atananglerat(_Inout_ PRAT* px, AngleType angletype, uint32_t radix, int32_t precision); // returns a new rat structure with the atanh of x->p/x->q extern void atanhrat(_Inout_ PRAT* px, int32_t precision); @@ -412,7 +407,7 @@ extern void cosrat(_Inout_ PRAT* px, uint32_t radix, int32_t precision); // returns a new rat structure with the cos of x->p/x->q taking into account // angle type -extern void cosanglerat(_Inout_ PRAT* px, ANGLE_TYPE angletype, uint32_t radix, int32_t precision); +extern void cosanglerat(_Inout_ PRAT* px, AngleType angletype, uint32_t radix, int32_t precision); // returns a new rat structure with the exp of x->p/x->q this should not be called explicitly. extern void _exprat(_Inout_ PRAT* px, int32_t precision); @@ -435,14 +430,14 @@ extern void sinrat(_Inout_ PRAT* px); // returns a new rat structure with the sin of x->p/x->q taking into account // angle type -extern void sinanglerat(_Inout_ PRAT* px, ANGLE_TYPE angletype, uint32_t radix, int32_t precision); +extern void sinanglerat(_Inout_ PRAT* px, AngleType angletype, uint32_t radix, int32_t precision); extern void tanhrat(_Inout_ PRAT* px, uint32_t radix, int32_t precision); extern void tanrat(_Inout_ PRAT* px, uint32_t radix, int32_t precision); // returns a new rat structure with the tan of x->p/x->q taking into account // angle type -extern void tananglerat(_Inout_ PRAT* px, ANGLE_TYPE angletype, uint32_t radix, int32_t precision); +extern void tananglerat(_Inout_ PRAT* px, AngleType angletype, uint32_t radix, int32_t precision); extern void _dupnum(_In_ PNUMBER dest, _In_ const NUMBER* const src); diff --git a/src/CalcManager/Ratpack/trans.cpp b/src/CalcManager/Ratpack/trans.cpp index e848155d8..50055e220 100644 --- a/src/CalcManager/Ratpack/trans.cpp +++ b/src/CalcManager/Ratpack/trans.cpp @@ -16,17 +16,17 @@ #include "ratpak.h" -void scalerat(_Inout_ PRAT* pa, ANGLE_TYPE angletype, uint32_t radix, int32_t precision) +void scalerat(_Inout_ PRAT* pa, AngleType angletype, uint32_t radix, int32_t precision) { switch (angletype) { - case ANGLE_RAD: + case AngleType::Radians: scale2pi(pa, radix, precision); break; - case ANGLE_DEG: + case AngleType::Degrees: scale(pa, rat_360, radix, precision); break; - case ANGLE_GRAD: + case AngleType::Gradians: scale(pa, rat_400, radix, precision); break; } @@ -98,13 +98,13 @@ void sinrat(PRAT* px, uint32_t radix, int32_t precision) _sinrat(px, precision); } -void sinanglerat(_Inout_ PRAT* pa, ANGLE_TYPE angletype, uint32_t radix, int32_t precision) +void sinanglerat(_Inout_ PRAT* pa, AngleType angletype, uint32_t radix, int32_t precision) { scalerat(pa, angletype, radix, precision); switch (angletype) { - case ANGLE_DEG: + case AngleType::Degrees: if (rat_gt(*pa, rat_180, precision)) { subrat(pa, rat_360, precision); @@ -112,7 +112,7 @@ void sinanglerat(_Inout_ PRAT* pa, ANGLE_TYPE angletype, uint32_t radix, int32_t divrat(pa, rat_180, precision); mulrat(pa, pi, precision); break; - case ANGLE_GRAD: + case AngleType::Gradians: if (rat_gt(*pa, rat_200, precision)) { subrat(pa, rat_400, precision); @@ -193,13 +193,13 @@ void cosrat(_Inout_ PRAT* px, uint32_t radix, int32_t precision) _cosrat(px, radix, precision); } -void cosanglerat(_Inout_ PRAT* pa, ANGLE_TYPE angletype, uint32_t radix, int32_t precision) +void cosanglerat(_Inout_ PRAT* pa, AngleType angletype, uint32_t radix, int32_t precision) { scalerat(pa, angletype, radix, precision); switch (angletype) { - case ANGLE_DEG: + case AngleType::Degrees: if (rat_gt(*pa, rat_180, precision)) { PRAT ptmp = nullptr; @@ -211,7 +211,7 @@ void cosanglerat(_Inout_ PRAT* pa, ANGLE_TYPE angletype, uint32_t radix, int32_t divrat(pa, rat_180, precision); mulrat(pa, pi, precision); break; - case ANGLE_GRAD: + case AngleType::Gradians: if (rat_gt(*pa, rat_200, precision)) { PRAT ptmp = nullptr; @@ -263,13 +263,13 @@ void tanrat(_Inout_ PRAT* px, uint32_t radix, int32_t precision) _tanrat(px, radix, precision); } -void tananglerat(_Inout_ PRAT* pa, ANGLE_TYPE angletype, uint32_t radix, int32_t precision) +void tananglerat(_Inout_ PRAT* pa, AngleType angletype, uint32_t radix, int32_t precision) { scalerat(pa, angletype, radix, precision); switch (angletype) { - case ANGLE_DEG: + case AngleType::Degrees: if (rat_gt(*pa, rat_180, precision)) { subrat(pa, rat_180, precision); @@ -277,7 +277,7 @@ void tananglerat(_Inout_ PRAT* pa, ANGLE_TYPE angletype, uint32_t radix, int32_t divrat(pa, rat_180, precision); mulrat(pa, pi, precision); break; - case ANGLE_GRAD: + case AngleType::Gradians: if (rat_gt(*pa, rat_200, precision)) { subrat(pa, rat_200, precision); diff --git a/src/CalcViewModel/HistoryViewModel.cpp b/src/CalcViewModel/HistoryViewModel.cpp index 473322edc..c2c2668d6 100644 --- a/src/CalcViewModel/HistoryViewModel.cpp +++ b/src/CalcViewModel/HistoryViewModel.cpp @@ -41,11 +41,11 @@ void HistoryViewModel::ReloadHistory(_In_ ViewMode currentMode) { if (currentMode == ViewMode::Standard) { - m_currentMode = CalculationManager::CALCULATOR_MODE::CM_STD; + m_currentMode = CalculationManager::CalculatorMode::Standard; } else if (currentMode == ViewMode::Scientific) { - m_currentMode = CalculationManager::CALCULATOR_MODE::CM_SCI; + m_currentMode = CalculationManager::CalculatorMode::Scientific; } else { @@ -127,7 +127,7 @@ void HistoryViewModel::DeleteItem(_In_ HistoryItemViewModel ^ e) { // Keys for the history container are index based. // SaveHistory() re-inserts the items anyway, so it's faster to just clear out the container. - CalculationManager::CALCULATOR_MODE currentMode = m_currentMode; + CalculationManager::CalculatorMode currentMode = m_currentMode; ApplicationDataContainer ^ historyContainer = GetHistoryContainer(currentMode); historyContainer->Values->Clear(); @@ -152,7 +152,7 @@ void HistoryViewModel::OnClearCommand(_In_ Platform::Object ^ e) if (Items->Size > 0) { - CalculationManager::CALCULATOR_MODE currentMode = m_currentMode; + CalculationManager::CalculatorMode currentMode = m_currentMode; ClearHistoryContainer(currentMode); Items->Clear(); UpdateItemSize(); @@ -167,7 +167,7 @@ void HistoryViewModel::OnClearCommand(_In_ Platform::Object ^ e) } // this method restores history vector per mode -void HistoryViewModel::RestoreHistory(_In_ CalculationManager::CALCULATOR_MODE cMode) +void HistoryViewModel::RestoreHistory(_In_ CalculationManager::CalculatorMode cMode) { ApplicationDataContainer ^ historyContainer = GetHistoryContainer(cMode); std::shared_ptr>> historyVector = @@ -209,13 +209,13 @@ void HistoryViewModel::RestoreHistory(_In_ CalculationManager::CALCULATOR_MODE c } } -Platform::String ^ HistoryViewModel::GetHistoryContainerKey(_In_ CalculationManager::CALCULATOR_MODE cMode) +Platform::String ^ HistoryViewModel::GetHistoryContainerKey(_In_ CalculationManager::CalculatorMode cMode) { Platform::ValueType ^ modeValue = static_cast(cMode); return Platform::String::Concat(modeValue->ToString(), L"_History"); } -ApplicationDataContainer ^ HistoryViewModel::GetHistoryContainer(_In_ CalculationManager::CALCULATOR_MODE cMode) +ApplicationDataContainer ^ HistoryViewModel::GetHistoryContainer(_In_ CalculationManager::CalculatorMode cMode) { ApplicationDataContainer ^ localSettings = ApplicationData::Current->LocalSettings; ApplicationDataContainer ^ historyContainer; @@ -238,14 +238,14 @@ ApplicationDataContainer ^ HistoryViewModel::GetHistoryContainer(_In_ Calculatio return historyContainer; } -void HistoryViewModel::ClearHistoryContainer(_In_ CalculationManager::CALCULATOR_MODE cMode) +void HistoryViewModel::ClearHistoryContainer(_In_ CalculationManager::CalculatorMode cMode) { ApplicationDataContainer ^ localSettings = ApplicationData::Current->LocalSettings; localSettings->DeleteContainer(GetHistoryContainerKey(cMode)); } // this method will be used to update the history item length -void HistoryViewModel::UpdateHistoryVectorLength(_In_ int newValue, _In_ CalculationManager::CALCULATOR_MODE cMode) +void HistoryViewModel::UpdateHistoryVectorLength(_In_ int newValue, _In_ CalculationManager::CalculatorMode cMode) { ApplicationDataContainer ^ historyContainer = GetHistoryContainer(cMode); historyContainer->Values->Remove(HistoryVectorLengthKey); @@ -254,8 +254,8 @@ void HistoryViewModel::UpdateHistoryVectorLength(_In_ int newValue, _In_ Calcula void HistoryViewModel::ClearHistory() { - ClearHistoryContainer(CalculationManager::CALCULATOR_MODE::CM_STD); - ClearHistoryContainer(CalculationManager::CALCULATOR_MODE::CM_SCI); + ClearHistoryContainer(CalculationManager::CalculatorMode::Standard); + ClearHistoryContainer(CalculationManager::CalculatorMode::Scientific); } void HistoryViewModel::SaveHistory() diff --git a/src/CalcViewModel/HistoryViewModel.h b/src/CalcViewModel/HistoryViewModel.h index c1c377319..508f8c882 100644 --- a/src/CalcViewModel/HistoryViewModel.h +++ b/src/CalcViewModel/HistoryViewModel.h @@ -55,16 +55,16 @@ namespace CalculatorApp private: CalculationManager::CalculatorManager* const m_calculatorManager; CalculatorDisplay m_calculatorDisplay; - CalculationManager::CALCULATOR_MODE m_currentMode; + CalculationManager::CalculatorMode m_currentMode; Platform::String ^ m_localizedHistoryCleared; - void RestoreHistory(_In_ CalculationManager::CALCULATOR_MODE cMode); + void RestoreHistory(_In_ CalculationManager::CalculatorMode cMode); CalculationManager::HISTORYITEM DeserializeHistoryItem(_In_ Platform::String ^ historyItemKey, _In_ Windows::Storage::ApplicationDataContainer ^ historyContainer); - Windows::Storage::ApplicationDataContainer ^ GetHistoryContainer(_In_ CalculationManager::CALCULATOR_MODE cMode); - Platform::String ^ GetHistoryContainerKey(_In_ CalculationManager::CALCULATOR_MODE cMode); - void ClearHistoryContainer(_In_ CalculationManager::CALCULATOR_MODE cMode); - void UpdateHistoryVectorLength(_In_ int newValue, _In_ CalculationManager::CALCULATOR_MODE cMode); + Windows::Storage::ApplicationDataContainer ^ GetHistoryContainer(_In_ CalculationManager::CalculatorMode cMode); + Platform::String ^ GetHistoryContainerKey(_In_ CalculationManager::CalculatorMode cMode); + void ClearHistoryContainer(_In_ CalculationManager::CalculatorMode cMode); + void UpdateHistoryVectorLength(_In_ int newValue, _In_ CalculationManager::CalculatorMode cMode); bool IsValid(_In_ CalculationManager::HISTORYITEM item); friend class CalculatorDisplay; diff --git a/src/CalcViewModel/StandardCalculatorViewModel.cpp b/src/CalcViewModel/StandardCalculatorViewModel.cpp index 2bfeb521d..e45a670f4 100644 --- a/src/CalcViewModel/StandardCalculatorViewModel.cpp +++ b/src/CalcViewModel/StandardCalculatorViewModel.cpp @@ -679,18 +679,18 @@ void StandardCalculatorViewModel::OnButtonPressed(Object ^ parameter) } } -RADIX_TYPE StandardCalculatorViewModel::GetRadixTypeFromNumberBase(NumberBase base) +RadixType StandardCalculatorViewModel::GetRadixTypeFromNumberBase(NumberBase base) { switch (base) { case NumberBase::BinBase: - return RADIX_TYPE::BIN_RADIX; + return RadixType::Binary; case NumberBase::HexBase: - return RADIX_TYPE::HEX_RADIX; + return RadixType::Hex; case NumberBase::OctBase: - return RADIX_TYPE::OCT_RADIX; + return RadixType::Octal; default: - return RADIX_TYPE::DEC_RADIX; + return RadixType::Decimal; } } @@ -1228,7 +1228,7 @@ void StandardCalculatorViewModel::ResetDisplay() { AreHEXButtonsEnabled = false; CurrentRadixType = NumberBase::DecBase; - m_standardCalculatorManager.SetRadix(DEC_RADIX); + m_standardCalculatorManager.SetRadix(RadixType::Decimal); } void StandardCalculatorViewModel::SetPrecision(int32_t precision) @@ -1253,16 +1253,16 @@ void StandardCalculatorViewModel::SetMemorizedNumbersString() m_standardCalculatorManager.SetMemorizedNumbersString(); } -ANGLE_TYPE GetAngleTypeFromCommand(Command command) +AngleType GetAngleTypeFromCommand(Command command) { switch (command) { case Command::CommandDEG: - return ANGLE_DEG; + return AngleType::Degrees; case Command::CommandRAD: - return ANGLE_RAD; + return AngleType::Radians; case Command::CommandGRAD: - return ANGLE_GRAD; + return AngleType::Gradians; default: throw ref new Exception(E_FAIL, L"Invalid command type"); } @@ -1279,7 +1279,7 @@ void StandardCalculatorViewModel::SaveEditedCommand(_In_ unsigned int tokenPosit if (IsUnaryOp(command) && command != Command::CommandSIGN) { int angleCmd = static_cast(m_standardCalculatorManager.GetCurrentDegreeMode()); - ANGLE_TYPE angleType = GetAngleTypeFromCommand(static_cast(angleCmd)); + AngleType angleType = GetAngleTypeFromCommand(static_cast(angleCmd)); if (IsTrigOp(command)) { diff --git a/src/CalcViewModel/StandardCalculatorViewModel.h b/src/CalcViewModel/StandardCalculatorViewModel.h index 38584b5db..362720017 100644 --- a/src/CalcViewModel/StandardCalculatorViewModel.h +++ b/src/CalcViewModel/StandardCalculatorViewModel.h @@ -307,7 +307,7 @@ namespace CalculatorApp _Inout_ std::shared_ptr>> const& commands); void SetTokens(_Inout_ std::shared_ptr>> const& tokens); NumbersAndOperatorsEnum ConvertIntegerToNumbersAndOperatorsEnum(unsigned int parameter); - static RADIX_TYPE GetRadixTypeFromNumberBase(CalculatorApp::Common::NumberBase base); + static RadixType GetRadixTypeFromNumberBase(CalculatorApp::Common::NumberBase base); NumbersAndOperatorsEnum m_CurrentAngleType; wchar_t m_decimalSeparator; CalculatorDisplay m_calculatorDisplay; diff --git a/src/Calculator/Converters/RadixToStringConverter.cpp b/src/Calculator/Converters/RadixToStringConverter.cpp index 69280346a..5c5d5cf46 100644 --- a/src/Calculator/Converters/RadixToStringConverter.cpp +++ b/src/Calculator/Converters/RadixToStringConverter.cpp @@ -26,22 +26,22 @@ namespace CalculatorApp auto resourceLoader = AppResourceProvider::GetInstance(); switch (boxedInt->Value) { - case RADIX_TYPE::BIN_RADIX: + case RadixType::Binary: { convertedValue = resourceLoader->GetResourceString("Bin"); break; } - case RADIX_TYPE::OCT_RADIX: + case RadixType::Octal: { convertedValue = resourceLoader->GetResourceString("Oct"); break; } - case RADIX_TYPE::DEC_RADIX: + case RadixType::Decimal: { convertedValue = resourceLoader->GetResourceString("Dec"); break; } - case RADIX_TYPE::HEX_RADIX: + case RadixType::Hex: { convertedValue = resourceLoader->GetResourceString("Hex"); break; diff --git a/src/CalculatorUnitTests/HistoryTests.cpp b/src/CalculatorUnitTests/HistoryTests.cpp index becf1b4b7..4c8369e2c 100644 --- a/src/CalculatorUnitTests/HistoryTests.cpp +++ b/src/CalculatorUnitTests/HistoryTests.cpp @@ -65,7 +65,7 @@ namespace CalculatorFunctionalTests return !(localSettings->Containers->HasKey(historyContainerKey)); } - String^ GetHistoryContainerKeyHelper(CalculationManager::CALCULATOR_MODE cMode) + String^ GetHistoryContainerKeyHelper(CalculationManager::CalculatorMode cMode) { ValueType^ modeValue = static_cast(cMode); return String::Concat(modeValue->ToString(), L"_History"); @@ -204,8 +204,8 @@ namespace CalculatorFunctionalTests m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); m_historyViewModel->OnClearCommand(nullptr); VERIFY_ARE_EQUAL(0, m_historyViewModel->ItemSize); - VERIFY_IS_TRUE(IsHistoryContainerEmpty(GetHistoryContainerKeyHelper(CM_STD))); - VERIFY_IS_TRUE(IsHistoryContainerEmpty(GetHistoryContainerKeyHelper(CM_SCI))); + VERIFY_IS_TRUE(IsHistoryContainerEmpty(GetHistoryContainerKeyHelper(CalculatorMode::Standard))); + VERIFY_IS_TRUE(IsHistoryContainerEmpty(GetHistoryContainerKeyHelper(CalculatorMode::Scientific))); Cleanup(); } diff --git a/src/CalculatorUnitTests/RationalTest.cpp b/src/CalculatorUnitTests/RationalTest.cpp index dcfcdd89a..7c8aebb6f 100644 --- a/src/CalculatorUnitTests/RationalTest.cpp +++ b/src/CalculatorUnitTests/RationalTest.cpp @@ -78,25 +78,25 @@ TEST_METHOD(TestModuloRational) { // Test with rational numbers auto res = Mod(Rational(Number(1, 0, { 250 }), Number(1, 0, { 100 })), Rational(89)); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"2.5"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"2.5"); res = Mod(Rational(Number(1, 0, { 3330 }), Number(1, 0, { 1332 })), Rational(1)); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"0.5"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"0.5"); res = Mod(Rational(Number(1, 0, { 12250 }), Number(1, 0, { 100 })), Rational(10)); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"2.5"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"2.5"); res = Mod(Rational(Number(-1, 0, { 12250 }), Number(1, 0, { 100 })), Rational(10)); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"7.5"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"7.5"); res = Mod(Rational(Number(-1, 0, { 12250 }), Number(1, 0, { 100 })), Rational(-10)); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"-2.5"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"-2.5"); res = Mod(Rational(Number(1, 0, { 12250 }), Number(1, 0, { 100 })), Rational(-10)); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"-7.5"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"-7.5"); res = Mod(Rational(Number(1, 0, { 1000 }), Number(1, 0, { 3 })), Rational(1)); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"0.33333333"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"0.33333333"); res = Mod(Rational(Number(1, 0, { 1000 }), Number(1, 0, { 3 })), Rational(-10)); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"-6.6666667"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"-6.6666667"); res = Mod(Rational(834345), Rational(Number(1, 0, { 103 }), Number(1, 0, { 100 }))); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"0.71"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"0.71"); res = Mod(Rational(834345), Rational(Number(-1, 0, { 103 }), Number(1, 0, { 100 }))); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"-0.32"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"-0.32"); } TEST_METHOD(TestRemainderOperandsNotModified) @@ -192,29 +192,29 @@ TEST_METHOD(TestRemainderRational) { // Test with rational numbers auto res = Rational(Number(1, 0, { 250 }), Number(1, 0, { 100 })) % Rational(89); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"2.5"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"2.5"); res = Rational(Number(1, 0, { 3330 }), Number(1, 0, { 1332 })) % Rational(1); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"0.5"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"0.5"); res = Rational(Number(1, 0, { 12250 }), Number(1, 0, { 100 })) % Rational(10); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"2.5"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"2.5"); res = Rational(Number(-1, 0, { 12250 }), Number(1, 0, { 100 })) % Rational(10); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"-2.5"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"-2.5"); res = Rational(Number(-1, 0, { 12250 }), Number(1, 0, { 100 })) % Rational(-10); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"-2.5"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"-2.5"); res = Rational(Number(1, 0, { 12250 }), Number(1, 0, { 100 })) % Rational(-10); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"2.5"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"2.5"); res = Rational(Number(1, 0, { 1000 }), Number(1, 0, { 3 })) % Rational(1); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"0.33333333"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"0.33333333"); res = Rational(Number(1, 0, { 1000 }), Number(1, 0, { 3 })) % Rational(-10); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"3.3333333"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"3.3333333"); res = Rational(Number(-1, 0, { 1000 }), Number(1, 0, { 3 })) % Rational(-10); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"-3.3333333"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"-3.3333333"); res = Rational(834345) % Rational(Number(1, 0, { 103 }), Number(1, 0, { 100 })); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"0.71"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"0.71"); res = Rational(834345) % Rational(Number(-1, 0, { 103 }), Number(1, 0, { 100 })); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"0.71"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"0.71"); res = Rational(-834345) % Rational(Number(1, 0, { 103 }), Number(1, 0, { 100 })); - VERIFY_ARE_EQUAL(res.ToString(10, FMT_FLOAT, 8), L"-0.71"); + VERIFY_ARE_EQUAL(res.ToString(10, NumberFormat::Float, 8), L"-0.71"); } } ; diff --git a/src/CalculatorUnitTests/StandardViewModelUnitTests.cpp b/src/CalculatorUnitTests/StandardViewModelUnitTests.cpp index 1f9d40d71..a53eb5f1f 100644 --- a/src/CalculatorUnitTests/StandardViewModelUnitTests.cpp +++ b/src/CalculatorUnitTests/StandardViewModelUnitTests.cpp @@ -510,19 +510,19 @@ namespace CalculatorUnitTests TEST_METHOD(ProgrammerModeButtonsDisable) { /* m_viewModel->IsProgrammer = true; - m_viewModel->SwitchProgrammerModeBase(OCT_RADIX); + m_viewModel->SwitchProgrammerModeBase(RadixType::Octal); VERIFY_IS_TRUE(m_viewModel->AreOCTButtonsEnabled); VERIFY_IS_FALSE(m_viewModel->AreHEXButtonsEnabled); VERIFY_IS_FALSE(m_viewModel->AreDECButtonsEnabled); - m_viewModel->SwitchProgrammerModeBase(DEC_RADIX); + m_viewModel->SwitchProgrammerModeBase(RadixType::Decimal); VERIFY_IS_FALSE(m_viewModel->AreHEXButtonsEnabled); VERIFY_IS_TRUE(m_viewModel->AreDECButtonsEnabled); VERIFY_IS_TRUE(m_viewModel->AreOCTButtonsEnabled); - m_viewModel->SwitchProgrammerModeBase(HEX_RADIX); + m_viewModel->SwitchProgrammerModeBase(RadixType::Hex); VERIFY_IS_TRUE(m_viewModel->AreHEXButtonsEnabled); VERIFY_IS_TRUE(m_viewModel->AreDECButtonsEnabled); VERIFY_IS_TRUE(m_viewModel->AreOCTButtonsEnabled); - m_viewModel->SwitchProgrammerModeBase(BIN_RADIX); + m_viewModel->SwitchProgrammerModeBase(RadixType::Binary); VERIFY_IS_FALSE(m_viewModel->AreHEXButtonsEnabled); VERIFY_IS_FALSE(m_viewModel->AreDECButtonsEnabled); VERIFY_IS_FALSE(m_viewModel->AreOCTButtonsEnabled);*/ From bbeee0aad09fa49590e5cf497b3874bd44548d6a Mon Sep 17 00:00:00 2001 From: Stephanie Anderl <46726333+sanderl@users.noreply.github.com> Date: Mon, 30 Mar 2020 19:20:31 -0700 Subject: [PATCH 49/76] Updated the internals version to match the version with the latest graphing engine package. (#1121) --- build/pipelines/templates/build-app-internal.yaml | 2 +- build/pipelines/templates/prepare-release-internalonly.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/pipelines/templates/build-app-internal.yaml b/build/pipelines/templates/build-app-internal.yaml index fcab36ad2..882af645a 100644 --- a/build/pipelines/templates/build-app-internal.yaml +++ b/build/pipelines/templates/build-app-internal.yaml @@ -29,7 +29,7 @@ jobs: downloadDirectory: $(Build.SourcesDirectory) vstsFeed: WindowsApps vstsFeedPackage: calculator-internals - vstsPackageVersion: 0.0.39 + vstsPackageVersion: 0.0.40 - template: ./build-single-architecture.yaml parameters: diff --git a/build/pipelines/templates/prepare-release-internalonly.yaml b/build/pipelines/templates/prepare-release-internalonly.yaml index 2d46fc223..f33247d5f 100644 --- a/build/pipelines/templates/prepare-release-internalonly.yaml +++ b/build/pipelines/templates/prepare-release-internalonly.yaml @@ -97,7 +97,7 @@ jobs: downloadDirectory: $(Build.SourcesDirectory) vstsFeed: WindowsApps vstsFeedPackage: calculator-internals - vstsPackageVersion: 0.0.39 + vstsPackageVersion: 0.0.40 - powershell: | # Just modify this line to indicate where your en-us PDP file is. Leave the other lines alone. From 25399c75d9a81edf4af27dce600f93685d7bacbf Mon Sep 17 00:00:00 2001 From: Pepe Rivera Date: Mon, 30 Mar 2020 19:43:09 -0700 Subject: [PATCH 50/76] Make variable chevron focusable (#1096) * give chevron focus * fix merge issues * fix key --- src/Calculator/Resources/en-US/Resources.resw | 4 +++ .../GraphingCalculator/EquationInputArea.xaml | 16 ++++++++---- .../EquationInputArea.xaml.cpp | 25 +++++++++++++++---- .../EquationInputArea.xaml.h | 4 +++ 4 files changed, 39 insertions(+), 10 deletions(-) diff --git a/src/Calculator/Resources/en-US/Resources.resw b/src/Calculator/Resources/en-US/Resources.resw index 96890ce55..93ac91979 100644 --- a/src/Calculator/Resources/en-US/Resources.resw +++ b/src/Calculator/Resources/en-US/Resources.resw @@ -4418,6 +4418,10 @@ Graph Options Heading for the Graph Options flyout in Graphing mode. + + Variable options + Screen reader prompt for the variable settings button + Line Thickness Heading for the Graph Options flyout in Graphing mode. diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml index b3a64c3ad..727346995 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml @@ -209,11 +209,17 @@ Text="{x:Bind Max, Mode=OneWay}"/> - + diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp index 750afe6cb..6c300d19c 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp @@ -451,7 +451,26 @@ String ^ EquationInputArea::GetChevronIcon(bool isCollapsed) void EquationInputArea::VariableAreaTapped(Object ^ sender, TappedRoutedEventArgs ^ e) { - auto selectedVariableViewModel = static_cast(static_cast(sender)->DataContext); + ToggleVariableArea(static_cast(static_cast(sender)->DataContext)); +} + +void EquationInputArea::VariableAreaButtonTapped(Object ^ sender, TappedRoutedEventArgs ^ e) +{ + e->Handled = true; +} + +void EquationInputArea::EquationTextBox_EquationFormatRequested(Object ^ sender, MathRichEditBoxFormatRequest ^ e) +{ + EquationFormatRequested(sender, e); +} + +void EquationInputArea::VariableAreaClicked(Object ^ sender, RoutedEventArgs ^ e) +{ + ToggleVariableArea(static_cast(static_cast + - - + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - + + + + + + + - - - - - - - - - + + + + - - - - - - - - + + + - + + + + + + + + + + - - - - - - - - - - - + + + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -