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/azure-pipelines.release.yaml b/build/pipelines/azure-pipelines.release.yaml index e81c33964..7817e22be 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: 2003 + versionBuild: $[counter('10.2003.*', 0)] versionPatch: 0 name: '$(versionMajor).$(versionMinor).$(versionBuild).$(versionPatch)' diff --git a/build/pipelines/templates/build-app-internal.yaml b/build/pipelines/templates/build-app-internal.yaml index fbaafc18c..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.35 + 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 8f44434d9..f33247d5f 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: @@ -99,7 +97,7 @@ jobs: downloadDirectory: $(Build.SourcesDirectory) vstsFeed: WindowsApps vstsFeedPackage: calculator-internals - vstsPackageVersion: 0.0.22 + vstsPackageVersion: 0.0.40 - powershell: | # Just modify this line to indicate where your en-us PDP file is. Leave the other lines alone. 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. 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/Algebra.cpp b/src/CalcManager/Algebra.cpp new file mode 100644 index 000000000..a08e6d74b --- /dev/null +++ b/src/CalcManager/Algebra.cpp @@ -0,0 +1,243 @@ +/* +This class was created by Nico Comendador for the purpose of +WSU CEG 4110-01. This class will handle and house all of the +functionality for any algebraic operations for a symbolic +calculator feature add on to the Microsoft Calculator. +*/ +#include "Algebra.h" +#include + +using namespace std; + +///\return Constructor will instantiate the class variables. +Algebra::Algebra(string expression) +{ + newExpression(expression); +} + +///\return Since there is no garbage collector for C++, we must +/// include a destructor for the class. Every class with a contructor +/// must have one. +Algebra::~Algebra() +{ +} + +///\return This method is used to simplify an expression by +/// multpliying out the terms to get rid of parenthesis and +/// exponents. +string Algebra::simplifyExpression() +{ + int result = evaluate(expression); + return to_string(result); +} + +///\return This method ensures that the expression has spaces +/// in between each token. Due to how this class parses and +/// simplifies things, it is best to first format before +/// continuing. +string Algebra::format(string expression) +{ + bool space = false; + for (int x = 0; x < expression.length(); x++) + { + if (space) + { + expression.insert(x, " "); + space = false; + } + else + { + space = true; + } + } + + return expression; +} + +///\return This method is responsible for parsing through +/// and evaluating the expression. Once evaluated, we can +/// then simplify. +inline int Algebra::evaluate(string tokens) +{ + int i; + + stack values; + + stack ops; + + for (i = 0; i < tokens.length(); i++) + { + if (tokens[i] == ' ') + continue; + + else if (tokens[i] == '(') + { + ops.push(tokens[i]); + } + + else if (isdigit(tokens[i])) + { + int val = 0; + + while (i < tokens.length() && isdigit(tokens[i])) + { + val = (val * 10) + (tokens[i] - '0'); + i++; + } + + values.push(val); + } + else if (tokens[i] == ')') + { + while (!ops.empty() && ops.top() != '(') + { + int val2 = values.top(); + values.pop(); + + int val1 = values.top(); + values.pop(); + + char op = ops.top(); + ops.pop(); + + values.push(applyOp(val1, val2, op)); + } + + if (!ops.empty()) + ops.pop(); + } + else + { + while (!ops.empty() && precedence(ops.top()) >= precedence(tokens[i])) + { + int val2 = values.top(); + values.pop(); + + int val1 = values.top(); + values.pop(); + + char op = ops.top(); + ops.pop(); + + values.push(applyOp(val1, val2, op)); + } + + ops.push(tokens[i]); + } + } + + while (!ops.empty()) + { + int val2 = values.top(); + values.pop(); + + int val1 = values.top(); + values.pop(); + + char op = ops.top(); + ops.pop(); + + values.push(applyOp(val1, val2, op)); + } + + return values.top(); +} + +///\return This method applies the operation on the expression +/// based off of a simple case switch. This is used for +/// evaluating and so it is needed in order to simplify. +inline int Algebra::applyOp(int a, int b, char op) +{ + switch (op) + { + case '+': + return a + b; + case '-': + return a - b; + case '*': + return a * b; + case '/': + return a / b; + } +} + +///\return This method determines the precedence an operator +/// has. This helps set up the rules (PEMDAS) for evalutaing +/// and simplifying expressions. +inline int Algebra::precedence(char op) +{ + if (op == '+' || op == '-') + return 1; + if (op == '*' || op == '/') + return 2; + return 0; +} + +///\return This method allows the algebra object to create +/// new expressions without having to instantiate a new +/// algebra object. The constructor makes use of this. +void Algebra::newExpression(string expression) +{ + clearExpression(); + this->unformattedExpression = expression; + this->expression = format(expression); +} + +///\return This function is created so that a user may solve for a +/// variable in the symbolic calculator option. +string Algebra::solveForVariable() +{ + int n = unformattedExpression.size(), sign = 1, coeff = 0; + int total = 0, i = 0; + + for (int j = 0; j < n; j++) + { + if (unformattedExpression[j] == '+' || unformattedExpression[j] == '-') + { + if (j > i) + total += sign * stoi(unformattedExpression.substr(i, j - i)); + i = j; + } + + else if (unformattedExpression[j] == 'x') + { + if ((i == j) || unformattedExpression[j - 1] == '+') + coeff += sign; + else if (unformattedExpression[j - 1] == '-') + coeff -= sign; + else + coeff += sign * stoi(unformattedExpression.substr(i, j - i)); + i = j + 1; + } + } + + if (i < n) + total += sign * stoi(unformattedExpression.substr(i)); + + if (coeff == 0 && total == 0) + return "Infinite solutions"; + + if (coeff == 0 && total) + return "No solution"; + + int ans = -total / coeff; + return "x = " + to_string(ans); +} + +///\return A getter function is useful for a parent class to get +/// more information on what expression is being handled. It will +/// reutrn the raw unformatted version to avoid any complications. +string Algebra::getExpression() +{ + return unformattedExpression; +} + +///\return This function is added for a manager class or a parent +/// class to empty the variables. It's purpose is to ensure that +/// the variables are cleared of everything before having something +/// set into them. +void Algebra::clearExpression() +{ + this->unformattedExpression = ""; + this->expression = ""; +} diff --git a/src/CalcManager/Algebra.h b/src/CalcManager/Algebra.h new file mode 100644 index 000000000..65c23a0b6 --- /dev/null +++ b/src/CalcManager/Algebra.h @@ -0,0 +1,44 @@ +/* +This class was created by Nico Comendador for the purpose of +WSU CEG 4110-01. This class will handle and house all of the +functionality for any algebraic operations for a symbolic +calculator feature add on to the Microsoft Calculator. +*/ + +#pragma once + +#include +#include + +#ifndef _Algebra_ +#define _Algebra_ + +using namespace std; + +class Algebra +{ +private: + ///\return Each Algebra object will hold a + /// a string continaing the information of + /// the input given from a parent class. + string expression; + string unformattedExpression; + +public: + ///\return The following lets the compiler + /// know that the following methods will be + /// instantiated. + inline Algebra(string expression); + inline virtual ~Algebra(); + inline string simplifyExpression(); + inline int evaluate(string tokens); + inline int applyOp(int a, int b, char op); + inline int precedence(char op); + inline string format(string expression); + inline void newExpression(string expression); + inline string solveForVariable(); + inline string getExpression(); + inline void clearExpression(); +}; + +#endif 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/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 f7509ab3b..04bdda740 100644 --- a/src/CalcManager/CEngine/scicomm.cpp +++ b/src/CalcManager/CEngine/scicomm.cpp @@ -35,19 +35,16 @@ namespace IDC_ADD,2, IDC_SUB,2, 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; + IDC_PWR,4, IDC_ROOT,4, IDC_LOGBASEY,4 }; - 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. @@ -185,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(); @@ -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(); @@ -633,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; } @@ -649,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(); } @@ -780,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; @@ -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 } }, @@ -962,7 +948,7 @@ static const std::unordered_map operatorStringTable = { IDC_SIGN, { SIDS_NEGATE } }, { IDC_DEGREES, { SIDS_DEGREES } }, { IDC_POW2, { SIDS_TWOPOWX } }, - { IDC_LOGBASEX, { SIDS_LOGBASEX } }, + { IDC_LOGBASEY, { SIDS_LOGBASEY } }, { IDC_ABS, { SIDS_ABS } }, { IDC_CEIL, { SIDS_CEIL } }, { IDC_FLOOR, { SIDS_FLOOR } }, @@ -971,11 +957,11 @@ 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) +wstring_view CCalcEngine::OpCodeToUnaryString(int nOpCode, bool fInv, AngleType angletype) { // Try to lookup the ID in the UFNE table wstring ids = L""; @@ -983,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) { @@ -995,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) { @@ -1006,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) { @@ -1108,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..0074c77ab 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; } @@ -85,7 +85,7 @@ void CCalcEngine::DisplayNum(void) // called. // if (m_bRecord || gldPrevious.value != m_currentVal || gldPrevious.precision != m_precision || gldPrevious.radix != m_radix || gldPrevious.nFE != (int)m_nFE - || gldPrevious.bUseSep != true || gldPrevious.numwidth != m_numwidth || gldPrevious.fIntMath != m_fIntegerMode || gldPrevious.bRecord != m_bRecord) + || !gldPrevious.bUseSep || gldPrevious.numwidth != m_numwidth || gldPrevious.fIntMath != m_fIntegerMode || gldPrevious.bRecord != m_bRecord) { gldPrevious.precision = m_precision; gldPrevious.radix = m_radix; 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..fdb9a7c03 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; } @@ -158,8 +158,8 @@ CalcEngine::Rational CCalcEngine::DoOperation(int operation, CalcEngine::Rationa result = Root(rhs, result); break; - case IDC_LOGBASEX: - result = (Log(result) / Log(rhs)); + case IDC_LOGBASEY: + result = (Log(rhs) / Log(result)); break; } } 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/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/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/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..7b3854d03 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; } @@ -669,7 +670,7 @@ namespace CalculationManager bool CalculatorManager::IsEngineRecording() { - return m_currentCalculatorEngine->FInRecordingState() ? true : false; + return m_currentCalculatorEngine->FInRecordingState(); } bool CalculatorManager::IsInputEmpty() 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/Command.h b/src/CalcManager/Command.h index 4331ddf7d..764a2227e 100644 --- a/src/CalcManager/Command.h +++ b/src/CalcManager/Command.h @@ -172,7 +172,7 @@ namespace CalculationManager CommandCeil = 415, CommandROLC = 416, CommandRORC = 417, - CommandLogBaseX = 500, + CommandLogBaseY = 500, CommandNand = 501, CommandNor = 502, 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/CCommand.h b/src/CalcManager/Header Files/CCommand.h index f6d74d259..440c6283b 100644 --- a/src/CalcManager/Header Files/CCommand.h +++ b/src/CalcManager/Header Files/CCommand.h @@ -166,7 +166,7 @@ #define IDC_LASTCONTROL IDC_CEIL #define IDC_BINARYEXTENDEDFIRST 500 -#define IDC_LOGBASEX 500 // logx(y) +#define IDC_LOGBASEY 500 // logy(x) #define IDC_NAND 501 // Nand #define IDC_NOR 502 // Nor 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/EngineStrings.h b/src/CalcManager/Header Files/EngineStrings.h index 958c828bd..7e0932370 100644 --- a/src/CalcManager/Header Files/EngineStrings.h +++ b/src/CalcManager/Header Files/EngineStrings.h @@ -196,7 +196,7 @@ inline constexpr auto SIDS_ACSCH = L"InverseCsch"; inline constexpr auto SIDS_COTH = L"Coth"; inline constexpr auto SIDS_ACOTH = L"InverseCoth"; inline constexpr auto SIDS_TWOPOWX = L"TwoPowX"; -inline constexpr auto SIDS_LOGBASEX = L"LogBaseX"; +inline constexpr auto SIDS_LOGBASEY = L"LogBaseY"; inline constexpr auto SIDS_ABS = L"Abs"; inline constexpr auto SIDS_FLOOR = L"Floor"; inline constexpr auto SIDS_CEIL = L"Ceil"; @@ -352,7 +352,7 @@ inline constexpr std::array g_sids = SIDS_COTH, SIDS_ACOTH, SIDS_TWOPOWX, - SIDS_LOGBASEX, + SIDS_LOGBASEY, SIDS_ABS, SIDS_FLOOR, SIDS_CEIL, 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/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 -) diff --git a/src/CalcManager/Ratpack/conv.cpp b/src/CalcManager/Ratpack/conv.cpp index ab7aba058..4f7609de0 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) { @@ -1073,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. @@ -1113,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; } @@ -1126,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)) @@ -1140,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) @@ -1173,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; @@ -1280,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 @@ -1293,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/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/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/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/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/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; 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/CalcManager/UnitConverter.cpp b/src/CalcManager/UnitConverter.cpp index ce0ebb810..05242a081 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) @@ -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; } @@ -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; @@ -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); } } @@ -896,7 +896,7 @@ void UnitConverter::Calculate() else { int currentNumberSignificantDigits = GetNumberDigits(m_currentDisplay); - int precision = 0; + int precision; if (abs(returnValue) < OPTIMALDECIMALALLOWED) { precision = MAXIMUMDIGITSALLOWED; 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) { } 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/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/Automation/NarratorAnnouncement.cpp b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp index 15fca2c6e..72ae293e4 100644 --- a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp +++ b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.cpp @@ -24,6 +24,9 @@ namespace CalculatorApp::Common::Automation StringReference OpenParenthesisCountChanged(L"OpenParenthesisCountChanged"); StringReference NoParenthesisAdded(L"NoParenthesisAdded"); StringReference GraphModeChanged(L"GraphModeChanged"); + StringReference GraphViewChanged(L"GraphViewChanged"); + StringReference FunctionRemoved(L"FunctionRemoved"); + StringReference GraphViewBestFitChanged(L"GraphViewBestFitChanged"); } } @@ -142,7 +145,7 @@ NarratorAnnouncement ^ CalculatorAnnouncement::GetNoRightParenthesisAddedAnnounc AutomationNotificationProcessing::ImportantMostRecent); } -NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphModeChangedAnnouncement(Platform::String ^ announcement) +NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphModeChangedAnnouncement(String ^ announcement) { return ref new NarratorAnnouncement( announcement, @@ -150,3 +153,30 @@ NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphModeChangedAnnouncement(P AutomationNotificationKind::ActionCompleted, AutomationNotificationProcessing::ImportantMostRecent); } + +NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphViewChangedAnnouncement(String ^ announcement) +{ + return ref new NarratorAnnouncement( + announcement, + CalculatorActivityIds::GraphViewChanged, + AutomationNotificationKind::ActionCompleted, + AutomationNotificationProcessing::MostRecent); +} + +NarratorAnnouncement ^ CalculatorAnnouncement::GetFunctionRemovedAnnouncement(String ^ announcement) +{ + return ref new NarratorAnnouncement( + announcement, + CalculatorActivityIds::FunctionRemoved, + AutomationNotificationKind::ItemRemoved, + AutomationNotificationProcessing::MostRecent); +} + +NarratorAnnouncement ^ CalculatorAnnouncement::GetGraphViewBestFitChangedAnnouncement(Platform::String ^ announcement) +{ + return ref new NarratorAnnouncement( + announcement, + CalculatorActivityIds::GraphViewBestFitChanged, + AutomationNotificationKind::ActionCompleted, + AutomationNotificationProcessing::MostRecent); +} diff --git a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h index 81c3856b4..b378e5207 100644 --- a/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h +++ b/src/CalcViewModel/Common/Automation/NarratorAnnouncement.h @@ -68,6 +68,10 @@ public static NarratorAnnouncement ^ GetNoRightParenthesisAddedAnnouncement(Platform::String ^ announcement); static NarratorAnnouncement ^ GetGraphModeChangedAnnouncement(Platform::String ^ announcement); + static NarratorAnnouncement ^ GetGraphViewChangedAnnouncement(Platform::String ^ announcement); + static NarratorAnnouncement ^ GetGraphViewBestFitChangedAnnouncement(Platform::String ^ announcement); + + static NarratorAnnouncement ^ GetFunctionRemovedAnnouncement(Platform::String ^ announcement); }; } diff --git a/src/CalcViewModel/Common/CalculatorButtonUser.h b/src/CalcViewModel/Common/CalculatorButtonUser.h index 8afd0fe9a..a7b72189f 100644 --- a/src/CalcViewModel/Common/CalculatorButtonUser.h +++ b/src/CalcViewModel/Common/CalculatorButtonUser.h @@ -109,7 +109,7 @@ public InvCoth = (int) CM::Command::CommandACOTH, CubeRoot = (int) CM::Command::CommandCUBEROOT, TwoPowerX = (int) CM::Command::CommandPOW2, - LogBaseX = (int) CM::Command::CommandLogBaseX, + LogBaseY = (int) CM::Command::CommandLogBaseY, Nand = (int) CM::Command::CommandNand, Nor = (int) CM::Command::CommandNor, Abs = (int) CM::Command::CommandAbs, @@ -202,6 +202,7 @@ public GreaterThan, GreaterThanOrEqualTo, X, - Y + Y, + Submit }; } diff --git a/src/CalcViewModel/Common/LocalizationService.cpp b/src/CalcViewModel/Common/LocalizationService.cpp index 9060b04a6..c7fb9e0c3 100644 --- a/src/CalcViewModel/Common/LocalizationService.cpp +++ b/src/CalcViewModel/Common/LocalizationService.cpp @@ -545,7 +545,7 @@ unordered_map LocalizationService::GetTokenToReadableNameMap() static vector> s_noParenEngineKeyResourceMap = { // Programmer mode functions make_pair(L"9", L"LeftShift"), make_pair(L"10", L"RightShift"), - make_pair(L"LogBaseX", L"Logx"), + make_pair(L"LogBaseY", L"Logy"), // Y Root scientific function make_pair(L"16", L"YRoot") 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/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..f58513de2 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,23 @@ 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_GRAPH_THEME = L"GraphTheme"; 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 +60,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 +76,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 +92,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 +206,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 +228,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 +238,89 @@ 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, GraphButtonValue buttonValue) + { + auto fields = ref new LoggingFields(); + fields->AddString(StringReference(CALC_MODE), StringReference(GRAPHING_MODE)); + fields->AddInt16(StringReference(L"ButtonName"), static_cast(buttonName)); + fields->AddInt16(StringReference(L"ButtonValue"), static_cast(buttonValue)); + 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, 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); - 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_THEME), fields); } } diff --git a/src/CalcViewModel/Common/TraceLogger.h b/src/CalcViewModel/Common/TraceLogger.h index fa24f8e08..cef592e8c 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,44 @@ namespace CalculatorApp } }; -public - ref class TraceLogger sealed + public enum class GraphSettingsType + { + Grid, + TrigUnits, + Theme + }; + + public enum class GraphButton + { + StylePicker, + RemoveFunction, + ActiveTracingChecked, + ActiveTracingUnchecked, + GraphSettings, + Share, + ZoomIn, + ZoomOut, + GraphView + }; + + public enum class GraphButtonValue + { + None, + AutomaticBestFit, + ManualAdjustment + }; + + public enum class LineStyleType + { + Color, + Pattern + }; + + 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 +76,15 @@ 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, GraphButtonValue buttonValue); + void LogGraphLineStyleChanged(LineStyleType style); + void LogVariableChanged(Platform::String ^ inputChangedType, Platform::String ^ variableName); + void LogVariableSettingsChanged(Platform::String ^ setting); + 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 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 +92,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/Common/Utils.cpp b/src/CalcViewModel/Common/Utils.cpp index 27c325415..d87e78926 100644 --- a/src/CalcViewModel/Common/Utils.cpp +++ b/src/CalcViewModel/Common/Utils.cpp @@ -36,17 +36,6 @@ void Utils::IFTPlatformException(HRESULT hr) } } -String ^ Utils::GetStringValue(String ^ input) -{ - // Remove first and last " characters - if (input->Length() >= 3) - { - wstring out(input->Begin() + 1, input->End() - 1); - return ref new String(out.c_str()); - } - return input; -} - double Utils::GetDoubleFromWstring(wstring input) { constexpr wchar_t unWantedChars[] = { L' ', L',', 8234, 8235, 8236, 8237 }; diff --git a/src/CalcViewModel/Common/Utils.h b/src/CalcViewModel/Common/Utils.h index 7836b9bb1..670274c42 100644 --- a/src/CalcViewModel/Common/Utils.h +++ b/src/CalcViewModel/Common/Utils.h @@ -98,7 +98,7 @@ private: #define OBSERVABLE_NAMED_PROPERTY_R(t, n) \ OBSERVABLE_PROPERTY_R(t, n) \ - internal: \ +public: \ static property Platform::String ^ n##PropertyName \ { \ Platform::String ^ get() { return Platform::StringReference(L#n); } \ @@ -108,7 +108,7 @@ private: #define OBSERVABLE_NAMED_PROPERTY_RW(t, n) \ OBSERVABLE_PROPERTY_RW(t, n) \ - internal: \ +public: \ static property Platform::String ^ n##PropertyName \ { \ Platform::String ^ get() { return Platform::StringReference(L#n); } \ @@ -373,7 +373,6 @@ namespace Utils } void IFTPlatformException(HRESULT hr); - Platform::String ^ GetStringValue(Platform::String ^ input); bool IsLastCharacterTarget(std::wstring const& input, wchar_t target); // Return wstring after removing characters specified by unwantedChars array 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 { diff --git a/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp b/src/CalcViewModel/GraphingCalculator/EquationViewModel.cpp index 94b97794f..666f55ec1 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; @@ -32,11 +33,11 @@ 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() } - , m_resourceLoader{ Windows::ApplicationModel::Resources::ResourceLoader::GetForCurrentView() } + , m_resourceLoader{ ::ResourceLoader::GetForCurrentView() } { if (equation == nullptr) { @@ -45,6 +46,7 @@ namespace CalculatorApp::ViewModel GraphEquation = equation; LineColor = color; + LineColorIndex = colorIndex; IsLineEnabled = true; } @@ -72,11 +74,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 +304,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..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 { @@ -103,6 +104,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/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/GraphingSettingsViewModel.cpp b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.cpp index c261890cd..3c7de3531 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) @@ -20,7 +21,7 @@ GraphingSettingsViewModel::GraphingSettingsViewModel() , m_XMaxError(false) , m_YMinError(false) , m_YMaxError(false) - , m_dontUpdateDisplayRange(false) + , m_dontUpdateDisplayRange() , m_XIsMinLastChanged(true) , m_YIsMinLastChanged(true) { @@ -36,6 +37,7 @@ void GraphingSettingsViewModel::SetGrapher(Grapher ^ grapher) } } Graph = grapher; + InitRanges(); RaisePropertyChanged(L"TrigUnit"); } @@ -54,93 +56,53 @@ void GraphingSettingsViewModel::InitRanges() m_YMaxValue = yMax; auto valueStr = to_wstring(m_XMinValue); TrimTrailingZeros(valueStr); - m_XMin = ref new String(valueStr.c_str()); + XMin = ref new String(valueStr.c_str()); valueStr = to_wstring(m_XMaxValue); TrimTrailingZeros(valueStr); - m_XMax = ref new String(valueStr.c_str()); + XMax = ref new String(valueStr.c_str()); valueStr = to_wstring(m_YMinValue); TrimTrailingZeros(valueStr); - m_YMin = ref new String(valueStr.c_str()); + YMin = ref new String(valueStr.c_str()); valueStr = to_wstring(m_YMaxValue); TrimTrailingZeros(valueStr); - m_YMax = ref new String(valueStr.c_str()); + YMax = ref new String(valueStr.c_str()); m_dontUpdateDisplayRange = false; } -void GraphingSettingsViewModel::UpdateDisplayRange(bool XValuesModified) +void GraphingSettingsViewModel::ResetView() { - if (m_Graph == nullptr || m_dontUpdateDisplayRange || HasError()) + if (m_Graph != nullptr) { - return; + 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"); } +} - if (m_Graph->ForceProportionalAxes) +void GraphingSettingsViewModel::UpdateDisplayRange() +{ + if (m_Graph == nullptr || m_dontUpdateDisplayRange || HasError()) { - // 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"); - } - } - } + return; } + m_Graph->SetDisplayRanges(m_XMinValue, m_XMaxValue, m_YMinValue, m_YMaxValue); + + TraceLogger::GetInstance()->LogGraphSettingsChanged(GraphSettingsType::Grid, L""); } bool GraphingSettingsViewModel::HasError() diff --git a/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h b/src/CalcViewModel/GraphingCalculator/GraphingSettingsViewModel.h index ed250bebd..6d6045c01 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 { @@ -71,7 +72,7 @@ namespace CalculatorApp::ViewModel } RaisePropertyChanged("XError"); RaisePropertyChanged("XMin"); - UpdateDisplayRange(true); + UpdateDisplayRange(); } } @@ -112,7 +113,7 @@ namespace CalculatorApp::ViewModel } RaisePropertyChanged("XError"); RaisePropertyChanged("XMax"); - UpdateDisplayRange(true); + UpdateDisplayRange(); } } @@ -153,7 +154,7 @@ namespace CalculatorApp::ViewModel } RaisePropertyChanged("YError"); RaisePropertyChanged("YMin"); - UpdateDisplayRange(false); + UpdateDisplayRange(); } } @@ -194,7 +195,7 @@ namespace CalculatorApp::ViewModel } RaisePropertyChanged("YError"); RaisePropertyChanged("YMax"); - UpdateDisplayRange(false); + UpdateDisplayRange(); } } @@ -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, L"Radians"); } } } @@ -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, L"Degrees"); } } } @@ -262,19 +269,23 @@ 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, L"Gradians"); } } } public: - void UpdateDisplayRange(bool XValuesModified); + void UpdateDisplayRange(); public: void SetGrapher(GraphControl::Grapher ^ grapher); void InitRanges(); + void ResetView(); bool HasError(); private: diff --git a/src/CalcViewModel/GraphingCalculator/VariableViewModel.h b/src/CalcViewModel/GraphingCalculator/VariableViewModel.h index 4d9240e83..cd5ffce92 100644 --- a/src/CalcViewModel/GraphingCalculator/VariableViewModel.h +++ b/src/CalcViewModel/GraphingCalculator/VariableViewModel.h @@ -4,6 +4,7 @@ #pragma once #include "../Common/Utils.h" +#include "CalcViewModel/Common/LocalizationStringUtil.h" #include "EquationViewModel.h" namespace CalculatorApp::ViewModel @@ -18,54 +19,105 @@ 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"); } } } + property Platform::String ^ VariableAutomationName + { + Platform::String ^ get() + { + return CalculatorApp::Common::LocalizationStringUtil::GetLocalizedString( + CalculatorApp::AppResourceProvider::GetInstance()->GetResourceString(L"VariableListViewItem"), Name); + } + } + private: - double m_Value; + GraphControl::Variable ^ m_variable; }; } diff --git a/src/CalcViewModel/HistoryViewModel.cpp b/src/CalcViewModel/HistoryViewModel.cpp index 473322edc..37f721322 100644 --- a/src/CalcViewModel/HistoryViewModel.cpp +++ b/src/CalcViewModel/HistoryViewModel.cpp @@ -6,6 +6,7 @@ #include "Common/TraceLogger.h" #include "Common/LocalizationStringUtil.h" #include "Common/LocalizationSettings.h" +#include "StandardCalculatorViewModel.h" using namespace CalculatorApp; using namespace CalculatorApp::Common; @@ -41,11 +42,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 +128,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 +153,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 +168,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 +210,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 +239,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 +255,13 @@ 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); +} + +unsigned long long HistoryViewModel::GetMaxItemSize() +{ + return static_cast(m_calculatorManager->MaxHistorySize()); } void HistoryViewModel::SaveHistory() diff --git a/src/CalcViewModel/HistoryViewModel.h b/src/CalcViewModel/HistoryViewModel.h index c1c377319..cc393219a 100644 --- a/src/CalcViewModel/HistoryViewModel.h +++ b/src/CalcViewModel/HistoryViewModel.h @@ -15,6 +15,8 @@ namespace CalculatorApp namespace ViewModel { + ref class StandardCalculatorViewModel; + public delegate void HideHistoryClickedHandler(); public @@ -45,6 +47,7 @@ namespace CalculatorApp internal : HistoryViewModel(_In_ CalculationManager::CalculatorManager* calculatorManager); void SetCalculatorDisplay(CalculatorDisplay& calculatorDisplay); void ReloadHistory(_In_ CalculatorApp::Common::ViewMode currentMode); + unsigned long long GetMaxItemSize(); void DeleteItem(_In_ CalculatorApp::ViewModel::HistoryItemViewModel ^ e); @@ -55,16 +58,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..7c0b291d4 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)) { @@ -1812,3 +1812,13 @@ void StandardCalculatorViewModel::SelectHistoryItem(HistoryItemViewModel ^ item) SetPrimaryDisplay(item->Result, false); IsFToEEnabled = false; } + +void StandardCalculatorViewModel::ResetCalcManager(bool clearMemory) +{ + m_standardCalculatorManager.Reset(clearMemory); +} + +void StandardCalculatorViewModel::SendCommandToCalcManager(int commandId) +{ + m_standardCalculatorManager.SendCommand(static_cast(commandId)); +} diff --git a/src/CalcViewModel/StandardCalculatorViewModel.h b/src/CalcViewModel/StandardCalculatorViewModel.h index 38584b5db..a5095791e 100644 --- a/src/CalcViewModel/StandardCalculatorViewModel.h +++ b/src/CalcViewModel/StandardCalculatorViewModel.h @@ -12,11 +12,6 @@ #include "Common/BitLength.h" #include "Common/NumberBase.h" -namespace CalculatorFunctionalTests -{ - class HistoryTests; -} - namespace CalculatorUnitTests { class MultiWindowUnitTests; @@ -247,7 +242,11 @@ namespace CalculatorApp } } - internal : + // Used by unit tests + void ResetCalcManager(bool clearMemory); + void SendCommandToCalcManager(int command); + + internal: void OnPaste(Platform::String ^ pastedString); void OnCopyCommand(Platform::Object ^ parameter); void OnPasteCommand(Platform::Object ^ parameter); @@ -307,7 +306,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; @@ -373,7 +372,6 @@ namespace CalculatorApp CalculatorApp::Common::ViewMode GetCalculatorMode(); friend class CalculatorDisplay; - friend class CalculatorFunctionalTests::HistoryTests; friend class CalculatorUnitTests::MultiWindowUnitTests; }; } 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.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/App.xaml b/src/Calculator/App.xaml index 50472efd6..7082c7523 100644 --- a/src/Calculator/App.xaml +++ b/src/Calculator/App.xaml @@ -70,20 +70,33 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + @@ -163,6 +176,19 @@ + + + + + + + 0,1,0,0 @@ -197,6 +223,26 @@ + + + + + + + @@ -1764,6 +1810,25 @@ + + + + + diff --git a/src/Calculator/Assets/CalcMDL2.ttf b/src/Calculator/Assets/CalcMDL2.ttf index fda499276..9ee5deb05 100644 Binary files a/src/Calculator/Assets/CalcMDL2.ttf and b/src/Calculator/Assets/CalcMDL2.ttf differ diff --git a/src/Calculator/Assets/Graphing.targetsize-16.png b/src/Calculator/Assets/Graphing.targetsize-16.png new file mode 100644 index 000000000..485e73498 Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-16.png differ 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 000000000..485e73498 Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-16_contrast-black.png differ 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 000000000..467880450 Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-16_contrast-white.png differ diff --git a/src/Calculator/Assets/Graphing.targetsize-20.png b/src/Calculator/Assets/Graphing.targetsize-20.png new file mode 100644 index 000000000..9b1754ed8 Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-20.png differ diff --git a/src/Calculator/Assets/Graphing.targetsize-20_contrast-black.png b/src/Calculator/Assets/Graphing.targetsize-20_contrast-black.png new file mode 100644 index 000000000..9b1754ed8 Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-20_contrast-black.png differ diff --git a/src/Calculator/Assets/Graphing.targetsize-20_contrast-white.png b/src/Calculator/Assets/Graphing.targetsize-20_contrast-white.png new file mode 100644 index 000000000..517e7413d Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-20_contrast-white.png differ diff --git a/src/Calculator/Assets/Graphing.targetsize-24.png b/src/Calculator/Assets/Graphing.targetsize-24.png new file mode 100644 index 000000000..2670817a1 Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-24.png differ 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 000000000..2670817a1 Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-24_contrast-black.png differ 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 000000000..f603fc856 Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-24_contrast-white.png differ diff --git a/src/Calculator/Assets/Graphing.targetsize-32.png b/src/Calculator/Assets/Graphing.targetsize-32.png new file mode 100644 index 000000000..b8ae7bb5a Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-32.png differ 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 000000000..b8ae7bb5a Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-32_contrast-black.png differ 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 000000000..8dd829ac8 Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-32_contrast-white.png differ diff --git a/src/Calculator/Assets/Graphing.targetsize-64.png b/src/Calculator/Assets/Graphing.targetsize-64.png new file mode 100644 index 000000000..e347e193f Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-64.png differ diff --git a/src/Calculator/Assets/Graphing.targetsize-64_contrast-black.png b/src/Calculator/Assets/Graphing.targetsize-64_contrast-black.png new file mode 100644 index 000000000..e347e193f Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-64_contrast-black.png differ diff --git a/src/Calculator/Assets/Graphing.targetsize-64_contrast-white.png b/src/Calculator/Assets/Graphing.targetsize-64_contrast-white.png new file mode 100644 index 000000000..d5cdc05b7 Binary files /dev/null and b/src/Calculator/Assets/Graphing.targetsize-64_contrast-white.png differ diff --git a/src/Calculator/Calculator.vcxproj b/src/Calculator/Calculator.vcxproj index ae195362c..908d8fc56 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 @@ -897,6 +899,21 @@ + + + + + + + + + + + + + + + @@ -959,7 +976,7 @@ - + @@ -967,6 +984,6 @@ - + - \ No newline at end of file + diff --git a/src/Calculator/Calculator.vcxproj.filters b/src/Calculator/Calculator.vcxproj.filters index 5b6e9ec7e..9ffafdb44 100644 --- a/src/Calculator/Calculator.vcxproj.filters +++ b/src/Calculator/Calculator.vcxproj.filters @@ -328,6 +328,7 @@ Common + @@ -435,6 +436,7 @@ Common + @@ -520,7 +522,6 @@ Views\GraphingCalculator - @@ -1523,6 +1524,51 @@ Assets + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + + + Assets + @@ -1535,7 +1581,5 @@ - - \ No newline at end of file diff --git a/src/Calculator/Common/KeyboardShortcutManager.cpp b/src/Calculator/Common/KeyboardShortcutManager.cpp index d5c78c05e..f05e3c486 100644 --- a/src/Calculator/Common/KeyboardShortcutManager.cpp +++ b/src/Calculator/Common/KeyboardShortcutManager.cpp @@ -56,6 +56,8 @@ static map s_AboutFlyout; static reader_writer_lock s_keyboardShortcutMapLock; +static bool s_shortcutsDisabled = false; + namespace CalculatorApp { namespace Common @@ -642,6 +644,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) @@ -728,6 +737,11 @@ void KeyboardShortcutManager::UpdateDropDownState(Flyout ^ aboutPageFlyout) void KeyboardShortcutManager::HonorShortcuts(bool allow) { + if (s_shortcutsDisabled) + { + return; + } + // Writer lock for the static maps reader_writer_lock::scoped_lock lock(s_keyboardShortcutMapLock); @@ -821,3 +835,9 @@ void KeyboardShortcutManager::OnWindowClosed(int viewId) s_fHonorShortcuts.erase(viewId); s_AboutFlyout.erase(viewId); } + +void KeyboardShortcutManager::DisableShortcuts(bool disable) +{ + s_shortcutsDisabled = disable; + HonorShortcuts(!disable); +} diff --git a/src/Calculator/Common/KeyboardShortcutManager.h b/src/Calculator/Common/KeyboardShortcutManager.h index 124ae167e..32ace85bd 100644 --- a/src/Calculator/Common/KeyboardShortcutManager.h +++ b/src/Calculator/Common/KeyboardShortcutManager.h @@ -43,6 +43,7 @@ namespace CalculatorApp static void IgnoreEscape(bool onlyOnce); static void HonorEscape(); static void HonorShortcuts(bool allow); + static void DisableShortcuts(bool disable); static void UpdateDropDownState(bool); static void ShiftButtonChecked(bool checked); static void UpdateDropDownState(Windows::UI::Xaml::Controls::Flyout ^ aboutPageFlyout); diff --git a/src/Calculator/Controls/CalculationResult.cpp b/src/Calculator/Controls/CalculationResult.cpp index ed092fab9..1b15333ac 100644 --- a/src/Calculator/Controls/CalculationResult.cpp +++ b/src/Calculator/Controls/CalculationResult.cpp @@ -323,17 +323,38 @@ void CalculationResult::UpdateScrollButtons() return; } + bool shouldTryFocusScrollRight = false; if (m_scrollLeft != nullptr) { - m_scrollLeft->Visibility = m_textContainer->HorizontalOffset > SCROLL_BUTTONS_APPROXIMATION_RANGE ? ::Visibility::Visible : ::Visibility::Collapsed; + auto scrollLeftVisibility = m_textContainer->HorizontalOffset > SCROLL_BUTTONS_APPROXIMATION_RANGE ? ::Visibility::Visible : ::Visibility::Collapsed; + + if (scrollLeftVisibility == ::Visibility::Collapsed) + { + shouldTryFocusScrollRight = m_scrollLeft->Equals(FocusManager::GetFocusedElement()); + } + + m_scrollLeft->Visibility = scrollLeftVisibility; } if (m_scrollRight != nullptr) { - m_scrollRight->Visibility = + auto scrollRightVisibility = m_textContainer->HorizontalOffset + m_textContainer->ViewportWidth + SCROLL_BUTTONS_APPROXIMATION_RANGE < m_textContainer->ExtentWidth ? ::Visibility::Visible : ::Visibility::Collapsed; + + if (scrollRightVisibility == ::Visibility::Collapsed && m_scrollLeft != nullptr && m_scrollLeft->Visibility == ::Visibility::Visible + && m_scrollRight->Equals(FocusManager::GetFocusedElement())) + { + // ScrollRight had the focus and will be collapsed, ScrollLeft should get the focus + m_scrollLeft->Focus(::FocusState::Programmatic); + } + m_scrollRight->Visibility = scrollRightVisibility; + + if (shouldTryFocusScrollRight && scrollRightVisibility == ::Visibility::Visible) + { + m_scrollRight->Focus(::FocusState::Programmatic); + } } } diff --git a/src/Calculator/Controls/EquationTextBox.cpp b/src/Calculator/Controls/EquationTextBox.cpp index a5d6d69b9..b9daab354 100644 --- a/src/Calculator/Controls/EquationTextBox.cpp +++ b/src/Calculator/Controls/EquationTextBox.cpp @@ -27,6 +27,8 @@ 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() { @@ -44,6 +46,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(); @@ -62,8 +69,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( + IsEquationLineDisabled ? resProvider->GetResourceString(L"showEquationButtonToolTip") + : resProvider->GetResourceString(L"hideEquationButtonToolTip"), EquationButtonContentIndex); + toolTip->Content = equationButtonMessage; ToolTipService::SetToolTip(m_equationButton, toolTip); AutomationProperties::SetName(m_equationButton, equationButtonMessage); @@ -71,7 +81,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) @@ -119,6 +129,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(); } @@ -202,8 +237,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( + IsEquationLineDisabled ? resProvider->GetResourceString(L"showEquationButtonToolTip") + : resProvider->GetResourceString(L"hideEquationButtonToolTip"), EquationButtonContentIndex); + toolTip->Content = equationButtonMessage; ToolTipService::SetToolTip(m_equationButton, toolTip); AutomationProperties::SetName(m_equationButton, equationButtonMessage); @@ -231,9 +269,11 @@ void EquationTextBox::OnRemoveButtonClicked(Object ^ sender, RoutedEventArgs ^ e if (m_equationButton) { - m_equationButton->IsChecked = false; + IsEquationLineDisabled = false; } + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::RemoveFunction, GraphButtonValue::None); + VisualStateManager::GoToState(this, "Normal", true); } @@ -242,6 +282,7 @@ void EquationTextBox::OnColorChooserButtonClicked(Object ^ sender, RoutedEventAr if (ColorChooserFlyout != nullptr && m_richEditBox != nullptr) { ColorChooserFlyout->ShowAt(m_richEditBox); + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::StylePicker, GraphButtonValue::None); } } @@ -250,6 +291,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; @@ -338,17 +419,37 @@ 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) { m_colorChooserMenuItem->IsEnabled = !HasError && !IsAddEquationMode; } + + if (m_richEditBox != nullptr && m_cutMenuItem != nullptr) + { + m_cutMenuItem->IsEnabled = m_richEditBox->TextDocument->CanCopy(); + } + + if (m_richEditBox != nullptr && m_copyMenuItem != nullptr) + { + m_copyMenuItem->IsEnabled = m_richEditBox->TextDocument->CanCopy(); + } + + 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 15759ec61..a9fcc2625 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,8 @@ 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); @@ -58,7 +61,13 @@ 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 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 +82,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/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/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 e143d07af..9f13533e0 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,24 @@ 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, SelectedColorIndex); 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) @@ -41,6 +53,8 @@ void EquationStylePanelControl::SelectionChanged(Object ^ /*sender */, Selection { SelectedColor = brush->Color; } + + TraceLogger::GetInstance()->LogGraphLineStyleChanged(LineStyleType::Color); } } @@ -56,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)); @@ -69,6 +84,7 @@ void EquationStylePanelControl::SelectColor(Color selectedColor) if (Utils::AreColorsEqual(brush->Color, selectedColor)) { gridViewItem->IsSelected = true; + SelectedColorIndex = i; return; } else @@ -77,3 +93,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 b3c3aabb0..6e6422a1e 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 { @@ -15,7 +16,14 @@ 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(int, SelectedColorIndex); 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); @@ -24,5 +32,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/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/en-US/CEngineStrings.resw b/src/Calculator/Resources/en-US/CEngineStrings.resw index 0cea3adf7..fff1d6720 100644 --- a/src/Calculator/Resources/en-US/CEngineStrings.resw +++ b/src/Calculator/Resources/en-US/CEngineStrings.resw @@ -517,8 +517,8 @@ 2^ {Locked}The string that represents the function - - base log + + log base {Locked}The string that represents the function diff --git a/src/Calculator/Resources/en-US/Resources.resw b/src/Calculator/Resources/en-US/Resources.resw index 4e9d2df3f..b8ddffcb0 100644 --- a/src/Calculator/Resources/en-US/Resources.resw +++ b/src/Calculator/Resources/en-US/Resources.resw @@ -3447,9 +3447,9 @@ Cube Root Name for the cube root function. Used by screen readers. - - Base Log - Name for the logbasex function. Used by screen readers. + + Log Base + Name for the logbasey function. Used by screen readers. Absolute Value @@ -3519,11 +3519,11 @@ Calculation failed Text displayed when the application is not able to do a calculation - - Log base X - Screen reader prompt for the logBaseX button + + Log base Y + Screen reader prompt for the logBaseY button - + L {Locked}This is the character that should trigger this button. Note that it is a character and not a key, so it does not come from the Windows::System::VirtualKey enum. @@ -3539,6 +3539,10 @@ Inequalities Displayed on the button that contains a flyout for the inequality functions. + + Inequalities + Screen reader prompt for the Inequalities button + Bitwise Displayed on the button that contains a flyout for the bitwise functions in programmer mode. @@ -3843,14 +3847,6 @@ Graphing Name of the Graphing mode of the Calculator app. Displayed in the navigation menu. - - = - {Locked}This is the character that should trigger this button. Note that it is a character and not a key, so it does not come from the Windows::System::VirtualKey enum. - - - Equals - Screen reader prompt for the equal button on the graphing calculator operator keypad - Enter {Locked}This is the value from the VirtualKey enum that maps to this button @@ -3871,20 +3867,28 @@ ^ {Locked}This is the character that should trigger this button. Note that it is a character and not a key, so it does not come from the Windows::System::VirtualKey enum. - + Home - {Locked}This is the shortcut for the zoom reset button. + {Locked}This is the shortcut for the graph view button. + + + Refresh view automatically (Ctrl + 0) + This is the tool tip automation name for the Calculator graph view button. - - Reset View - This is the tool tip automation name for the Calculator zoom reset button. + + Graph View + Screen reader prompt for the graph view button. - - Reset View - Screen reader prompt for the reset zoom button. + + Automatic Best Fit + Announcement used in Graphing Calculator when button is clicked and automatic best fit is set + + + Manual Adjustment + Announcement used in Graphing Calculator when button is clicked and manual adjustment is set - Zoom In + Zoom In (Ctrl + plus) This is the tool tip automation name for the Calculator zoom in button. @@ -3892,7 +3896,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. @@ -3944,11 +3948,15 @@ 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 + - Key Graph Features + Function analysis Title for KeyGraphFeatures Control @@ -4106,25 +4114,181 @@ Unable to calculate the range for this function. Error displayed when Range is not returned from the analyzer. - - Back + + 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 to function list This is the tooltip for the back button in the equation analysis page in the graphing calculator - Back + Back to function list 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 @@ -4159,12 +4323,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 @@ -4174,6 +4338,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 @@ -4203,8 +4371,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 @@ -4222,6 +4390,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 @@ -4238,10 +4410,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 @@ -4254,8 +4422,232 @@ 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. + + + 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 equation + Enter an expression this is the placeholder text used by the textbox to enter an equation - \ No newline at end of file + + 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 + + + Function Input List Item + The automation name for the Equation Input ListView item that is shown when Calculator is in graphing mode. + + + Function Input List + The automation name for the Equation Input ListView that is shown when Calculator is in graphing mode. + + + Function Input Panel + The automation name for the Equation Input StackPanel that is shown when Calculator is in graphing mode. + + + Variable Panel + The automation name for the Variable StackPanel that is shown when Calculator is in graphing mode. + + + Variable List + The automation name for the Variable ListView that is shown when Calculator is in graphing mode. + + + Variable %1 List Item + The automation name for the Variable ListViewItem that is shown when Calculator is in graphing mode. + + + Variable Value Textbox + The automation name for the Variable Value Textbox that is shown when Calculator is in graphing mode. + + + Variable Value Slider + The automation name for the Variable Value Slider that is shown when Calculator is in graphing mode. + + + Variable Minimum Value Textbox + The automation name for the Variable Min Value Textbox that is shown when Calculator is in graphing mode. + + + Variable Step Value Textbox + The automation name for the Variable Step Textbox that is shown when Calculator is in graphing mode. + + + Variable Maximum Value Textbox + The automation name for the Variable Max Value Textbox that is shown when Calculator is in graphing mode. + + + 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 + + + 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 + + + Function removed + Announcement used in Graphing Calculator when a function is removed from the function list + + + Function Analysis Equation Box + This is the automation name text for the equation box in the function analsis panel + + + Less than + Screen reader prompt for the Less than button + + + Less than or equal + Screen reader prompt for the Less than or equal button + + + Equal + Screen reader prompt for the Equal button + + + Greater than or equal + Screen reader prompt for the Greater than or equal button + + + Greater than + Screen reader prompt for the Greater than button + + + X + Screen reader prompt for the X button on the graphing calculator operator keypad + + + Y + Screen reader prompt for the Y button on the graphing calculator operator keypad + + + Submit + Screen reader prompt for the submit button on the graphing calculator operator keypad + + 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 diff --git a/src/Calculator/TemporaryKey.pfx b/src/Calculator/TemporaryKey.pfx index b10fa3462..6f836ee74 100644 Binary files a/src/Calculator/TemporaryKey.pfx and b/src/Calculator/TemporaryKey.pfx differ 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..c1884b495 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; @@ -408,10 +407,6 @@ void Calculator::UpdateHistoryState() { // flyout view DockHistoryHolder->Child = nullptr; - if (!IsProgrammer) - { - HistoryButton->Visibility = ::Visibility::Visible; - } } } @@ -679,6 +674,7 @@ void Calculator::DockPanelTapped(_In_ TappedRoutedEventArgs ^ e) void Calculator::UnregisterEventHandlers() { ExpressionText->UnregisterEventHandlers(); + AlwaysOnTopResults->UnregisterEventHandlers(); } void Calculator::OnErrorVisualStateCompleted(_In_ Platform::Object ^ sender, _In_ Platform::Object ^ e) @@ -703,6 +699,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/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..2a614c525 100644 --- a/src/Calculator/Views/CalculatorScientificOperators.xaml +++ b/src/Calculator/Views/CalculatorScientificOperators.xaml @@ -90,7 +90,7 @@ - + @@ -148,7 +148,7 @@ - + @@ -238,7 +238,7 @@ - + @@ -326,7 +326,7 @@ - + @@ -898,7 +898,7 @@ - - diff --git a/src/Calculator/Views/CalculatorScientificOperators.xaml.cpp b/src/Calculator/Views/CalculatorScientificOperators.xaml.cpp index 5b7b612d4..253a3d73a 100644 --- a/src/Calculator/Views/CalculatorScientificOperators.xaml.cpp +++ b/src/Calculator/Views/CalculatorScientificOperators.xaml.cpp @@ -140,3 +140,19 @@ String ^ CalculatorScientificOperators::ParenthesisCountToString(unsigned int co { return (count == 0) ? ref new String() : ref new String(to_wstring(count).data()); } + +void CalculatorScientificOperators::ClearEntryButton_LostFocus(Object ^ sender, RoutedEventArgs ^ e) +{ + if (ClearEntryButton->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); }; } diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml index 981b776b4..97e13afde 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml @@ -15,73 +15,29 @@ + - + - - - - - - - - - - - - - @@ -110,6 +66,7 @@ Text="="/> - + ValueChanged="Slider_ValueChanged" + Value="{x:Bind Value, Mode=TwoWay}" + Maximum="{x:Bind Max, Mode=TwoWay}" + Minimum="{x:Bind Min, Mode=TwoWay}"/> - + @@ -321,6 +290,7 @@ + @@ -341,7 +311,7 @@ - + @@ -391,10 +361,10 @@ Grid.Column="1" MinWidth="44" MinHeight="44" - VerticalAlignment="Stretch"> + VerticalAlignment="Stretch" + IsChecked="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=IsEquationLineDisabled, Mode=TwoWay}"> - + + + + + + + - + @@ -611,7 +596,7 @@ Style="{ThemeResource ButtonRevealStyle}" FontFamily="{StaticResource CalculatorFontFamily}" AutomationProperties.AccessibilityView="Raw" - Content="" + Content="" IsTabStop="False" Visibility="Collapsed"> @@ -681,7 +666,18 @@ - + + - @@ -776,61 +762,97 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp index 8dd897b93..3c357c740 100644 --- a/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/EquationInputArea.xaml.cpp @@ -4,9 +4,13 @@ #include "pch.h" #include "EquationInputArea.xaml.h" #include "Utils/VisualTree.h" +#include "CalcViewModel/Common/AppResourceProvider.h" +#include "CalcViewModel/Common/Automation/NarratorAnnouncement.h" +#include "CalcViewModel/Common/Automation/NarratorNotifier.h" using namespace CalculatorApp; using namespace CalculatorApp::Common; +using namespace CalculatorApp::Common::Automation; using namespace GraphControl; using namespace CalculatorApp::ViewModel; using namespace CalculatorApp::Controls; @@ -16,6 +20,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; @@ -28,9 +33,11 @@ using namespace Calculator::Utils; namespace { inline constexpr auto maxEquationSize = 14; + inline constexpr auto colorCount = 14; 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() @@ -41,8 +48,12 @@ EquationInputArea::EquationInputArea() { m_accessibilitySettings->HighContrastChanged += ref new TypedEventHandler(this, &EquationInputArea::OnHighContrastChanged); + m_isHighContrast = m_accessibilitySettings->HighContrast; - 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 +64,11 @@ void EquationInputArea::OnPropertyChanged(String ^ propertyName) { OnEquationsPropertyChanged(); } + + else if (propertyName == IsMatchAppThemePropertyName) + { + ReloadAvailableColors(m_accessibilitySettings->HighContrast, false); + } } void EquationInputArea::OnEquationsPropertyChanged() @@ -76,20 +92,33 @@ void EquationInputArea::AddNewEquation() return; } - m_lastLineColorIndex = (m_lastLineColorIndex + 1) % AvailableColors->Size; - int colorIndex; if (m_accessibilitySettings->HighContrast) { + m_lastLineColorIndex = (m_lastLineColorIndex + 1) % AvailableColors->Size; colorIndex = m_lastLineColorIndex; } else { - colorIndex = colorAssignmentMapping[m_lastLineColorIndex]; + std::array colorAssignmentUsed{}; + for (auto equation : Equations) + { + colorAssignmentUsed[equation->LineColorIndex] = true; + } + + colorIndex = 0; + // If for some reason all of the values in colorAssignmentUsed are true, the check for colorIndex < colorCount - 1 will + // set it to the last color in the list + while (colorIndex < colorCount - 1 && colorAssignmentUsed[colorAssignmentMapping[colorIndex]]) + { + colorIndex++; + } + + colorIndex = colorAssignmentMapping[colorIndex]; } - 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); @@ -97,22 +126,25 @@ 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; @@ -122,6 +154,11 @@ void EquationInputArea::EquationTextBox_Submitted(Object ^ sender, MathRichEditB || (submission->Source == EquationSubmissionSource::FOCUS_LOST && submission->HasTextChanged && eq->Expression != nullptr && eq->Expression->Length() > 0)) { + if (submission->Source == EquationSubmissionSource::ENTER_KEY) + { + eq->IsLineEnabled = true; + } + unsigned int index = 0; if (Equations->IndexOf(eq, &index)) { @@ -149,24 +186,17 @@ void EquationInputArea::FocusEquationTextBox(EquationViewModel ^ equation) { return; } - auto container = EquationInputList->TryGetElement(index); - if (container == nullptr) - { - return; - } - auto equationTextBox = dynamic_cast(container); - if (equationTextBox != nullptr) - { - equationTextBox->FocusTextBox(); - } - else + auto container = static_cast(EquationInputList->ContainerFromIndex(index)); + if (container != nullptr) { + container->StartBringIntoView(); + auto equationInput = VisualTree::FindDescendantByName(container, "EquationInputButton"); if (equationInput == nullptr) { return; } - equationTextBox = dynamic_cast(equationInput); + auto equationTextBox = dynamic_cast(equationInput); if (equationTextBox != nullptr) { equationTextBox->FocusTextBox(); @@ -176,8 +206,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)) @@ -189,6 +218,12 @@ void EquationInputArea::EquationTextBox_RemoveButtonClicked(Object ^ sender, Rou } Equations->RemoveAt(index); + + auto narratorNotifier = ref new NarratorNotifier(); + auto announcement = + CalculatorAnnouncement::GetFunctionRemovedAnnouncement(AppResourceProvider::GetInstance()->GetResourceString(L"FunctionRemovedAnnouncement")); + narratorNotifier->Announce(announcement); + int lastIndex = Equations->Size - 1; if (Equations->Size <= 1) @@ -206,16 +241,15 @@ 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; + + TraceLogger::GetInstance()->LogShowHideButtonClicked(eq->IsLineEnabled ? false : true); } void EquationInputArea::EquationTextBox_Loaded(Object ^ sender, RoutedEventArgs ^ e) @@ -234,7 +268,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 +298,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(); @@ -275,31 +309,56 @@ void EquationInputArea::FocusEquationIfNecessary(CalculatorApp::Controls::Equati void EquationInputArea::OnHighContrastChanged(AccessibilitySettings ^ sender, Object ^ args) { - ReloadAvailableColors(sender->HighContrast); + ReloadAvailableColors(sender->HighContrast, true); + m_isHighContrast = sender->HighContrast; } -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->m_isHighContrast == refThis->m_accessibilitySettings->HighContrast) + { + refThis->ReloadAvailableColors(false, 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 @@ -309,11 +368,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; } } @@ -330,21 +397,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 { @@ -386,6 +457,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"; @@ -393,7 +469,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 - + - + + + @@ -626,11 +764,13 @@ Visibility="{x:Bind IsKeyGraphFeaturesVisible, Mode=OneWay}" x:Load="{x:Bind IsKeyGraphFeaturesVisible, Mode=OneWay}"/> - + diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp index 84703320e..62453b486 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp +++ b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.cpp @@ -34,10 +34,12 @@ using namespace Windows::ApplicationModel::DataTransfer; using namespace Windows::ApplicationModel::Resources; 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::UI::Core; using namespace Windows::UI::Input; +using namespace Windows::UI::ViewManagement; using namespace Windows::UI::Xaml; using namespace Windows::UI::Xaml::Automation; using namespace Windows::UI::Xaml::Automation::Peers; @@ -51,8 +53,10 @@ using namespace Windows::UI::Popups; using namespace Windows::UI::ViewManagement; constexpr auto sc_ViewModelPropertyName = L"ViewModel"; +constexpr auto sc_IsGraphThemeMatchApp = L"IsGraphThemeMatchApp"; DEPENDENCY_PROPERTY_INITIALIZATION(GraphingCalculator, IsSmallState); +DEPENDENCY_PROPERTY_INITIALIZATION(GraphingCalculator, GraphControlAutomationName); GraphingCalculator::GraphingCalculator() : m_accessibilitySettings{ ref new AccessibilitySettings() } @@ -74,6 +78,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 @@ -85,12 +91,35 @@ GraphingCalculator::GraphingCalculator() 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; + if (Windows::Foundation::Metadata::ApiInformation::IsTypePresent(L"Windows.UI.Xaml.Media.ThemeShadow")) + { + SharedShadow->Receivers->Append(GraphingControl); + } + 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) @@ -100,7 +129,6 @@ void GraphingCalculator::OnShowTracePopupChanged(bool newValue) TraceValuePopup->Visibility = newValue ? ::Visibility::Visible : ::Visibility::Collapsed; } } - void GraphingCalculator::GraphingCalculator_DataContextChanged(FrameworkElement ^ sender, DataContextChangedEventArgs ^ args) { if (ViewModel != nullptr) @@ -125,6 +153,8 @@ void GraphingCalculator::GraphingCalculator_DataContextChanged(FrameworkElement m_variableUpdatedToken = ViewModel->VariableUpdated += ref new EventHandler(this, &CalculatorApp::GraphingCalculator::OnVariableChanged); + + UpdateGraphAutomationName(); } void GraphingCalculator::OnEquationsVectorChanged(IObservableVector ^ sender, IVectorChangedEventArgs ^ event) @@ -144,6 +174,11 @@ void GraphingCalculator::OnEquationsVectorChanged(IObservableVectorEquations->RemoveAt(event->Index); + if (GraphingControl->Equations->Size == 1 && GraphingControl->Equations->GetAt(0)->Expression->IsEmpty()) + { + IsManualAdjustment = false; + } + return; } } @@ -193,9 +228,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() @@ -216,6 +254,7 @@ void CalculatorApp::GraphingCalculator::OnShareClick(Platform::Object ^ sender, { // Ask the OS to start a share action. DataTransferManager::ShowShareUI(); + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::Share, GraphButtonValue::None); } // When share is invoked (by the user or programmatically) the event handler we registered will be called to populate the data package with the @@ -316,6 +355,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; @@ -346,16 +386,13 @@ void GraphingCalculator::OnVariableChanged(Platform::Object ^ sender, VariableCh void GraphingCalculator::OnZoomInCommand(Object ^ /* parameter */) { GraphingControl->ZoomFromCenter(zoomInScale); + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::ZoomIn, GraphButtonValue::None); } void GraphingCalculator::OnZoomOutCommand(Object ^ /* parameter */) { GraphingControl->ZoomFromCenter(zoomOutScale); -} - -void GraphingCalculator::OnZoomResetCommand(Object ^ /* parameter */) -{ - GraphingControl->ResetGrid(); + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::ZoomOut, GraphButtonValue::None); } String ^ GraphingCalculator::GetTracingLegend(Platform::IBox ^ isTracing) @@ -418,12 +455,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; + EquationInputAreaControl->FocusEquationTextBox(ViewModel->SelectedEquation); } Visibility GraphingCalculator::ShouldDisplayPanel(bool isSmallState, bool isEquationModeActivated, bool isGraphPanel) @@ -493,6 +532,22 @@ ::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; + + 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 += @@ -502,6 +557,7 @@ void CalculatorApp::GraphingCalculator::ActiveTracing_Checked(Platform::Object ^ KeyboardShortcutManager::IgnoreEscape(false); TracePointer->Visibility = ::Visibility::Visible; + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::ActiveTracingChecked, GraphButtonValue::None); } void CalculatorApp::GraphingCalculator::ActiveTracing_Unchecked(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e) @@ -520,6 +576,7 @@ void CalculatorApp::GraphingCalculator::ActiveTracing_Unchecked(Platform::Object KeyboardShortcutManager::HonorEscape(); TracePointer->Visibility = ::Visibility::Collapsed; + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::ActiveTracingUnchecked, GraphButtonValue::None); } void CalculatorApp::GraphingCalculator::ActiveTracing_KeyUp(Windows::UI::Core::CoreWindow ^ sender, Windows::UI::Core::KeyEventArgs ^ args) @@ -534,16 +591,26 @@ void CalculatorApp::GraphingCalculator::ActiveTracing_KeyUp(Windows::UI::Core::C void GraphingCalculator::GraphSettingsButton_Click(Object ^ sender, RoutedEventArgs ^ e) { DisplayGraphSettings(); + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::GraphSettings, GraphButtonValue::None); } 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); - flyoutGraphSettings->ShowAt(GraphSettingsButton); + + auto options = ref new FlyoutShowOptions(); + options->Placement = FlyoutPlacementMode::BottomEdgeAlignedRight; + flyoutGraphSettings->ShowAt(GraphSettingsButton, options); } void CalculatorApp::GraphingCalculator::AddTracePointerShadow() @@ -556,7 +623,7 @@ void CalculatorApp::GraphingCalculator::AddTracePointerShadow() dropShadow->Mask = CursorPath->GetAlphaMask(); auto shadowSpriteVisual = compositor->CreateSpriteVisual(); - shadowSpriteVisual->Size = ::Numerics::float2(static_cast(CursorPath->ActualWidth), static_cast(CursorPath->ActualHeight)); + shadowSpriteVisual->Size = ::Numerics::float2(18, 18); shadowSpriteVisual->Shadow = dropShadow; ::Hosting::ElementCompositionPreview::SetElementChildVisual(CursorShadow, shadowSpriteVisual); } @@ -565,19 +632,26 @@ void GraphingCalculator::OnSettingsFlyout_Closing(FlyoutBase ^ sender, FlyoutBas { auto flyout = static_cast(sender); auto graphingSetting = static_cast(flyout->Content); - 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*/) { - 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) @@ -599,3 +673,137 @@ void GraphingCalculator::SetDefaultFocus() EquationInputAreaControl->Focus(::FocusState::Programmatic); } } + +void GraphingCalculator::GraphingControl_GraphViewChangedEvent(Object ^ sender, GraphViewChangedReason reason) +{ + if (reason == GraphViewChangedReason::Manipulation) + { + IsManualAdjustment = true; + } + else + { + IsManualAdjustment = false; + } + + 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(); + dataPackage->RequestedOperation = ::DataPackageOperation::Copy; + + auto bitmapStream = GraphingControl->GetGraphBitmapStream(); + dataPackage->SetBitmap(bitmapStream); + ::Clipboard::SetContent(dataPackage); +} + +void GraphingCalculator::OnVisualStateChanged(Object ^ sender, VisualStateChangedEventArgs ^ e) +{ + 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(); + } + })); +} + +void GraphingCalculator::GraphViewButton_Click(Object ^ sender, RoutedEventArgs ^ e) +{ + auto narratorNotifier = ref new NarratorNotifier(); + String ^ announcementText; + if (IsManualAdjustment) + { + announcementText = AppResourceProvider::GetInstance()->GetResourceString(L"GraphViewManualAdjustmentAnnouncement"); + } + else + { + GraphingControl->ResetGrid(); + announcementText = AppResourceProvider::GetInstance()->GetResourceString(L"GraphViewAutomaticBestFitAnnouncement"); + } + + auto announcement = CalculatorAnnouncement::GetGraphViewBestFitChangedAnnouncement(announcementText); + narratorNotifier->Announce(announcement); + + TraceLogger::GetInstance()->LogGraphButtonClicked(GraphButton::GraphView, IsManualAdjustment ? GraphButtonValue::ManualAdjustment : GraphButtonValue::AutomaticBestFit); +} diff --git a/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h b/src/Calculator/Views/GraphingCalculator/GraphingCalculator.xaml.h index 38f76aaac..204a16ef3 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 { @@ -24,9 +25,11 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo DEPENDENCY_PROPERTY_OWNER(GraphingCalculator); COMMAND_FOR_METHOD(ZoomOutButtonPressed, GraphingCalculator::OnZoomOutCommand); COMMAND_FOR_METHOD(ZoomInButtonPressed, GraphingCalculator::OnZoomInCommand); - COMMAND_FOR_METHOD(ZoomResetButtonPressed, GraphingCalculator::OnZoomResetCommand); OBSERVABLE_PROPERTY_R(bool, IsKeyGraphFeaturesVisible); DEPENDENCY_PROPERTY(bool, IsSmallState); + DEPENDENCY_PROPERTY(Platform::String ^, GraphControlAutomationName); + OBSERVABLE_PROPERTY_R(bool, IsMatchAppTheme); + OBSERVABLE_PROPERTY_RW(bool, IsManualAdjustment); property CalculatorApp::ViewModel::GraphingCalculatorViewModel^ ViewModel { @@ -50,7 +53,6 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo void OnZoomInCommand(Object ^ parameter); void OnZoomOutCommand(Object ^ parameter); - void OnZoomResetCommand(Object ^ parameter); void OnShareClick(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); @@ -65,6 +67,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, GraphControl::GraphViewChangedReason reason); + 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 +82,11 @@ public ref class GraphingCalculator sealed : public Windows::UI::Xaml::Data::INo void DisplayGraphSettings(); 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; Windows::Foundation::EventRegistrationToken m_vectorChangedToken; @@ -86,11 +95,16 @@ 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; + 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); 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); + void GraphViewButton_Click(Platform::Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); }; } diff --git a/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml b/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml index ded7bbc41..3fc9541fc 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml +++ b/src/Calculator/Views/GraphingCalculator/GraphingNumPad.xaml @@ -80,7 +80,7 @@ - + @@ -185,7 +185,7 @@ - + @@ -288,7 +288,7 @@ - + @@ -393,6 +393,7 @@ causing the shortcut keys to be used when the control would normally be disabled. --> - > buttonOutput = { - { NumbersAndOperatorsEnum::Sin, { L"sin()", 4, 0 } }, - { NumbersAndOperatorsEnum::Cos, { L"cos()", 4, 0 } }, - { NumbersAndOperatorsEnum::Tan, { L"tan()", 4, 0 } }, - { NumbersAndOperatorsEnum::Sec, { L"sec()", 4, 0 } }, - { NumbersAndOperatorsEnum::Csc, { L"csc()", 4, 0 } }, - { NumbersAndOperatorsEnum::Cot, { L"cot()", 4, 0 } }, - { NumbersAndOperatorsEnum::InvSin, { L"arcsin()", 7, 0 } }, - { NumbersAndOperatorsEnum::InvCos, { L"arccos()", 7, 0 } }, - { NumbersAndOperatorsEnum::InvTan, { L"arctan()", 7, 0 } }, - { NumbersAndOperatorsEnum::InvSec, { L"arcsec()", 7, 0 } }, - { NumbersAndOperatorsEnum::InvCsc, { L"arccsc()", 7, 0 } }, - { NumbersAndOperatorsEnum::InvCot, { L"arccot()", 7, 0 } }, - { NumbersAndOperatorsEnum::Sinh, { L"sinh()", 5, 0 } }, - { NumbersAndOperatorsEnum::Cosh, { L"cosh()", 5, 0 } }, - { NumbersAndOperatorsEnum::Tanh, { L"tanh()", 5, 0 } }, - { NumbersAndOperatorsEnum::Sech, { L"sech()", 5, 0 } }, - { NumbersAndOperatorsEnum::Csch, { L"csch()", 5, 0 } }, - { NumbersAndOperatorsEnum::Coth, { L"coth()", 5, 0 } }, - { NumbersAndOperatorsEnum::InvSinh, { L"arcsinh()", 8, 0 } }, - { NumbersAndOperatorsEnum::InvCosh, { L"arccosh()", 8, 0 } }, - { NumbersAndOperatorsEnum::InvTanh, { L"arctanh()", 8, 0 } }, - { NumbersAndOperatorsEnum::InvSech, { L"arcsech()", 8, 0 } }, - { NumbersAndOperatorsEnum::InvCsch, { L"arccsch()", 8, 0 } }, - { NumbersAndOperatorsEnum::InvCoth, { L"arccoth()", 8, 0 } }, - { NumbersAndOperatorsEnum::Abs, { L"abs()", 4, 0 } }, - { NumbersAndOperatorsEnum::Floor, { L"floor()", 6, 0 } }, - { NumbersAndOperatorsEnum::Ceil, { L"ceiling()", 8, 0 } }, - { NumbersAndOperatorsEnum::Pi, { L"\u03C0", 1, 0 } }, - { NumbersAndOperatorsEnum::Euler, { L"e", 1, 0 } }, - { NumbersAndOperatorsEnum::XPower2, { L"^2", 2, 0 } }, - { NumbersAndOperatorsEnum::Cube, { L"^3", 2, 0 } }, - { NumbersAndOperatorsEnum::XPowerY, { L"^", 1, 0 } }, - { NumbersAndOperatorsEnum::TenPowerX, { L"10^", 3, 0 } }, - { NumbersAndOperatorsEnum::LogBase10, { L"log()", 4, 0 } }, - { NumbersAndOperatorsEnum::LogBaseE, { L"ln()", 3, 0 } }, - { NumbersAndOperatorsEnum::Sqrt, { L"sqrt()", 5, 0 } }, - { NumbersAndOperatorsEnum::CubeRoot, { L"cbrt()", 5, 0 } }, - { NumbersAndOperatorsEnum::YRootX, { L"root(x,n)", 7, 1 } }, - { NumbersAndOperatorsEnum::TwoPowerX, { L"2^", 2, 0 } }, - { NumbersAndOperatorsEnum::LogBaseX, { L"log(b, x)", 4, 1 } }, - { NumbersAndOperatorsEnum::EPowerX, { L"e^", 4, 0 } }, - { NumbersAndOperatorsEnum::Abs, { L"abs()", 4, 0 } }, - { NumbersAndOperatorsEnum::X, { L"x", 1, 0 } }, - { NumbersAndOperatorsEnum::Y, { L"y", 1, 0 } }, - { NumbersAndOperatorsEnum::OpenParenthesis, { L"(", 1, 0 } }, - { NumbersAndOperatorsEnum::CloseParenthesis, { L")", 1, 0 } }, - { NumbersAndOperatorsEnum::Equals, { L"=", 1, 0 } }, - { NumbersAndOperatorsEnum::Divide, { L"/", 1, 0 } }, - { NumbersAndOperatorsEnum::Multiply, { L"*", 1, 0 } }, - { NumbersAndOperatorsEnum::Subtract, { L"-", 1, 0 } }, - { NumbersAndOperatorsEnum::Add, { L"+", 1, 0 } }, - { NumbersAndOperatorsEnum::Invert, { L"1/", 2, 0 } }, - { NumbersAndOperatorsEnum::Negate, { L"-", 1, 0 } }, - { NumbersAndOperatorsEnum::GreaterThan, { L">", 1, 0 } }, - { NumbersAndOperatorsEnum::GreaterThanOrEqualTo, { L"\u2265", 1, 0 } }, - { NumbersAndOperatorsEnum::LessThan, { L"<", 1, 0 } }, - { NumbersAndOperatorsEnum::LessThanOrEqualTo, { L"\u2264", 1, 0 } }, - { NumbersAndOperatorsEnum::Zero, { L"0", 1, 0 } }, - { NumbersAndOperatorsEnum::One, { L"1", 1, 0 } }, - { NumbersAndOperatorsEnum::Two, { L"2", 1, 0 } }, - { NumbersAndOperatorsEnum::Three, { L"3", 1, 0 } }, - { NumbersAndOperatorsEnum::Four, { L"4", 1, 0 } }, - { NumbersAndOperatorsEnum::Five, { L"5", 1, 0 } }, - { NumbersAndOperatorsEnum::Six, { L"6", 1, 0 } }, - { NumbersAndOperatorsEnum::Seven, { L"7", 1, 0 } }, - { NumbersAndOperatorsEnum::Eight, { L"8", 1, 0 } }, - { NumbersAndOperatorsEnum::Nine, { L"9", 1, 0 } }, - { NumbersAndOperatorsEnum::Decimal, { L".", 1, 0 } }, -}; - GraphingNumPad::GraphingNumPad() { InitializeComponent(); - const auto& localizationSettings = CalculatorApp::Common::LocalizationSettings::GetInstance(); + const auto& localizationSettings = LocalizationSettings::GetInstance(); DecimalSeparatorButton->Content = localizationSettings.GetDecimalSeparator(); Num0Button->Content = localizationSettings.GetDigitSymbolFromEnUsDigit('0'); Num1Button->Content = localizationSettings.GetDigitSymbolFromEnUsDigit('1'); @@ -195,6 +124,84 @@ void GraphingNumPad::SetOperatorRowVisibility() InvRow1->Visibility = invRowVis; } +const std::tuple GraphingNumPad::GetButtonOutput(NumbersAndOperatorsEnum id) +{ + // Dictionary of the enum of the button clicked mapped to an object with the string to enter into the rich edit, and the start and end of the selection + // after + // text has been entered. + static const std::unordered_map> buttonOutput = { + { NumbersAndOperatorsEnum::Sin, { L"sin()", 4, 0 } }, + { NumbersAndOperatorsEnum::Cos, { L"cos()", 4, 0 } }, + { NumbersAndOperatorsEnum::Tan, { L"tan()", 4, 0 } }, + { NumbersAndOperatorsEnum::Sec, { L"sec()", 4, 0 } }, + { NumbersAndOperatorsEnum::Csc, { L"csc()", 4, 0 } }, + { NumbersAndOperatorsEnum::Cot, { L"cot()", 4, 0 } }, + { NumbersAndOperatorsEnum::InvSin, { L"arcsin()", 7, 0 } }, + { NumbersAndOperatorsEnum::InvCos, { L"arccos()", 7, 0 } }, + { NumbersAndOperatorsEnum::InvTan, { L"arctan()", 7, 0 } }, + { NumbersAndOperatorsEnum::InvSec, { L"arcsec()", 7, 0 } }, + { NumbersAndOperatorsEnum::InvCsc, { L"arccsc()", 7, 0 } }, + { NumbersAndOperatorsEnum::InvCot, { L"arccot()", 7, 0 } }, + { NumbersAndOperatorsEnum::Sinh, { L"sinh()", 5, 0 } }, + { NumbersAndOperatorsEnum::Cosh, { L"cosh()", 5, 0 } }, + { NumbersAndOperatorsEnum::Tanh, { L"tanh()", 5, 0 } }, + { NumbersAndOperatorsEnum::Sech, { L"sech()", 5, 0 } }, + { NumbersAndOperatorsEnum::Csch, { L"csch()", 5, 0 } }, + { NumbersAndOperatorsEnum::Coth, { L"coth()", 5, 0 } }, + { NumbersAndOperatorsEnum::InvSinh, { L"arcsinh()", 8, 0 } }, + { NumbersAndOperatorsEnum::InvCosh, { L"arccosh()", 8, 0 } }, + { NumbersAndOperatorsEnum::InvTanh, { L"arctanh()", 8, 0 } }, + { NumbersAndOperatorsEnum::InvSech, { L"arcsech()", 8, 0 } }, + { NumbersAndOperatorsEnum::InvCsch, { L"arccsch()", 8, 0 } }, + { NumbersAndOperatorsEnum::InvCoth, { L"arccoth()", 8, 0 } }, + { NumbersAndOperatorsEnum::Abs, { L"abs()", 4, 0 } }, + { NumbersAndOperatorsEnum::Floor, { L"floor()", 6, 0 } }, + { NumbersAndOperatorsEnum::Ceil, { L"ceiling()", 8, 0 } }, + { NumbersAndOperatorsEnum::Pi, { L"\u03C0", 1, 0 } }, + { NumbersAndOperatorsEnum::Euler, { L"e", 1, 0 } }, + { NumbersAndOperatorsEnum::XPower2, { L"^2", 2, 0 } }, + { NumbersAndOperatorsEnum::Cube, { L"^3", 2, 0 } }, + { NumbersAndOperatorsEnum::XPowerY, { L"^", 1, 0 } }, + { NumbersAndOperatorsEnum::TenPowerX, { L"10^", 3, 0 } }, + { NumbersAndOperatorsEnum::LogBase10, { L"log()", 4, 0 } }, + { NumbersAndOperatorsEnum::LogBaseE, { L"ln()", 3, 0 } }, + { NumbersAndOperatorsEnum::Sqrt, { L"sqrt()", 5, 0 } }, + { NumbersAndOperatorsEnum::CubeRoot, { L"cbrt()", 5, 0 } }, + { NumbersAndOperatorsEnum::YRootX, { L"root(x" + StringReference(LocalizationSettings::GetInstance().GetListSeparator().data()) + L"n)", 7, 1 } }, + { NumbersAndOperatorsEnum::TwoPowerX, { L"2^", 2, 0 } }, + { NumbersAndOperatorsEnum::LogBaseY, { "log(b" + StringReference(LocalizationSettings::GetInstance().GetListSeparator().data()) + L" x)", 4, 1 } }, + { NumbersAndOperatorsEnum::EPowerX, { L"e^", 4, 0 } }, + { NumbersAndOperatorsEnum::Abs, { L"abs()", 4, 0 } }, + { NumbersAndOperatorsEnum::X, { L"x", 1, 0 } }, + { NumbersAndOperatorsEnum::Y, { L"y", 1, 0 } }, + { NumbersAndOperatorsEnum::OpenParenthesis, { L"(", 1, 0 } }, + { NumbersAndOperatorsEnum::CloseParenthesis, { L")", 1, 0 } }, + { NumbersAndOperatorsEnum::Equals, { L"=", 1, 0 } }, + { NumbersAndOperatorsEnum::Divide, { L"/", 1, 0 } }, + { NumbersAndOperatorsEnum::Multiply, { L"*", 1, 0 } }, + { NumbersAndOperatorsEnum::Subtract, { L"-", 1, 0 } }, + { NumbersAndOperatorsEnum::Add, { L"+", 1, 0 } }, + { NumbersAndOperatorsEnum::Invert, { L"1/", 2, 0 } }, + { NumbersAndOperatorsEnum::Negate, { L"-", 1, 0 } }, + { NumbersAndOperatorsEnum::GreaterThan, { L">", 1, 0 } }, + { NumbersAndOperatorsEnum::GreaterThanOrEqualTo, { L"\u2265", 1, 0 } }, + { NumbersAndOperatorsEnum::LessThan, { L"<", 1, 0 } }, + { NumbersAndOperatorsEnum::LessThanOrEqualTo, { L"\u2264", 1, 0 } }, + { NumbersAndOperatorsEnum::Zero, { L"0", 1, 0 } }, + { NumbersAndOperatorsEnum::One, { L"1", 1, 0 } }, + { NumbersAndOperatorsEnum::Two, { L"2", 1, 0 } }, + { NumbersAndOperatorsEnum::Three, { L"3", 1, 0 } }, + { NumbersAndOperatorsEnum::Four, { L"4", 1, 0 } }, + { NumbersAndOperatorsEnum::Five, { L"5", 1, 0 } }, + { NumbersAndOperatorsEnum::Six, { L"6", 1, 0 } }, + { NumbersAndOperatorsEnum::Seven, { L"7", 1, 0 } }, + { NumbersAndOperatorsEnum::Eight, { L"8", 1, 0 } }, + { NumbersAndOperatorsEnum::Nine, { L"9", 1, 0 } }, + { NumbersAndOperatorsEnum::Decimal, { StringReference(LocalizationSettings::GetInstance().GetDecimalSeparatorStr().data()), 1, 0 } }, + }; + return buttonOutput.find(id)->second; +} + void GraphingNumPad::Button_Clicked(Platform::Object ^ sender, DependencyPropertyChangedEventArgs ^ /*e*/) { auto mathRichEdit = GetActiveRichEdit(); @@ -202,8 +209,9 @@ void GraphingNumPad::Button_Clicked(Platform::Object ^ sender, DependencyPropert if (mathRichEdit != nullptr && sender != nullptr) { auto id = button->ButtonId; - auto output = buttonOutput.find(id); - mathRichEdit->InsertText(std::get<0>(output->second), std::get<1>(output->second), std::get<2>(output->second)); + TraceLogger::GetInstance()->UpdateButtonUsage(id, CalculatorApp::Common::ViewMode::Graphing); + std::tuple output = GraphingNumPad::GetButtonOutput(id); + mathRichEdit->InsertText(std::get<0>(output), std::get<1>(output), std::get<2>(output)); } } @@ -213,6 +221,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); } } @@ -221,8 +230,16 @@ void GraphingNumPad::ClearButton_Clicked(Platform::Object ^ /*sender*/, RoutedEv auto mathRichEdit = GetActiveRichEdit(); if (mathRichEdit != nullptr) { - mathRichEdit->MathText = L""; - mathRichEdit->SubmitEquation(CalculatorApp::Controls::EquationSubmissionSource::PROGRAMMATIC); + String ^ text; + mathRichEdit->TextDocument->GetText(Windows::UI::Text::TextGetOptions::NoHidden, &text); + + if (!text->IsEmpty()) + { + mathRichEdit->MathText = L""; + mathRichEdit->SubmitEquation(CalculatorApp::Controls::EquationSubmissionSource::PROGRAMMATIC); + } + + TraceLogger::GetInstance()->UpdateButtonUsage(NumbersAndOperatorsEnum::Clear, CalculatorApp::Common::ViewMode::Graphing); } } @@ -232,6 +249,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..6d7bf1047 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 { @@ -32,5 +33,8 @@ namespace CalculatorApp void GraphingNumPad_PointerPressed(Platform::Object ^ sender, Windows::UI::Xaml::Input::PointerRoutedEventArgs ^ e); Controls::MathRichEditBox^ GetActiveRichEdit(); void Flyout_Opening(Platform::Object ^ sender, Platform::Object ^ e); + + private: + static const std::tuple GetButtonOutput(NumbersAndOperatorsEnum id); }; } diff --git a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml index bac5491a0..f40eb260d 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml @@ -1,6 +1,7 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -102,11 +104,19 @@ FontSize="20" FontWeight="Medium" AutomationProperties.HeadingLevel="Level1"/> - + + + + + + + + @@ -122,6 +132,7 @@ + + + + 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 c1ee621e4..7bd0386a9 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(); } @@ -37,11 +39,11 @@ Style ^ GraphingSettings::SelectTextBoxStyle(bool incorrectRange, bool error) { if (incorrectRange || error) { - return static_cast<::Style ^>(this->Resources->Lookup(L"ErrorTextBoxStyle")); + return static_cast<::Style ^>(Application::Current->Resources->Lookup(L"VariableTextErrorBoxStyle")); } else { - return nullptr; + return static_cast<::Style ^>(Application::Current->Resources->Lookup(L"ThemedVariableTextBoxStyle")); } } @@ -57,38 +59,43 @@ void GraphingSettings::GridSettingsTextBox_PreviewKeyDown(Platform::Object ^ sen } } -bool GraphingSettings::CanBeClose() +void GraphingSettings::RefreshRanges() { - auto focusedElement = FocusManager::GetFocusedElement(); + ViewModel->InitRanges(); +} - // Move focus so we are sure all values are in sync with the VM - if (focusedElement != nullptr) +void GraphingSettings::ResetViewButton_Clicked(Object ^ sender, RoutedEventArgs ^ e) +{ + ViewModel->ResetView(); +} + +String ^ GraphingSettings::GetLineWidthAutomationName(double width) +{ + auto resourceLoader = AppResourceProvider::GetInstance(); + + if (width == 1.0) { - 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 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"); } - return ViewModel != nullptr && ViewModel->HasError(); } -void GraphingSettings::RefreshRanges() +void GraphingSettings::SetGraphTheme(bool isMatchAppTheme) { - ViewModel->InitRanges(); + 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 e726b4fa9..bea372bd9 100644 --- a/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h +++ b/src/Calculator/Views/GraphingCalculator/GraphingSettings.xaml.h @@ -17,12 +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); - bool CanBeClose(); 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/Calculator/Views/GraphingCalculator/KeyGraphFeaturesPanel.xaml b/src/Calculator/Views/GraphingCalculator/KeyGraphFeaturesPanel.xaml index 5e0846007..a3b9874b5 100644 --- a/src/Calculator/Views/GraphingCalculator/KeyGraphFeaturesPanel.xaml +++ b/src/Calculator/Views/GraphingCalculator/KeyGraphFeaturesPanel.xaml @@ -253,7 +253,8 @@ - Mode; ViewMode previousMode = m_model->PreviousMode; + KeyboardShortcutManager::DisableShortcuts(false); + if (newValue == ViewMode::Standard) { EnsureCalculator(); @@ -171,6 +173,7 @@ void MainPage::OnAppPropertyChanged(_In_ Platform::Object ^ sender, _In_ Windows else if (newValue == ViewMode::Graphing) { EnsureGraphingCalculator(); + KeyboardShortcutManager::DisableShortcuts(true); } else if (NavCategory::IsConverterViewMode(newValue)) { @@ -424,7 +427,11 @@ void MainPage::OnNavPaneOpened(_In_ MUXC::NavigationView ^ sender, _In_ Object ^ void MainPage::OnNavPaneClosed(_In_ MUXC::NavigationView ^ sender, _In_ Object ^ args) { - KeyboardShortcutManager::HonorShortcuts(true); + if (Model->Mode != ViewMode::Graphing) + { + KeyboardShortcutManager::HonorShortcuts(true); + } + this->SetDefaultFocus(); } diff --git a/src/Calculator/Views/TitleBar.xaml.cpp b/src/Calculator/Views/TitleBar.xaml.cpp index 44f4a8c44..cfe6140c1 100644 --- a/src/Calculator/Views/TitleBar.xaml.cpp +++ b/src/Calculator/Views/TitleBar.xaml.cpp @@ -50,7 +50,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 +60,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*/) @@ -87,6 +86,11 @@ namespace CalculatorApp this->LayoutRoot->Visibility = m_coreTitleBar->IsVisible || IsAlwaysOnTopMode ? ::Visibility::Visible : ::Visibility::Collapsed; } + void TitleBar::SetTitleBarHeight() + { + this->LayoutRoot->Height = m_coreTitleBar->Height; + } + void TitleBar::SetTitleBarPadding() { double leftAddition = 0; diff --git a/src/Calculator/Views/TitleBar.xaml.h b/src/Calculator/Views/TitleBar.xaml.h index 53bf6ff72..d4cb28832 100644 --- a/src/Calculator/Views/TitleBar.xaml.h +++ b/src/Calculator/Views/TitleBar.xaml.h @@ -27,8 +27,8 @@ public void OnLoaded(_In_ Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); void OnUnloaded(_In_ Object ^ sender, Windows::UI::Xaml::RoutedEventArgs ^ e); - 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 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); } } } 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 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/CalculatorUnitTests/CalculatorManagerTest.cpp b/src/CalculatorUnitTests/CalculatorManagerTest.cpp index 3dcf5ba92..ab8e83e88 100644 --- a/src/CalculatorUnitTests/CalculatorManagerTest.cpp +++ b/src/CalculatorUnitTests/CalculatorManagerTest.cpp @@ -613,8 +613,8 @@ namespace CalculatorManagerTest Command commands41[] = { Command::Command3, Command::CommandPNT, Command::Command8, Command::CommandCeil, Command::CommandNULL }; TestDriver::Test(L"4", L"ceil(3.8)", commands41); - Command commands42[] = { Command::Command3, Command::CommandLogBaseX, Command::Command5, Command::CommandADD, Command::CommandNULL }; - TestDriver::Test(L"1.464973520717927", L"3 base log 5 + ", commands42); + Command commands42[] = { Command::Command5, Command::CommandLogBaseY, Command::Command3, Command::CommandADD, Command::CommandNULL }; + TestDriver::Test(L"1.464973520717927", L"5 log base 3 + ", commands42); } void CalculatorManagerTest::CalculatorManagerTestScientificParenthesis() diff --git a/src/CalculatorUnitTests/CalculatorUnitTests.vcxproj b/src/CalculatorUnitTests/CalculatorUnitTests.vcxproj index ae61c3c46..bf059adf9 100644 --- a/src/CalculatorUnitTests/CalculatorUnitTests.vcxproj +++ b/src/CalculatorUnitTests/CalculatorUnitTests.vcxproj @@ -237,6 +237,7 @@ + diff --git a/src/CalculatorUnitTests/CalculatorUnitTests.vcxproj.filters b/src/CalculatorUnitTests/CalculatorUnitTests.vcxproj.filters index 292d51952..90ec11210 100644 --- a/src/CalculatorUnitTests/CalculatorUnitTests.vcxproj.filters +++ b/src/CalculatorUnitTests/CalculatorUnitTests.vcxproj.filters @@ -30,6 +30,7 @@ + diff --git a/src/CalculatorUnitTests/Helper.cpp b/src/CalculatorUnitTests/Helper.cpp new file mode 100644 index 000000000..763618552 --- /dev/null +++ b/src/CalculatorUnitTests/Helper.cpp @@ -0,0 +1,14 @@ +#include "pch.h" +#include "Helpers.h" +using namespace Platform; +using namespace std; + +String ^ GetStringValue(String ^ input) { + // Remove first and last " characters + if (input->Length() >= 3) + { + wstring out(input->Begin() + 1, input->End() - 1); + return ref new String(out.c_str()); + } + return input; +} diff --git a/src/CalculatorUnitTests/Helpers.h b/src/CalculatorUnitTests/Helpers.h index 672dd5561..9b364cef5 100644 --- a/src/CalculatorUnitTests/Helpers.h +++ b/src/CalculatorUnitTests/Helpers.h @@ -108,3 +108,5 @@ void VERIFY_VECTORS_ARE_EQUAL(Windows::Foundation::Collections::IVector ^ vec VERIFY_ARE_EQUAL(vecA->GetAt(i), vecB->GetAt(i), __VA_ARGS__); } }; + +Platform::String ^ GetStringValue(Platform::String ^ input); diff --git a/src/CalculatorUnitTests/HistoryTests.cpp b/src/CalculatorUnitTests/HistoryTests.cpp index becf1b4b7..71b58ce71 100644 --- a/src/CalculatorUnitTests/HistoryTests.cpp +++ b/src/CalculatorUnitTests/HistoryTests.cpp @@ -46,17 +46,16 @@ namespace CalculatorFunctionalTests { m_standardViewModel = ref new StandardCalculatorViewModel(); m_standardViewModel->IsStandard = true; - m_historyViewModel = ref new HistoryViewModel(&(m_standardViewModel->m_standardCalculatorManager)); - m_historyViewModel->SetCalculatorDisplay(m_standardViewModel->m_calculatorDisplay); + m_historyViewModel = m_standardViewModel->HistoryVM; } void Cleanup() { - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeBasic); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeBasic)); m_historyViewModel->OnClearCommand(nullptr); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeScientific); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeScientific)); m_historyViewModel->OnClearCommand(nullptr); - m_standardViewModel->m_standardCalculatorManager.Reset(); + m_standardViewModel->ResetCalcManager(false); } bool IsHistoryContainerEmpty(_In_ String ^ historyContainerKey) @@ -65,70 +64,60 @@ 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"); } - void MockOnHistoryItemClicked(CalculatorApp::ViewModel::HistoryItemViewModel^ e) - { - m_standardViewModel->SetHistoryExpressionDisplay(e->GetTokens(), e->GetCommands()); - m_standardViewModel->SetExpressionDisplay(e->GetTokens(), e->GetCommands()); - m_standardViewModel->SetPrimaryDisplay(e->Result, false /*IsError*/); - m_standardViewModel->IsFToEEnabled = false; - } - void AddSingleHistoryItem() { Initialize(); int initialSize = m_historyViewModel->ItemSize; - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command8); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command8)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); int sizeAfterItemAdd = m_historyViewModel->ItemSize; - auto historyItem = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(0); + auto historyItem = static_cast(m_historyViewModel->Items->GetAt(0)); String ^ expression = UtfUtils::LRO + L"1 + 8 =" + UtfUtils::PDF; - String ^ result = StringReference(L"9"); VERIFY_ARE_EQUAL(initialSize + 1, sizeAfterItemAdd); - VERIFY_ARE_EQUAL(expression, StringReference(historyItem->historyItemVector.expression.c_str())); - VERIFY_ARE_EQUAL(result, StringReference(historyItem->historyItemVector.result.c_str())); + VERIFY_ARE_EQUAL(historyItem->Expression, expression); + VERIFY_ARE_EQUAL(historyItem->Result, L"9"); Cleanup(); } void AddMaxHistoryItems() { Initialize(); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); - for (size_t i = 1; i < m_standardViewModel->m_standardCalculatorManager.MaxHistorySize(); i++) + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); + for (unsigned long long i = 1; i < m_historyViewModel->GetMaxItemSize(); i++) { - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command2); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command2)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); } - VERIFY_ARE_EQUAL((size_t)m_historyViewModel->ItemSize, m_standardViewModel->m_standardCalculatorManager.MaxHistorySize()); + VERIFY_ARE_EQUAL((size_t)m_historyViewModel->ItemSize, m_historyViewModel->GetMaxItemSize()); String ^ expression = UtfUtils::LRO + L"1 + 1 =" + UtfUtils::PDF; int output = 2; String ^ result = output.ToString(); - auto historyItem = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(0); - VERIFY_ARE_EQUAL(expression, StringReference(historyItem->historyItemVector.expression.c_str())); - VERIFY_ARE_EQUAL(result, StringReference(historyItem->historyItemVector.result.c_str())); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command5); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); - VERIFY_ARE_EQUAL((size_t)m_historyViewModel->ItemSize, m_standardViewModel->m_standardCalculatorManager.MaxHistorySize()); + auto historyItem = static_cast(m_historyViewModel->Items->GetAt(m_historyViewModel->ItemSize - 1)); + VERIFY_ARE_EQUAL(historyItem->Expression, expression); + VERIFY_ARE_EQUAL(historyItem->Result, result); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command5)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); expression = UtfUtils::LRO + L"1 + 2 =" + UtfUtils::PDF; output = 3; result = output.ToString(); - historyItem = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(0); - VERIFY_ARE_EQUAL(expression, StringReference(historyItem->historyItemVector.expression.c_str())); - VERIFY_ARE_EQUAL(result, StringReference(historyItem->historyItemVector.result.c_str())); + historyItem = static_cast(m_historyViewModel->Items->GetAt(m_historyViewModel->ItemSize - 1)); + VERIFY_ARE_EQUAL(historyItem->Expression, expression); + VERIFY_ARE_EQUAL(historyItem->Result, result); Cleanup(); } @@ -136,30 +125,30 @@ namespace CalculatorFunctionalTests { Initialize(); - m_standardViewModel->m_standardCalculatorManager.Reset(); + m_standardViewModel->ResetCalcManager(false); int scientificItems = 5; - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeScientific); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeScientific)); for (int i = 0; i < scientificItems; i++) { Command nextCommand = Command(130 + i); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(nextCommand); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager((int)nextCommand); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); } - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeBasic); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeBasic)); int standardItems = 2; for (int i = 0; i < standardItems; i++) { Command nextCommand = Command(130 + i); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(nextCommand); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager((int)nextCommand); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); } - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeScientific); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeScientific)); m_historyViewModel->ReloadHistory(ViewMode::Scientific); VERIFY_ARE_EQUAL(scientificItems, m_historyViewModel->ItemSize); for (int i = 0; i < scientificItems; i++) @@ -168,13 +157,13 @@ namespace CalculatorFunctionalTests expr = UtfUtils::LRO + expr + UtfUtils::PDF; int output = 1 + i; String ^ result = output.ToString(); - auto historyItem = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(i); - VERIFY_ARE_EQUAL(expr, historyItem->historyItemVector.expression); - VERIFY_ARE_EQUAL(result, StringReference(historyItem->historyItemVector.result.c_str())); + auto historyItem = static_cast(m_historyViewModel->Items->GetAt(m_historyViewModel->ItemSize - 1 - i)); + VERIFY_ARE_EQUAL(historyItem->Expression, StringReference(expr.c_str())); + VERIFY_ARE_EQUAL(historyItem->Result, result); } m_historyViewModel->ReloadHistory(ViewMode::Standard); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeBasic); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeBasic)); VERIFY_ARE_EQUAL(standardItems, m_historyViewModel->ItemSize); for (int i = 0; i < standardItems; i++) { @@ -182,9 +171,9 @@ namespace CalculatorFunctionalTests expr = UtfUtils::LRO + expr + UtfUtils::PDF; int output = 1 + i; String ^ result = output.ToString(); - auto historyItem = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(i); - VERIFY_ARE_EQUAL(expr, historyItem->historyItemVector.expression); - VERIFY_ARE_EQUAL(result, StringReference(historyItem->historyItemVector.result.c_str())); + auto historyItem = static_cast(m_historyViewModel->Items->GetAt(m_historyViewModel->ItemSize - 1 - i)); + VERIFY_ARE_EQUAL(historyItem->Expression, StringReference(expr.c_str())); + VERIFY_ARE_EQUAL(historyItem->Result, result); } Cleanup(); } @@ -192,73 +181,71 @@ namespace CalculatorFunctionalTests void ClearHistory() { Initialize(); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeScientific); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command2); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeBasic); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command2); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeScientific)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command2)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeBasic)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command2)); + m_standardViewModel->SendCommandToCalcManager(static_cast(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(); } void SerializeDeSerializeHistoryItem() { Initialize(); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeScientific); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command2); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); - auto itemBeforeSerializeDeserialize = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(0); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeScientific)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command2)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); + auto itemBeforeSerializeDeserialize = static_cast(m_historyViewModel->Items->GetAt(0)); m_historyViewModel->SaveHistory(); m_historyViewModel->ReloadHistory(ViewMode::Scientific); - auto itemAfterSerializeDeserialize = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(0); + auto itemAfterSerializeDeserialize = static_cast(m_historyViewModel->Items->GetAt(0)); VERIFY_IS_TRUE( - (itemBeforeSerializeDeserialize->historyItemVector.expression == itemAfterSerializeDeserialize->historyItemVector.expression) - && (itemBeforeSerializeDeserialize->historyItemVector.result == itemAfterSerializeDeserialize->historyItemVector.result) - && (itemBeforeSerializeDeserialize->historyItemVector.spCommands == itemAfterSerializeDeserialize->historyItemVector.spCommands) - && (itemBeforeSerializeDeserialize->historyItemVector.spTokens == itemAfterSerializeDeserialize->historyItemVector.spTokens)); + itemBeforeSerializeDeserialize->Expression == itemAfterSerializeDeserialize->Expression + && itemBeforeSerializeDeserialize->Result == itemAfterSerializeDeserialize->Result); Cleanup(); } void SaveAndReloadHistory() { Initialize(); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeScientific); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command8); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command2); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeBasic); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command6); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeScientific)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command8)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command2)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeBasic)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command6)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); int itemsBeforeSaveAndReload = m_historyViewModel->ItemSize; m_historyViewModel->SaveHistory(); m_historyViewModel->ReloadHistory(ViewMode::Scientific); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeScientific); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeScientific)); wstring expr = L"1 + 8 ="; // add double quotes around the expression expr = UtfUtils::LRO + expr + UtfUtils::PDF; String ^ result = StringReference(L"9"); int itemsAfterSaveAndReload = m_historyViewModel->ItemSize; - auto historyItem = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(0); - VERIFY_ARE_EQUAL(expr, historyItem->historyItemVector.expression); - VERIFY_ARE_EQUAL(result, StringReference(historyItem->historyItemVector.result.c_str())); + auto historyItem = static_cast(m_historyViewModel->Items->GetAt(m_historyViewModel->ItemSize - 1)); + VERIFY_ARE_EQUAL(historyItem->Expression, StringReference(expr.c_str())); + VERIFY_ARE_EQUAL(historyItem->Result, result); VERIFY_ARE_NOT_EQUAL(itemsBeforeSaveAndReload, itemsAfterSaveAndReload); VERIFY_ARE_EQUAL(itemsBeforeSaveAndReload, itemsAfterSaveAndReload + 1); Cleanup(); @@ -275,21 +262,21 @@ namespace CalculatorFunctionalTests ResourceLoader ^ m_uiResourceLoader = ResourceLoader::GetForViewIndependentUse(L"CEngineStrings"); int itemIndex = 0; int commandResource = 67; - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeScientific); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeScientific)); for (int index = 0; index < modes; index++) { - m_standardViewModel->m_standardCalculatorManager.SendCommand(mode[index]); + m_standardViewModel->SendCommandToCalcManager((int)mode[index]); for (int command = 0; command < commandsSize; command++) { - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(commands[command]); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); - auto historyItem = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(itemIndex); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(commands[command])); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); + auto historyItem = static_cast(m_historyViewModel->Items->GetAt(m_historyViewModel->ItemSize - 1 - itemIndex)); String ^ expression = m_uiResourceLoader->GetString(commandResource.ToString()); expression += L"( 1 ) ="; wstring expr = wstring(expression->Data()); expr = UtfUtils::LRO + expr + UtfUtils::PDF; - VERIFY_ARE_EQUAL(historyItem->historyItemVector.expression, expr); + VERIFY_ARE_EQUAL(historyItem->Expression, StringReference(expr.c_str())); commandResource++; itemIndex++; } @@ -301,20 +288,20 @@ namespace CalculatorFunctionalTests { Initialize(); ResourceLoader ^ m_uiResourceLoader = ResourceLoader::GetForViewIndependentUse(L"CEngineStrings"); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeScientific); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandDEG); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandSIN); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandRAD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandSIN); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandGRAD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandSIN); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); - auto historyItem = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(0); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeScientific)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandDEG)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandSIN)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandRAD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandSIN)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandGRAD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandSIN)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); + auto historyItem = static_cast(m_historyViewModel->Items->GetAt(m_historyViewModel->ItemSize - 1)); String ^ expression = m_uiResourceLoader->GetString(L"67"); expression += L"( 1 ) + "; expression += m_uiResourceLoader->GetString(L"73"); @@ -323,7 +310,7 @@ namespace CalculatorFunctionalTests expression += L"( 1 ) ="; wstring expr = wstring(expression->Data()); expr = UtfUtils::LRO + expr + UtfUtils::PDF; - VERIFY_ARE_EQUAL(historyItem->historyItemVector.expression, expr); + VERIFY_ARE_EQUAL(historyItem->Expression, StringReference(expr.c_str())); Cleanup(); } @@ -331,19 +318,15 @@ namespace CalculatorFunctionalTests void HistoryItemClicked() { Initialize(); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeScientific); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command5); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command3); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); - auto historyItem = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(0); - String ^ expression = StringReference(historyItem->historyItemVector.expression.c_str()); - String ^ result = StringReference(historyItem->historyItemVector.result.c_str()); - HistoryItemViewModel ^ item = - ref new HistoryItemViewModel(expression, result, historyItem->historyItemVector.spTokens, historyItem->historyItemVector.spCommands); - MockOnHistoryItemClicked(item); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeScientific)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command5)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command3)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); + auto historyItem = static_cast(m_historyViewModel->Items->GetAt(m_historyViewModel->ItemSize - 1)); + m_standardViewModel->SelectHistoryItem(historyItem); VERIFY_ARE_EQUAL(StringReference(L"9"), m_standardViewModel->DisplayValue); VERIFY_ARE_EQUAL(StringReference(L"1"), m_standardViewModel->ExpressionTokens->GetAt(0)->Token); VERIFY_ARE_EQUAL(StringReference(L" "), m_standardViewModel->ExpressionTokens->GetAt(1)->Token); @@ -359,37 +342,27 @@ namespace CalculatorFunctionalTests void HistoryItemLoadAndContinueCalculation() { Initialize(); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeBasic); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command5); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command3); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); - - auto historyItem = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(0); - String ^ expression = StringReference(historyItem->historyItemVector.expression.c_str()); - String ^ result = StringReference(historyItem->historyItemVector.result.c_str()); - HistoryItemViewModel ^ item = - ref new HistoryItemViewModel(expression, result, historyItem->historyItemVector.spTokens, historyItem->historyItemVector.spCommands); - MockOnHistoryItemClicked(item); - - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command5); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeBasic)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command5)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command3)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); + + auto historyItem = static_cast(m_historyViewModel->Items->GetAt(m_historyViewModel->ItemSize - 1)); + m_standardViewModel->SelectHistoryItem(historyItem); + + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command5)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); VERIFY_ARE_EQUAL(StringReference(L"14"), m_standardViewModel->DisplayValue); - historyItem = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(0); - expression = StringReference(historyItem->historyItemVector.expression.c_str()); - result = StringReference(historyItem->historyItemVector.result.c_str()); - item = ref new HistoryItemViewModel(expression, result, historyItem->historyItemVector.spTokens, historyItem->historyItemVector.spCommands); - MockOnHistoryItemClicked(item); + historyItem = static_cast(m_historyViewModel->Items->GetAt(m_historyViewModel->ItemSize - 1)); + m_standardViewModel->SelectHistoryItem(historyItem); VERIFY_ARE_EQUAL(StringReference(L"9"), m_standardViewModel->DisplayValue); - historyItem = m_standardViewModel->m_standardCalculatorManager.GetHistoryItem(1); - expression = StringReference(historyItem->historyItemVector.expression.c_str()); - result = StringReference(historyItem->historyItemVector.result.c_str()); - item = ref new HistoryItemViewModel(expression, result, historyItem->historyItemVector.spTokens, historyItem->historyItemVector.spCommands); - MockOnHistoryItemClicked(item); + historyItem = static_cast(m_historyViewModel->Items->GetAt(m_historyViewModel->ItemSize - 2)); + m_standardViewModel->SelectHistoryItem(historyItem); VERIFY_ARE_EQUAL(StringReference(L"14"), m_standardViewModel->DisplayValue); Cleanup(); } @@ -397,26 +370,26 @@ namespace CalculatorFunctionalTests void DisplayValueAutomationNames() { Initialize(); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command8); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command8)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); String ^ expression = StringReference(L"Display is 9"); VERIFY_ARE_EQUAL(expression, m_standardViewModel->CalculationResultAutomationName); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeScientific); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command5); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeScientific)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command5)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); expression = StringReference(L"Display is 6"); VERIFY_ARE_EQUAL(expression, m_standardViewModel->CalculationResultAutomationName); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeProgrammer); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command2); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeProgrammer)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command2)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); expression = StringReference(L"Display is 3"); VERIFY_ARE_EQUAL(expression, m_standardViewModel->CalculationResultAutomationName); @@ -426,20 +399,20 @@ namespace CalculatorFunctionalTests void RadixAutomationName() { Initialize(); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeProgrammer); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeProgrammer)); m_standardViewModel->IsProgrammer = true; - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command1); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandADD); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::Command7); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::CommandEQU); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command1)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandADD)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::Command7)); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::CommandEQU)); String ^ expression = L"HexaDecimal" + L" 8"; - String ^ result = L"HexaDecimal " + Utils::GetStringValue(m_standardViewModel->HexDisplayValue); + String ^ result = L"HexaDecimal " + GetStringValue(m_standardViewModel->HexDisplayValue); VERIFY_ARE_EQUAL(expression, result); expression = StringReference(L"Octal 10"); - result = L"Octal " + Utils::GetStringValue(m_standardViewModel->OctalDisplayValue); + result = L"Octal " + GetStringValue(m_standardViewModel->OctalDisplayValue); VERIFY_ARE_EQUAL(expression, result); expression = StringReference(L"Binary 1000"); - result = L"Binary " + Utils::GetStringValue(m_standardViewModel->BinaryDisplayValue); + result = L"Binary " + GetStringValue(m_standardViewModel->BinaryDisplayValue); VERIFY_ARE_EQUAL(expression, result); Cleanup(); } @@ -448,7 +421,7 @@ namespace CalculatorFunctionalTests { Initialize(); VERIFY_ARE_EQUAL(0, m_historyViewModel->ItemSize); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeScientific); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeScientific)); VERIFY_ARE_EQUAL(0, m_historyViewModel->ItemSize); Cleanup(); } @@ -457,7 +430,7 @@ namespace CalculatorFunctionalTests { Initialize(); VERIFY_ARE_EQUAL(0, m_historyViewModel->ItemSize); - m_standardViewModel->m_standardCalculatorManager.SendCommand(Command::ModeScientific); + m_standardViewModel->SendCommandToCalcManager(static_cast(Command::ModeScientific)); m_historyViewModel->OnClearCommand(nullptr); VERIFY_ARE_EQUAL(0, m_historyViewModel->ItemSize); Cleanup(); diff --git a/src/CalculatorUnitTests/MultiWindowUnitTests.cpp b/src/CalculatorUnitTests/MultiWindowUnitTests.cpp index b41a6113f..1aa861a1a 100644 --- a/src/CalculatorUnitTests/MultiWindowUnitTests.cpp +++ b/src/CalculatorUnitTests/MultiWindowUnitTests.cpp @@ -369,7 +369,7 @@ TEST_METHOD(MultipleModesHistoryAddItemTest) ChangeMode(viewModels[i], i); // Validate that the history items list is initially empty - VERIFY_IS_TRUE(0 == viewModels[i]->m_standardCalculatorManager.GetHistoryItems().size()); + VERIFY_IS_TRUE(0 == viewModels[i]->HistoryVM->ItemSize); } // Perform Calculations on both the instances and check that the History items work independently @@ -390,24 +390,24 @@ TEST_METHOD(MultipleModesHistoryAddItemTest) ValidateViewModelByCommands(viewModels[1], scientificModeTestItems, true); // Assert for the history list items of 1st instance - VERIFY_IS_TRUE(1 == viewModels[0]->m_standardCalculatorManager.GetHistoryItems().size()); + VERIFY_IS_TRUE(1 == viewModels[0]->HistoryVM->ItemSize); - auto item1 = viewModels[0]->m_standardCalculatorManager.GetHistoryItem(0); + auto item1 = static_cast(viewModels[0]->HistoryVM->Items->GetAt(0)); String ^ expression1 = UtfUtils::LRO + L"1 + 2 =" + UtfUtils::PDF; String ^ result1 = L"3"; - VERIFY_ARE_EQUAL(expression1, StringReference(item1->historyItemVector.expression.c_str())); - VERIFY_ARE_EQUAL(result1, StringReference(item1->historyItemVector.result.c_str())); + VERIFY_ARE_EQUAL(expression1, item1->Expression); + VERIFY_ARE_EQUAL(result1, item1->Result); // Assert for the history list items of 2nd instance - VERIFY_IS_TRUE(1 == viewModels[1]->m_standardCalculatorManager.GetHistoryItems().size()); + VERIFY_IS_TRUE(1 == viewModels[1]->HistoryVM->ItemSize); - auto item2 = viewModels[1]->m_standardCalculatorManager.GetHistoryItem(0); + auto item2 = static_cast(viewModels[1]->HistoryVM->Items->GetAt(0)); String ^ expression2 = UtfUtils::LRO + L"1 + 2 " + UtfUtils::MUL + L" 3 =" + UtfUtils::PDF; String ^ result2 = L"7"; - VERIFY_ARE_EQUAL(expression2, StringReference(item2->historyItemVector.expression.c_str())); - VERIFY_ARE_EQUAL(result2, StringReference(item2->historyItemVector.result.c_str())); + VERIFY_ARE_EQUAL(expression2, item2->Expression); + VERIFY_ARE_EQUAL(result2, item2->Result); } // Perform calculations on 2 separate instances of Standard Modes and verify that their History list items are maintained separately @@ -424,7 +424,7 @@ TEST_METHOD(MultipleStandardModesHistoryAddItemTest) ChangeMode(viewModels[i], 0); // Validate that the history items list is initially empty - VERIFY_IS_TRUE(0 == viewModels[i]->m_standardCalculatorManager.GetHistoryItems().size()); + VERIFY_IS_TRUE(0 == viewModels[i]->HistoryVM->ItemSize); } // Perform Calculations on both the instances and check that the History items work independently @@ -457,12 +457,12 @@ TEST_METHOD(MultipleStandardModesHistoryAddItemTest) // Assert for the history list items of the instances for (int i = 0; i < 2; i++) { - VERIFY_IS_TRUE(1 == viewModels[i]->m_standardCalculatorManager.GetHistoryItems().size()); + VERIFY_IS_TRUE(1 == viewModels[i]->HistoryVM->ItemSize); - auto item = viewModels[i]->m_standardCalculatorManager.GetHistoryItem(0); + auto item = static_cast(viewModels[i]->HistoryVM->Items->GetAt(0)); - VERIFY_ARE_EQUAL(expression[i], StringReference(item->historyItemVector.expression.c_str())); - VERIFY_ARE_EQUAL(result[i], StringReference(item->historyItemVector.result.c_str())); + VERIFY_ARE_EQUAL(expression[i], item->Expression); + VERIFY_ARE_EQUAL(result[i], item->Result); } } @@ -480,7 +480,7 @@ TEST_METHOD(MultipleScientificModesHistoryAddItemTest) ChangeMode(viewModels[i], 1); // Validate that the history items list is initially empty - VERIFY_IS_TRUE(0 == viewModels[i]->m_standardCalculatorManager.GetHistoryItems().size()); + VERIFY_IS_TRUE(0 == viewModels[i]->HistoryVM->ItemSize); } // Perform Calculations on both the instances and check that the History items work independently @@ -513,12 +513,12 @@ TEST_METHOD(MultipleScientificModesHistoryAddItemTest) // Assert for the history list items of the instances for (int i = 0; i < 2; i++) { - VERIFY_IS_TRUE(1 == viewModels[i]->m_standardCalculatorManager.GetHistoryItems().size()); + VERIFY_IS_TRUE(1 == viewModels[i]->HistoryVM->ItemSize); - auto item = viewModels[i]->m_standardCalculatorManager.GetHistoryItem(0); + auto item = static_cast(viewModels[i]->HistoryVM->Items->GetAt(0)); - VERIFY_ARE_EQUAL(expression[i], StringReference(item->historyItemVector.expression.c_str())); - VERIFY_ARE_EQUAL(result[i], StringReference(item->historyItemVector.result.c_str())); + VERIFY_ARE_EQUAL(expression[i], item->Expression); + VERIFY_ARE_EQUAL(result[i], item->Result); } } 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..58711635a 100644 --- a/src/CalculatorUnitTests/StandardViewModelUnitTests.cpp +++ b/src/CalculatorUnitTests/StandardViewModelUnitTests.cpp @@ -9,6 +9,7 @@ #include "CalcViewModel/StandardCalculatorViewModel.h" #include "CalcViewModel/Common/CalculatorButtonPressedEventArgs.h" +#include "Helpers.h" using namespace CalculationManager; using namespace CalculatorApp; @@ -494,10 +495,10 @@ namespace CalculatorUnitTests { NumbersAndOperatorsEnum::F, L"F", L"" }, { NumbersAndOperatorsEnum::None, L"", L"" } }; ValidateViewModelByCommands(m_viewModel, items, false); - VERIFY_ARE_EQUAL(Utils::GetStringValue(m_viewModel->HexDisplayValue), StringReference(L"F")); - VERIFY_ARE_EQUAL(Utils::GetStringValue(m_viewModel->DecimalDisplayValue), StringReference(L"15")); - VERIFY_ARE_EQUAL(Utils::GetStringValue(m_viewModel->OctalDisplayValue), StringReference(L"17")); - VERIFY_ARE_EQUAL(Utils::GetStringValue(m_viewModel->BinaryDisplayValue), StringReference(L"1111")); + VERIFY_ARE_EQUAL(GetStringValue(m_viewModel->HexDisplayValue), StringReference(L"F")); + VERIFY_ARE_EQUAL(GetStringValue(m_viewModel->DecimalDisplayValue), StringReference(L"15")); + VERIFY_ARE_EQUAL(GetStringValue(m_viewModel->OctalDisplayValue), StringReference(L"17")); + VERIFY_ARE_EQUAL(GetStringValue(m_viewModel->BinaryDisplayValue), StringReference(L"1111")); auto val = ref new Platform::Collections::Vector(64, false); val->SetAt(0, true); val->SetAt(1, true); @@ -510,19 +511,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);*/ @@ -547,10 +548,10 @@ namespace CalculatorUnitTests { NumbersAndOperatorsEnum::None, L"1", L"" }, }; ValidateViewModelByCommands(m_viewModel, items, true); - VERIFY_ARE_EQUAL(Utils::GetStringValue(m_viewModel->HexDisplayValue), StringReference(L"75B CD15")); - VERIFY_ARE_EQUAL(Utils::GetStringValue(m_viewModel->DecimalDisplayValue), StringReference(L"123,456,789")); - VERIFY_ARE_EQUAL(Utils::GetStringValue(m_viewModel->OctalDisplayValue), StringReference(L"726 746 425")); - VERIFY_ARE_EQUAL(Utils::GetStringValue(m_viewModel->BinaryDisplayValue), StringReference(L"0111 0101 1011 1100 1101 0001 0101")); + VERIFY_ARE_EQUAL(GetStringValue(m_viewModel->HexDisplayValue), StringReference(L"75B CD15")); + VERIFY_ARE_EQUAL(GetStringValue(m_viewModel->DecimalDisplayValue), StringReference(L"123,456,789")); + VERIFY_ARE_EQUAL(GetStringValue(m_viewModel->OctalDisplayValue), StringReference(L"726 746 425")); + VERIFY_ARE_EQUAL(GetStringValue(m_viewModel->BinaryDisplayValue), StringReference(L"0111 0101 1011 1100 1101 0001 0101")); auto val = ref new Platform::Collections::Vector(64, false); val->SetAt(0, true); val->SetAt(2, true); @@ -581,11 +582,11 @@ namespace CalculatorUnitTests { NumbersAndOperatorsEnum::Not, L"-2", L"~(1)" }, { NumbersAndOperatorsEnum::None, L"N/A", L"N/A" } }; ValidateViewModelByCommands(m_viewModel, items, false); - VERIFY_ARE_EQUAL(Utils::GetStringValue(m_viewModel->HexDisplayValue), StringReference(L"FFFF FFFF FFFF FFFE")); - VERIFY_ARE_EQUAL(Utils::GetStringValue(m_viewModel->DecimalDisplayValue), StringReference(L"-2")); - VERIFY_ARE_EQUAL(Utils::GetStringValue(m_viewModel->OctalDisplayValue), StringReference(L"1 777 777 777 777 777 777 776")); + VERIFY_ARE_EQUAL(GetStringValue(m_viewModel->HexDisplayValue), StringReference(L"FFFF FFFF FFFF FFFE")); + VERIFY_ARE_EQUAL(GetStringValue(m_viewModel->DecimalDisplayValue), StringReference(L"-2")); + VERIFY_ARE_EQUAL(GetStringValue(m_viewModel->OctalDisplayValue), StringReference(L"1 777 777 777 777 777 777 776")); VERIFY_ARE_EQUAL( - Utils::GetStringValue(m_viewModel->BinaryDisplayValue), + GetStringValue(m_viewModel->BinaryDisplayValue), StringReference(L"1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1110")); VERIFY_ARE_EQUAL(m_viewModel->DisplayValue, StringReference(L"-2")); auto val = ref new Platform::Collections::Vector(64, true); @@ -775,13 +776,13 @@ namespace CalculatorUnitTests m_viewModel->OnMemoryItemPressed(ref new Platform::Box(0)); VERIFY_ARE_EQUAL(Platform::StringReference(L"-1,001"), m_viewModel->DisplayValue); MemoryItemViewModel ^ memorySlotStandard = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0); - VERIFY_ARE_EQUAL(Platform::StringReference(L"-1,001"), Utils::GetStringValue(memorySlotStandard->Value)); + VERIFY_ARE_EQUAL(Platform::StringReference(L"-1,001"), GetStringValue(memorySlotStandard->Value)); ChangeMode(m_viewModel, 1 /*scientific*/); MemoryItemViewModel ^ memorySlotScientific = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0); - VERIFY_ARE_EQUAL(Platform::StringReference(L"-1,001"), Utils::GetStringValue(memorySlotScientific->Value)); + VERIFY_ARE_EQUAL(Platform::StringReference(L"-1,001"), GetStringValue(memorySlotScientific->Value)); ChangeMode(m_viewModel, 2 /*Programmer*/); MemoryItemViewModel ^ memorySlotProgrammer = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0); - VERIFY_ARE_EQUAL(Platform::StringReference(L"-1,001"), Utils::GetStringValue(memorySlotProgrammer->Value)); + VERIFY_ARE_EQUAL(Platform::StringReference(L"-1,001"), GetStringValue(memorySlotProgrammer->Value)); } // When decimal number is saved in memory @@ -799,13 +800,13 @@ namespace CalculatorUnitTests m_viewModel->OnMemoryItemPressed(ref new Platform::Box(0)); VERIFY_ARE_EQUAL(Platform::StringReference(L"1,001.1"), m_viewModel->DisplayValue); MemoryItemViewModel ^ memorySlotStandard = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0); - VERIFY_ARE_EQUAL(Platform::StringReference(L"1,001.1"), Utils::GetStringValue(memorySlotStandard->Value)); + VERIFY_ARE_EQUAL(Platform::StringReference(L"1,001.1"), GetStringValue(memorySlotStandard->Value)); ChangeMode(m_viewModel, 1 /*Scientific*/); MemoryItemViewModel ^ memorySlotScientific = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0); - VERIFY_ARE_EQUAL(Platform::StringReference(L"1,001.1"), Utils::GetStringValue(memorySlotScientific->Value)); + VERIFY_ARE_EQUAL(Platform::StringReference(L"1,001.1"), GetStringValue(memorySlotScientific->Value)); ChangeMode(m_viewModel, 2 /*Programmer*/); MemoryItemViewModel ^ memorySlotProgrammer = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0); - VERIFY_ARE_EQUAL(Platform::StringReference(L"1,001"), Utils::GetStringValue(memorySlotProgrammer->Value)); + VERIFY_ARE_EQUAL(Platform::StringReference(L"1,001"), GetStringValue(memorySlotProgrammer->Value)); } // When negative decimal number is saved in memory @@ -864,7 +865,7 @@ namespace CalculatorUnitTests m_viewModel->OnMemoryItemPressed(ref new Box(0)); VERIFY_ARE_EQUAL(Platform::StringReference(L"255"), m_viewModel->DisplayValue); MemoryItemViewModel ^ memorySlot = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0); - VERIFY_ARE_EQUAL(Platform::StringReference(L"255"), Utils::GetStringValue(memorySlot->Value)); + VERIFY_ARE_EQUAL(Platform::StringReference(L"255"), GetStringValue(memorySlot->Value)); } TEST_METHOD(OnMemorySavedInHexRadixAndRadixChanges) @@ -880,13 +881,13 @@ namespace CalculatorUnitTests m_viewModel->OnMemoryButtonPressed(); m_viewModel->SwitchProgrammerModeBase(NumberBase::OctBase); MemoryItemViewModel ^ memorySlotOct = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0); - VERIFY_ARE_EQUAL(Platform::StringReference(L"377"), Utils::GetStringValue(memorySlotOct->Value)); + VERIFY_ARE_EQUAL(Platform::StringReference(L"377"), GetStringValue(memorySlotOct->Value)); m_viewModel->SwitchProgrammerModeBase(NumberBase::DecBase); MemoryItemViewModel ^ memorySlotDec = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0); - VERIFY_ARE_EQUAL(Platform::StringReference(L"255"), Utils::GetStringValue(memorySlotDec->Value)); + VERIFY_ARE_EQUAL(Platform::StringReference(L"255"), GetStringValue(memorySlotDec->Value)); m_viewModel->SwitchProgrammerModeBase(NumberBase::BinBase); MemoryItemViewModel ^ memorySlotBin = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0); - VERIFY_ARE_EQUAL(Platform::StringReference(L"1111 1111"), Utils::GetStringValue(memorySlotBin->Value)); + VERIFY_ARE_EQUAL(Platform::StringReference(L"1111 1111"), GetStringValue(memorySlotBin->Value)); } // When memory button is pressed more than max number of slots allowed, @@ -965,7 +966,7 @@ namespace CalculatorUnitTests m_viewModel->OnMemoryItemPressed(1); m_viewModel->OnMemoryAdd(ref new Platform::Box(0)); MemoryItemViewModel ^ memorySlot = (MemoryItemViewModel ^) m_viewModel->MemorizedNumbers->GetAt(0); - VERIFY_ARE_EQUAL(Platform::StringReference(L"3,003"), Utils::GetStringValue(memorySlot->Value)); + VERIFY_ARE_EQUAL(Platform::StringReference(L"3,003"), GetStringValue(memorySlot->Value)); } // Verify that raw, unformatted numbers are provided correctly 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/Control/Grapher.cpp b/src/GraphControl/Control/Grapher.cpp index 3a7708081..1e2b6c5b0 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; @@ -29,10 +30,14 @@ 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); DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, GraphBackground); +DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, GridLinesColor); +DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, LineWidth); +DEPENDENCY_PROPERTY_INITIALIZATION(Grapher, IsKeepCurrentView); namespace { @@ -83,6 +88,7 @@ namespace GraphControl void Grapher::ZoomFromCenter(double scale) { ScaleRange(0, 0, scale); + GraphViewChangedEvent(this, GraphViewChangedReason::Manipulation); } void Grapher::ScaleRange(double centerX, double centerY, double scale) @@ -91,9 +97,18 @@ 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, GraphViewChangedReason::Manipulation); + } + else + { + m_renderMain->GetCriticalSection().unlock(); } } } @@ -108,6 +123,7 @@ namespace GraphControl if (SUCCEEDED(renderer->ResetRange())) { m_renderMain->RunRenderPass(); + GraphViewChangedEvent(this, GraphViewChangedReason::Reset); } } } @@ -175,6 +191,7 @@ namespace GraphControl { if (m_graph) { + m_graph->TryResetSelection(); UpdateGraphOptions(m_graph->GetOptions(), GetGraphableEquations()); } @@ -191,14 +208,24 @@ namespace GraphControl { return; } + bool keepCurrentView = true; - PlotGraph(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) { if (auto graph = GetGraph(equation)) { + SetGraphArgs(graph); + if (auto analyzer = graph->GetAnalyzer()) { vector equationVector; @@ -227,7 +254,7 @@ namespace GraphControl void Grapher::PlotGraph(bool keepCurrentView) { - TryPlotGraph(keepCurrentView, false); + TryPlotGraph(keepCurrentView,false); } task Grapher::TryPlotGraph(bool keepCurrentView, bool shouldRetry) @@ -246,12 +273,35 @@ namespace GraphControl co_await TryUpdateGraph(keepCurrentView); } } + + 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()); } task Grapher::TryUpdateGraph(bool keepCurrentView) { optional>> initResult = nullopt; bool successful = false; + m_errorCode = 0; + m_errorType = 0; if (m_renderMain && m_graph != nullptr) { @@ -277,7 +327,14 @@ namespace GraphControl if (numValidEquations++ > 0) { - request += L","; + if (!UseCommaDecimalSeperator) + { + request += L","; + } + else + { + request += L";"; + } } auto equationRequest = eq->GetRequest()->Data(); @@ -287,20 +344,38 @@ 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, m_errorCode, m_errorType))) + { + co_return false; + } + request += equationRequest; } request += s_getGraphClosingTags; } - if (graphExpression = m_solver->ParseInput(request)) + if (graphExpression = m_solver->ParseInput(request, m_errorCode, m_errorType)) { initResult = TryInitializeGraph(keepCurrentView, graphExpression.get()); 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(); + SetGraphArgs(m_graph); m_renderMain->Graph = m_graph; @@ -316,8 +391,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) @@ -325,11 +405,11 @@ namespace GraphControl // Do not re-initialize the graph to empty if there are still valid equations graphed if (!shouldKeepPreviousGraph) { - initResult = m_graph->TryInitialize(); + initResult = TryInitializeGraph(false, nullptr); if (initResult != nullopt) { - UpdateGraphOptions(m_graph->GetOptions(), validEqs); - SetGraphArgs(); + UpdateGraphOptions(m_graph->GetOptions(), vector()); + SetGraphArgs(m_graph); m_renderMain->Graph = m_graph; co_await m_renderMain->RunRenderPassAsync(); @@ -361,20 +441,22 @@ namespace GraphControl { if (!eq->IsValidated) { + eq->GraphErrorType = static_cast(m_errorType); + eq->GraphErrorCode = m_errorCode; eq->HasGraphError = true; } } } - 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) + for (auto variablePair : Variables) { - m_graph->SetArgValue(variable->Key->Data(), variable->Value); + graph->SetArgValue(variablePair->Key->Data(), variablePair->Value->Value); } } } @@ -387,7 +469,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())) { @@ -400,7 +482,7 @@ namespace GraphControl void Grapher::UpdateVariables() { - auto updatedVariables = ref new Map(); + auto updatedVariables = ref new Map(); if (m_graph) { @@ -413,47 +495,50 @@ 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); } } } + if (Variables->Size != updatedVariables->Size) + { + TraceLogger::GetInstance()->LogVariableCountChanged(updatedVariables->Size); + } + Variables = updatedVariables; VariablesUpdated(this, Variables); } 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) { - - 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(); - m_renderMain->RunRenderPassAsync(); + m_renderMain->RunRenderPass(); }); ThreadPool::RunAsync(workItemHandler, WorkItemPriority::High, WorkItemOptions::None); - } } @@ -474,6 +559,18 @@ namespace GraphControl { auto lineColor = eq->LineColor; graphColors.emplace_back(lineColor.R, lineColor.G, lineColor.B, lineColor.A); + + 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)); + } } options.SetGraphColors(graphColors); } @@ -500,12 +597,25 @@ 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) { OnPointerMoved(e); - m_renderMain->DrawNearestPoint = true; e->Handled = true; } @@ -528,9 +638,34 @@ namespace GraphControl { if (m_renderMain) { - PointerPoint ^ currPoint = e->GetCurrentPoint(/* relativeTo */ this); - m_renderMain->PointerLocation = currPoint->Position; - UpdateTracingChanged(); + m_renderMain->DrawNearestPoint = true; + 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; } @@ -544,6 +679,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) @@ -570,6 +711,7 @@ namespace GraphControl const auto [centerX, centerY] = PointerPositionToGraphPosition(pos.X, pos.Y, ActualWidth, ActualHeight); ScaleRange(centerX, centerY, scale); + GraphViewChangedEvent(this, GraphViewChangedReason::Manipulation); e->Handled = true; } @@ -614,11 +756,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; } @@ -632,17 +778,22 @@ 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; } if (needsRenderPass) { m_renderMain->RunRenderPass(); + GraphViewChangedEvent(this, GraphViewChangedReason::Manipulation); } } } @@ -868,7 +1019,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); @@ -878,7 +1029,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()); } @@ -907,14 +1058,41 @@ 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) + { + 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) + if (keepCurrentView || IsKeepCurrentView) { double xMin, xMax, yMin, yMax; 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 9b00acc2e..e0fa7a408 100644 --- a/src/GraphControl/Control/Grapher.h +++ b/src/GraphControl/Control/Grapher.h @@ -4,14 +4,16 @@ #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" #include "Models/KeyGraphFeaturesInfo.h" #include +#include "Logger/TraceLogger.h" namespace GraphControl { @@ -23,6 +25,12 @@ public public delegate void PointerValueChangedEventHandler(Windows::Foundation::Point value); +public enum class GraphViewChangedReason +{ + Manipulation, + Reset +}; + [Windows::UI::Xaml::Markup::ContentPropertyAttribute(Name = L"Equations")] public ref class Grapher sealed : public Windows::UI::Xaml::Controls::Control, public Windows::UI::Xaml::Data::INotifyPropertyChanged @@ -31,6 +39,8 @@ public event TracingValueChangedEventHandler ^ TracingValueChangedEvent; event PointerValueChangedEventHandler ^ PointerValueChangedEvent; event TracingChangedEventHandler ^ TracingChangedEvent; + event Windows::Foundation::EventHandler ^ GraphViewChangedEvent; + event Windows::UI::Xaml::RoutedEventHandler ^ GraphPlottedEvent; virtual event Windows::UI::Xaml::Data::PropertyChangedEventHandler ^ PropertyChanged; public: @@ -38,13 +48,17 @@ 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 ^), + 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); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(Windows::UI::Color, GridLinesColor, Windows::UI::Colors::Transparent); + DEPENDENCY_PROPERTY_WITH_DEFAULT_AND_CALLBACK(double, LineWidth, 2.0); + DEPENDENCY_PROPERTY_WITH_DEFAULT(bool, IsKeepCurrentView, false); // Pass active tracing turned on or off down to the renderer property bool ActiveTracing @@ -101,7 +115,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); @@ -123,6 +137,7 @@ public if (value != (int)m_solver->EvalOptions().GetTrigUnitMode()) { m_solver->EvalOptions().SetTrigUnitMode((Graphing::EvalTrigUnitMode)value); + m_trigUnitsChanged = true; PlotGraph(true); } } @@ -241,6 +256,7 @@ public if (m_renderMain) { m_renderMain->RunRenderPass(); + GraphViewChangedEvent(this, GraphViewChangedReason::Manipulation); } } } @@ -266,9 +282,12 @@ 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); + void OnGridLinesColorPropertyChanged(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); @@ -276,7 +295,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(); @@ -292,6 +311,8 @@ public void SetEquationsAsValid(); void SetEquationErrors(); std::optional>> TryInitializeGraph(bool keepCurrentView, _In_ const Graphing::IExpression* graphingExp = nullptr); + + private: DX::RenderMain ^ m_renderMain = nullptr; @@ -313,6 +334,7 @@ public const std::shared_ptr m_graph; bool m_calculatedForceProportional = false; bool m_tracingTracking; + bool m_trigUnitsChanged; enum KeysPressedSlots { Left, @@ -325,6 +347,9 @@ public bool m_KeysPressed[5]; 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/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 169af46b0..87fac0deb 100644 --- a/src/GraphControl/DirectX/RenderMain.cpp +++ b/src/GraphControl/DirectX/RenderMain.cpp @@ -86,7 +86,6 @@ namespace GraphControl::DX { m_Tracing = false; } - RunRenderPass(); } } @@ -95,7 +94,12 @@ namespace GraphControl::DX if (m_pointerLocation != location) { m_pointerLocation = location; - RunRenderPass(); + + bool wasPointRendered = m_Tracing; + if (CanRenderPoint() || wasPointRendered) + { + RunRenderPassAsync(); + } } } @@ -104,7 +108,12 @@ namespace GraphControl::DX if (m_drawActiveTracing != value) { m_drawActiveTracing = value; - RunRenderPass(); + + bool wasPointRendered = m_Tracing; + if (CanRenderPoint() || wasPointRendered) + { + RunRenderPassAsync(); + } } } @@ -127,6 +136,56 @@ 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; + } + + 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 @@ -214,7 +273,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. @@ -285,6 +346,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 f46471130..b9b6e014d 100644 --- a/src/GraphControl/DirectX/RenderMain.h +++ b/src/GraphControl/DirectX/RenderMain.h @@ -45,6 +45,10 @@ namespace GraphControl::DX void CreateWindowSizeDependentResources(); + bool RenderMain::CanRenderPoint(); + + void SetPointRadius(float radius); + bool RunRenderPass(); Windows::Foundation::IAsyncAction ^ RunRenderPassAsync(bool allowCancel = true); @@ -59,6 +63,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 { @@ -78,7 +84,12 @@ namespace GraphControl::DX if (m_activeTracingPointerLocation != newValue) { m_activeTracingPointerLocation = newValue; - RunRenderPass(); + + bool wasPointRendered = m_Tracing; + if (CanRenderPoint() || wasPointRendered) + { + RunRenderPassAsync(); + } } } } @@ -182,5 +193,7 @@ namespace GraphControl::DX Windows::Foundation::IAsyncAction ^ m_renderPass = nullptr; bool m_isRenderPassSuccesful; + + HRESULT m_HResult; }; } diff --git a/src/GraphControl/GraphControl.vcxproj b/src/GraphControl/GraphControl.vcxproj index 460cbdcd0..7a64af776 100644 --- a/src/GraphControl/GraphControl.vcxproj +++ b/src/GraphControl/GraphControl.vcxproj @@ -283,17 +283,24 @@ $(GraphingImplLibDir);%(AdditionalLibraryDirectories) + + + /DSEND_DIAGNOSTICS %(AdditionalOptions) + + + + @@ -301,6 +308,7 @@ + @@ -322,6 +330,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..60ea5d322 100644 --- a/src/GraphControl/GraphControl.vcxproj.filters +++ b/src/GraphControl/GraphControl.vcxproj.filters @@ -32,6 +32,7 @@ Models + @@ -59,15 +60,16 @@ Models + + Models + + Themes - - - diff --git a/src/GraphControl/Logger/TraceLogger.cpp b/src/GraphControl/Logger/TraceLogger.cpp new file mode 100644 index 000000000..82a8a98a3 --- /dev/null +++ b/src/GraphControl/Logger/TraceLogger.cpp @@ -0,0 +1,97 @@ +// 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"; + constexpr auto EVENT_NAME_LINE_WIDTH_CHANGED = L"LineWidthChanged"; + + 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); + } + + 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 new file mode 100644 index 000000000..5ae60e062 --- /dev/null +++ b/src/GraphControl/Logger/TraceLogger.h @@ -0,0 +1,28 @@ +// 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); + void LogLineWidthChanged(); + + private: + TraceLogger() + { + } + }; +} diff --git a/src/GraphControl/Models/Equation.cpp b/src/GraphControl/Models/Equation.cpp index 02be2cb01..32ae6db78 100644 --- a/src/GraphControl/Models/Equation.cpp +++ b/src/GraphControl/Models/Equation.cpp @@ -26,14 +26,16 @@ 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 || 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"; + 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 cc404b7e0..da5c50cfc 100644 --- a/src/GraphControl/Models/Equation.h +++ b/src/GraphControl/Models/Equation.h @@ -7,6 +7,210 @@ namespace GraphControl { +public + enum class EquationLineStyle : int + { + Solid, + Dot, + Dash, + DashDot, + DashDotDot + }; + + 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: @@ -17,6 +221,11 @@ 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); property Windows::UI::Color LineColor { @@ -24,18 +233,30 @@ 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: + 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..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) + if (propertyName == GraphControl::Equation::LineColorPropertyName || propertyName == GraphControl::Equation::IsSelectedPropertyName || propertyName == GraphControl::Equation::EquationStylePropertyName) { EquationStyleChanged(equation); } 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/Models/Variable.h b/src/GraphControl/Models/Variable.h new file mode 100644 index 000000000..dd3fbb97d --- /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{ -5.0 } + , m_Max{ 5.0 } + { + } + }; +} diff --git a/src/GraphControl/pch.h b/src/GraphControl/pch.h index 286138408..21f160824 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]' @@ -14,7 +17,7 @@ #include #include #include -#include +#include #include #include #include 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/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/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/GraphingImpl/Mocks/MathSolver.h b/src/GraphingImpl/Mocks/MathSolver.h index 7f9a0fca6..e6c18df26 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 @@ -107,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()) { @@ -117,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/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; diff --git a/src/GraphingInterfaces/IMathSolver.h b/src/GraphingInterfaces/IMathSolver.h index c1df98ac8..70f728d91 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 @@ -62,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; 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, 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"