diff --git a/.editorconfig b/.editorconfig index e1b35f7cc..8f7ace825 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,8 +1,7 @@ -# editorconfig.org - -# top-most EditorConfig file +# Remove the line below if you want to inherit .editorconfig settings from higher directories root = true +# All files [*] charset = utf-8 end_of_line = crlf @@ -25,4 +24,221 @@ indent_size = 2 # XML Configuration Files [*.{xml,config,props,targets,nuspec,resx,ruleset,vsixmanifest,vsct}] -indent_size = 2 \ No newline at end of file +indent_size = 2 + +# C# files +[*.cs] + +#### Core EditorConfig Options #### + +# Indentation and spacing +indent_size = 4 +indent_style = space +tab_width = 4 + +# New line preferences +end_of_line = crlf +insert_final_newline = false + +#### .NET Coding Conventions #### + +# Organize usings +dotnet_separate_import_directive_groups = false +dotnet_sort_system_directives_first = false +file_header_template = unset + +# this. and Me. preferences +dotnet_style_qualification_for_event = false:suggestion +dotnet_style_qualification_for_field = false:suggestion +dotnet_style_qualification_for_method = false:suggestion +dotnet_style_qualification_for_property = false:suggestion + +# Language keywords vs BCL types preferences +dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion +dotnet_style_predefined_type_for_member_access = true + +# Parentheses preferences +dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity +dotnet_style_parentheses_in_other_binary_operators = always_for_clarity +dotnet_style_parentheses_in_other_operators = never_if_unnecessary +dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity + +# Modifier preferences +dotnet_style_require_accessibility_modifiers = for_non_interface_members + +# Expression-level preferences +dotnet_style_coalesce_expression = true +dotnet_style_collection_initializer = true +dotnet_style_explicit_tuple_names = true +dotnet_style_namespace_match_folder = true +dotnet_style_null_propagation = true +dotnet_style_object_initializer = true +dotnet_style_operator_placement_when_wrapping = beginning_of_line +dotnet_style_prefer_auto_properties = true:suggestion +dotnet_style_prefer_compound_assignment = true +dotnet_style_prefer_conditional_expression_over_assignment = true +dotnet_style_prefer_conditional_expression_over_return = true +dotnet_style_prefer_inferred_anonymous_type_member_names = true +dotnet_style_prefer_inferred_tuple_names = true +dotnet_style_prefer_is_null_check_over_reference_equality_method = true +dotnet_style_prefer_simplified_boolean_expressions = true +dotnet_style_prefer_simplified_interpolation = true + +# Field preferences +dotnet_style_readonly_field = true + +# Parameter preferences +dotnet_code_quality_unused_parameters = all + +# Suppression preferences +dotnet_remove_unnecessary_suppression_exclusions = 0 + +# New line preferences +dotnet_style_allow_multiple_blank_lines_experimental = false:suggestion +dotnet_style_allow_statement_immediately_after_block_experimental = false:warning + +#### C# Coding Conventions #### + +# var preferences +csharp_style_var_elsewhere = true:suggestion +csharp_style_var_for_built_in_types = true:suggestion +csharp_style_var_when_type_is_apparent = true:suggestion + +# Expression-bodied members +csharp_style_expression_bodied_accessors = when_on_single_line:suggestion +csharp_style_expression_bodied_constructors = true +csharp_style_expression_bodied_indexers = true +csharp_style_expression_bodied_lambdas = when_on_single_line:suggestion +csharp_style_expression_bodied_local_functions = false +csharp_style_expression_bodied_methods = true +csharp_style_expression_bodied_operators = true +csharp_style_expression_bodied_properties = true + +# Pattern matching preferences +csharp_style_pattern_matching_over_as_with_null_check = true +csharp_style_pattern_matching_over_is_with_cast_check = true +csharp_style_prefer_not_pattern = true +csharp_style_prefer_pattern_matching = true:suggestion +csharp_style_prefer_switch_expression = true + +# Null-checking preferences +csharp_style_conditional_delegate_call = true + +# Modifier preferences +csharp_prefer_static_local_function = true +csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async + +# Code-block preferences +csharp_prefer_braces = false:suggestion +csharp_prefer_simple_using_statement = true +csharp_style_namespace_declarations = file_scoped:suggestion + +# Expression-level preferences +csharp_prefer_simple_default_expression = true +csharp_style_deconstructed_variable_declaration = true +csharp_style_implicit_object_creation_when_type_is_apparent = true +csharp_style_inlined_variable_declaration = true +csharp_style_pattern_local_over_anonymous_function = true +csharp_style_prefer_index_operator = true:silent +csharp_style_prefer_null_check_over_type_check = true +csharp_style_prefer_range_operator = true:silent +csharp_style_throw_expression = true +csharp_style_unused_value_assignment_preference = discard_variable +csharp_style_unused_value_expression_statement_preference = discard_variable + +# 'using' directive preferences +csharp_using_directive_placement = outside_namespace:warning + +# New line preferences +csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = true +csharp_style_allow_blank_lines_between_consecutive_braces_experimental = false:warning +csharp_style_allow_embedded_statements_on_same_line_experimental = false:warning + +#### C# Formatting Rules #### + +# New line preferences +csharp_new_line_before_catch = true +csharp_new_line_before_else = true +csharp_new_line_before_finally = true +csharp_new_line_before_members_in_anonymous_types = true +csharp_new_line_before_members_in_object_initializers = true +csharp_new_line_before_open_brace = all +csharp_new_line_between_query_expression_clauses = true + +# Indentation preferences +csharp_indent_block_contents = true +csharp_indent_braces = false +csharp_indent_case_contents = true +csharp_indent_case_contents_when_block = false +csharp_indent_labels = one_less_than_current +csharp_indent_switch_labels = true + +# Space preferences +csharp_space_after_cast = false +csharp_space_after_colon_in_inheritance_clause = true +csharp_space_after_comma = true +csharp_space_after_dot = false +csharp_space_after_keywords_in_control_flow_statements = true +csharp_space_after_semicolon_in_for_statement = true +csharp_space_around_binary_operators = before_and_after +csharp_space_around_declaration_statements = false +csharp_space_before_colon_in_inheritance_clause = true +csharp_space_before_comma = false +csharp_space_before_dot = false +csharp_space_before_open_square_brackets = false +csharp_space_before_semicolon_in_for_statement = false +csharp_space_between_empty_square_brackets = false +csharp_space_between_method_call_empty_parameter_list_parentheses = false +csharp_space_between_method_call_name_and_opening_parenthesis = false +csharp_space_between_method_call_parameter_list_parentheses = false +csharp_space_between_method_declaration_empty_parameter_list_parentheses = false +csharp_space_between_method_declaration_name_and_open_parenthesis = false +csharp_space_between_method_declaration_parameter_list_parentheses = false +csharp_space_between_parentheses = false +csharp_space_between_square_brackets = false + +# Wrapping preferences +csharp_preserve_single_line_blocks = true +csharp_preserve_single_line_statements = true + +#### Naming styles #### + +# Naming rules + +dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion +dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface +dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i + +dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.types_should_be_pascal_case.symbols = types +dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case + +dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion +dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members +dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case + +# Symbol specifications + +dotnet_naming_symbols.interface.applicable_kinds = interface +dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.interface.required_modifiers = + +dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum +dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.types.required_modifiers = + +dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method +dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected +dotnet_naming_symbols.non_field_members.required_modifiers = + +# Naming styles + +dotnet_naming_style.pascal_case.required_prefix = +dotnet_naming_style.pascal_case.required_suffix = +dotnet_naming_style.pascal_case.word_separator = +dotnet_naming_style.pascal_case.capitalization = pascal_case + +dotnet_naming_style.begins_with_i.required_prefix = I +dotnet_naming_style.begins_with_i.required_suffix = +dotnet_naming_style.begins_with_i.word_separator = +dotnet_naming_style.begins_with_i.capitalization = pascal_case diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 37f69a858..7d783a50a 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,6 +1,6 @@ # These are supported funding model platforms -github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +github: [NickeManarin] patreon: nicke open_collective: # Replace with a single Open Collective username ko_fi: nickemanarin diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 000000000..09ad559eb --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,31 @@ +--- +name: Bug Report +about: Create a report to help us improve +title: "[Bug] Title" +labels: "\U0001F537 Bug \U0001F41B, ⬜ Pending" +assignees: NickeManarin + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. Windows 10] + - Version [e.g. 2.35.2] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md new file mode 100644 index 000000000..c368095d1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -0,0 +1,20 @@ +--- +name: Feature Request +about: Suggest an idea for this project +title: "[Feature Request] Title" +labels: "\U0001F537Enhancement, ⬜ Pending" +assignees: NickeManarin + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/workflows/discord-releases.yml b/.github/workflows/discord-releases.yml new file mode 100644 index 000000000..ff95126a2 --- /dev/null +++ b/.github/workflows/discord-releases.yml @@ -0,0 +1,31 @@ +# This is a basic workflow to help you get started with Actions +name: Discord • Releases + +# Controls when the action will run. +on: + # Triggers the workflow on new release. + release: + types: [published] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "released" + released: + # The type of runner that the job will run on + runs-on: ubuntu-latest + name: Sends release details to Discord/News channel + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + - name: Sending release notes + + # Checks-out a repository, to send the release notes + uses: nhevia/discord-styled-releases@main + + # Gets the ID and Token from the project secrets + with: + webhook_id: ${{ secrets.DISCORD_WEBHOOK_ID }} + webhook_token: ${{ secrets.DISCORD_WEBHOOK_TOKEN }} diff --git a/.gitignore b/.gitignore index 6d584557d..2e4c06826 100644 --- a/.gitignore +++ b/.gitignore @@ -5,17 +5,16 @@ /GifRecorder.v12.suo /.vs /GifRecorder -/ScreenToGif/ScreenToGif.csproj.user /GifRecorder.v12-Notebook-Nicke.suo /GifRecorder.suo -/GifRecorder.sln.DotSettings.user /GifRecorder.sdf /GifRecorder.sln.DotSettings ScreenToGif/Util/Secret.cs /ScreenToGif/Util/Secret.cs -/Other/Translator/Translator.csproj.user /ScreenToGif.UWP /packages obj bin +/log.txt +*.user diff --git a/GifRecorder.sln b/GifRecorder.sln index 27f9c1865..99a05f512 100644 --- a/GifRecorder.sln +++ b/GifRecorder.sln @@ -1,6 +1,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29326.143 +# Visual Studio Version 17 +VisualStudioVersion = 17.0.31512.422 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Files", "Files", "{0039724A-6303-4D73-B5B2-7063DF16C573}" ProjectSection(SolutionItems) = preProject @@ -11,109 +11,146 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Files", "Files", "{0039724A README.md = README.md EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScreenToGif", "ScreenToGif\ScreenToGif.csproj", "{9A332077-74BA-4C6A-8381-6D98C31A490A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScreenToGif", "ScreenToGif\ScreenToGif.csproj", "{9A332077-74BA-4C6A-8381-6D98C31A490A}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Other", "Other", "{13F2A1B9-496A-446E-8B06-776ACAE5CEA4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HookTest", "Other\HookTest\HookTest.csproj", "{A4BCA4D6-B6F4-4875-BD8A-A59E0CE5E7B5}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Translator", "Other\Translator\Translator.csproj", "{8B516DFB-0981-48A2-8A06-35F085C13980}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Translator", "Other\Translator\Translator.csproj", "{8B516DFB-0981-48A2-8A06-35F085C13980}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScreenToGif.Domain", "ScreenToGif.Model\ScreenToGif.Domain.csproj", "{EEE831AD-1447-474D-9875-94E56A854E71}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScreenToGif.Cloud.YandexDisk.Tests", "ScreenToGif.Cloud.YandexDisk.Tests\ScreenToGif.Cloud.YandexDisk.Tests.csproj", "{2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScreenToGif.Native", "ScreenToGif.Native\ScreenToGif.Native.csproj", "{66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{840C4813-08E8-42C9-83CB-C0FA8BBBD763}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScreenToGif.Test", "ScreenToGif.Test\ScreenToGif.Test.csproj", "{9D64714B-20BC-4A18-B89F-FA432E710EB4}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PositioningTest", "Other\PositioningTest\PositioningTest.csproj", "{6204EAEF-C4AA-4005-A369-A8E779205696}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScreenToGif.Util", "ScreenToGif.Util\ScreenToGif.Util.csproj", "{B39A6DFB-F44E-403D-9451-3CEAD3423135}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScreenToGif.ViewModel", "ScreenToGif.ViewModel\ScreenToGif.ViewModel.csproj", "{97AAAA14-2793-49B7-96C5-6C6E83C55EB7}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU - Debug|ARM = Debug|ARM + Debug|ARM64 = Debug|ARM64 Debug|x64 = Debug|x64 Debug|x86 = Debug|x86 Release|Any CPU = Release|Any CPU - Release|ARM = Release|ARM + Release|ARM64 = Release|ARM64 Release|x64 = Release|x64 Release|x86 = Release|x86 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {9A332077-74BA-4C6A-8381-6D98C31A490A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9A332077-74BA-4C6A-8381-6D98C31A490A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {9A332077-74BA-4C6A-8381-6D98C31A490A}.Debug|ARM.ActiveCfg = Debug|Any CPU - {9A332077-74BA-4C6A-8381-6D98C31A490A}.Debug|ARM.Build.0 = Debug|Any CPU + {9A332077-74BA-4C6A-8381-6D98C31A490A}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {9A332077-74BA-4C6A-8381-6D98C31A490A}.Debug|ARM64.Build.0 = Debug|ARM64 {9A332077-74BA-4C6A-8381-6D98C31A490A}.Debug|x64.ActiveCfg = Debug|x64 {9A332077-74BA-4C6A-8381-6D98C31A490A}.Debug|x64.Build.0 = Debug|x64 {9A332077-74BA-4C6A-8381-6D98C31A490A}.Debug|x86.ActiveCfg = Debug|x86 {9A332077-74BA-4C6A-8381-6D98C31A490A}.Debug|x86.Build.0 = Debug|x86 {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|Any CPU.ActiveCfg = Release|Any CPU {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|Any CPU.Build.0 = Release|Any CPU - {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|ARM.ActiveCfg = Release|Any CPU - {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|ARM.Build.0 = Release|Any CPU - {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|x64.ActiveCfg = Release|Any CPU - {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|x64.Build.0 = Release|Any CPU - {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|x86.ActiveCfg = Release|Any CPU - {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|x86.Build.0 = Release|Any CPU - {A4BCA4D6-B6F4-4875-BD8A-A59E0CE5E7B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {A4BCA4D6-B6F4-4875-BD8A-A59E0CE5E7B5}.Debug|Any CPU.Build.0 = Debug|Any CPU - {A4BCA4D6-B6F4-4875-BD8A-A59E0CE5E7B5}.Debug|ARM.ActiveCfg = Debug|Any CPU - {A4BCA4D6-B6F4-4875-BD8A-A59E0CE5E7B5}.Debug|x64.ActiveCfg = Debug|Any CPU - {A4BCA4D6-B6F4-4875-BD8A-A59E0CE5E7B5}.Debug|x86.ActiveCfg = Debug|Any CPU - {A4BCA4D6-B6F4-4875-BD8A-A59E0CE5E7B5}.Release|Any CPU.ActiveCfg = Release|Any CPU - {A4BCA4D6-B6F4-4875-BD8A-A59E0CE5E7B5}.Release|Any CPU.Build.0 = Release|Any CPU - {A4BCA4D6-B6F4-4875-BD8A-A59E0CE5E7B5}.Release|ARM.ActiveCfg = Release|Any CPU - {A4BCA4D6-B6F4-4875-BD8A-A59E0CE5E7B5}.Release|x64.ActiveCfg = Release|Any CPU - {A4BCA4D6-B6F4-4875-BD8A-A59E0CE5E7B5}.Release|x86.ActiveCfg = Release|Any CPU + {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|ARM64.ActiveCfg = Release|ARM64 + {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|ARM64.Build.0 = Release|ARM64 + {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|x64.ActiveCfg = Release|x64 + {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|x64.Build.0 = Release|x64 + {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|x86.ActiveCfg = Release|x86 + {9A332077-74BA-4C6A-8381-6D98C31A490A}.Release|x86.Build.0 = Release|x86 {8B516DFB-0981-48A2-8A06-35F085C13980}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8B516DFB-0981-48A2-8A06-35F085C13980}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8B516DFB-0981-48A2-8A06-35F085C13980}.Debug|ARM.ActiveCfg = Debug|Any CPU - {8B516DFB-0981-48A2-8A06-35F085C13980}.Debug|x64.ActiveCfg = Debug|Any CPU - {8B516DFB-0981-48A2-8A06-35F085C13980}.Debug|x86.ActiveCfg = Debug|Any CPU + {8B516DFB-0981-48A2-8A06-35F085C13980}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {8B516DFB-0981-48A2-8A06-35F085C13980}.Debug|x64.ActiveCfg = Debug|x64 + {8B516DFB-0981-48A2-8A06-35F085C13980}.Debug|x86.ActiveCfg = Debug|x86 {8B516DFB-0981-48A2-8A06-35F085C13980}.Release|Any CPU.ActiveCfg = Release|Any CPU {8B516DFB-0981-48A2-8A06-35F085C13980}.Release|Any CPU.Build.0 = Release|Any CPU - {8B516DFB-0981-48A2-8A06-35F085C13980}.Release|ARM.ActiveCfg = Release|Any CPU - {8B516DFB-0981-48A2-8A06-35F085C13980}.Release|x64.ActiveCfg = Release|Any CPU - {8B516DFB-0981-48A2-8A06-35F085C13980}.Release|x86.ActiveCfg = Release|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Debug|ARM.ActiveCfg = Debug|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Debug|ARM.Build.0 = Debug|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Debug|x64.ActiveCfg = Debug|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Debug|x64.Build.0 = Debug|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Debug|x86.ActiveCfg = Debug|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Debug|x86.Build.0 = Debug|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Release|Any CPU.Build.0 = Release|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Release|ARM.ActiveCfg = Release|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Release|ARM.Build.0 = Release|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Release|x64.ActiveCfg = Release|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Release|x64.Build.0 = Release|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Release|x86.ActiveCfg = Release|Any CPU - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D}.Release|x86.Build.0 = Release|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Debug|ARM.ActiveCfg = Debug|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Debug|ARM.Build.0 = Debug|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Debug|x64.ActiveCfg = Debug|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Debug|x64.Build.0 = Debug|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Debug|x86.ActiveCfg = Debug|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Debug|x86.Build.0 = Debug|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Release|Any CPU.Build.0 = Release|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Release|ARM.ActiveCfg = Release|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Release|ARM.Build.0 = Release|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Release|x64.ActiveCfg = Release|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Release|x64.Build.0 = Release|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Release|x86.ActiveCfg = Release|Any CPU - {6204EAEF-C4AA-4005-A369-A8E779205696}.Release|x86.Build.0 = Release|Any CPU + {8B516DFB-0981-48A2-8A06-35F085C13980}.Release|ARM64.ActiveCfg = Release|ARM64 + {8B516DFB-0981-48A2-8A06-35F085C13980}.Release|x64.ActiveCfg = Release|x64 + {8B516DFB-0981-48A2-8A06-35F085C13980}.Release|x86.ActiveCfg = Release|x86 + {EEE831AD-1447-474D-9875-94E56A854E71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EEE831AD-1447-474D-9875-94E56A854E71}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EEE831AD-1447-474D-9875-94E56A854E71}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {EEE831AD-1447-474D-9875-94E56A854E71}.Debug|ARM64.Build.0 = Debug|ARM64 + {EEE831AD-1447-474D-9875-94E56A854E71}.Debug|x64.ActiveCfg = Debug|x64 + {EEE831AD-1447-474D-9875-94E56A854E71}.Debug|x64.Build.0 = Debug|x64 + {EEE831AD-1447-474D-9875-94E56A854E71}.Debug|x86.ActiveCfg = Debug|x86 + {EEE831AD-1447-474D-9875-94E56A854E71}.Debug|x86.Build.0 = Debug|x86 + {EEE831AD-1447-474D-9875-94E56A854E71}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EEE831AD-1447-474D-9875-94E56A854E71}.Release|Any CPU.Build.0 = Release|Any CPU + {EEE831AD-1447-474D-9875-94E56A854E71}.Release|ARM64.ActiveCfg = Release|ARM64 + {EEE831AD-1447-474D-9875-94E56A854E71}.Release|ARM64.Build.0 = Release|ARM64 + {EEE831AD-1447-474D-9875-94E56A854E71}.Release|x64.ActiveCfg = Release|x64 + {EEE831AD-1447-474D-9875-94E56A854E71}.Release|x64.Build.0 = Release|x64 + {EEE831AD-1447-474D-9875-94E56A854E71}.Release|x86.ActiveCfg = Release|x86 + {EEE831AD-1447-474D-9875-94E56A854E71}.Release|x86.Build.0 = Release|x86 + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Debug|Any CPU.Build.0 = Debug|Any CPU + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Debug|ARM64.Build.0 = Debug|ARM64 + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Debug|x64.ActiveCfg = Debug|x64 + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Debug|x64.Build.0 = Debug|x64 + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Debug|x86.ActiveCfg = Debug|x86 + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Debug|x86.Build.0 = Debug|x86 + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Release|Any CPU.ActiveCfg = Release|Any CPU + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Release|Any CPU.Build.0 = Release|Any CPU + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Release|ARM64.ActiveCfg = Release|ARM64 + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Release|ARM64.Build.0 = Release|ARM64 + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Release|x64.ActiveCfg = Release|x64 + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Release|x64.Build.0 = Release|x64 + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Release|x86.ActiveCfg = Release|x86 + {66D60F4A-C0B4-4077-8DE6-0431F6AD5E87}.Release|x86.Build.0 = Release|x86 + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Debug|ARM64.Build.0 = Debug|ARM64 + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Debug|x64.ActiveCfg = Debug|x64 + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Debug|x64.Build.0 = Debug|x64 + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Debug|x86.ActiveCfg = Debug|x86 + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Debug|x86.Build.0 = Debug|x86 + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Release|Any CPU.Build.0 = Release|Any CPU + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Release|ARM64.ActiveCfg = Release|ARM64 + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Release|ARM64.Build.0 = Release|ARM64 + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Release|x64.ActiveCfg = Release|x64 + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Release|x64.Build.0 = Release|x64 + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Release|x86.ActiveCfg = Release|x86 + {9D64714B-20BC-4A18-B89F-FA432E710EB4}.Release|x86.Build.0 = Release|x86 + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Debug|ARM64.Build.0 = Debug|ARM64 + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Debug|x64.ActiveCfg = Debug|x64 + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Debug|x64.Build.0 = Debug|x64 + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Debug|x86.ActiveCfg = Debug|x86 + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Debug|x86.Build.0 = Debug|x86 + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Release|Any CPU.Build.0 = Release|Any CPU + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Release|ARM64.ActiveCfg = Release|ARM64 + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Release|ARM64.Build.0 = Release|ARM64 + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Release|x64.ActiveCfg = Release|x64 + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Release|x64.Build.0 = Release|x64 + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Release|x86.ActiveCfg = Release|x86 + {B39A6DFB-F44E-403D-9451-3CEAD3423135}.Release|x86.Build.0 = Release|x86 + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Debug|ARM64.Build.0 = Debug|ARM64 + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Debug|x64.ActiveCfg = Debug|x64 + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Debug|x64.Build.0 = Debug|x64 + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Debug|x86.ActiveCfg = Debug|x86 + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Debug|x86.Build.0 = Debug|x86 + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Release|Any CPU.Build.0 = Release|Any CPU + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Release|ARM64.ActiveCfg = Release|ARM64 + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Release|ARM64.Build.0 = Release|ARM64 + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Release|x64.ActiveCfg = Release|x64 + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Release|x64.Build.0 = Release|x64 + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Release|x86.ActiveCfg = Release|x86 + {97AAAA14-2793-49B7-96C5-6C6E83C55EB7}.Release|x86.Build.0 = Release|x86 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {A4BCA4D6-B6F4-4875-BD8A-A59E0CE5E7B5} = {13F2A1B9-496A-446E-8B06-776ACAE5CEA4} {8B516DFB-0981-48A2-8A06-35F085C13980} = {13F2A1B9-496A-446E-8B06-776ACAE5CEA4} - {2E037DF4-B0AD-43ED-9B99-4623DDF86F5D} = {840C4813-08E8-42C9-83CB-C0FA8BBBD763} - {6204EAEF-C4AA-4005-A369-A8E779205696} = {13F2A1B9-496A-446E-8B06-776ACAE5CEA4} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {E505E312-14B9-49C0-AC18-B3B2FB6C1661} diff --git a/LOCALIZATION.md b/LOCALIZATION.md index 8c30438ee..9ec0fa2df 100644 --- a/LOCALIZATION.md +++ b/LOCALIZATION.md @@ -1,24 +1,16 @@ # Localization ScreenToGif's base language is [English](https://github.com/NickeManarin/ScreenToGif/blob/master/ScreenToGif/Resources/Localization/StringResources.en.xaml).
-To contribute to the translation of ScreenToGif, you can fork this repository or copy the texts resources and send it to nicke@outlook.com.br.
-[![GitHub forks](https://img.shields.io/github/forks/badges/shields.svg?style=social&label=Fork)](https://github.com/NickeManarin/ScreenToGif) +The typical workflow for translation work comprises three key stages: translating, testing, and submission. To contribute to the translation of ScreenToGif, it is advisable to first review the guidelines provided in the wiki: -This allows you to edit and push changes of files to your fork so that you can then open a pull request.
+- [Translating the App](https://github.com/NickeManarin/ScreenToGif/wiki/Localization) +- [Translating the Installer](https://github.com/NickeManarin/ScreenToGif/wiki/Localization-%28Installer%29) +- [Translating the Website](https://github.com/NickeManarin/ScreenToGif/wiki/Localization-%28Website%29) -For more information, visit GitHub's official [forking guide](https://guides.github.com/activities/forking/). +As this project always are moving forward, new strings get added from time to time which means they need to be added to the language files and be translated. Anyone can still contribute to the languages. -## Maintaining languages -As this project always are moving forward, new strings get added from time to time which means they need to be added to the language files and be translated. - -Use the [Translator](https://github.com/NickeManarin/ScreenToGif/tree/master/Other/Translator) application to help you. - -You can get more information on the [wiki](https://github.com/NickeManarin/ScreenToGif/wiki/Localization). - -## Creating a new language -If you want to begin translating ScreenToGif for a new language, create a new file in the ``./Resources/Localization`` directory with the correct two letter [language](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes#Partial_ISO_639_table) and [country codes](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Decoding_table) (e.g. `es-AR`), then paste the contents of the ScreenToGif's base language file into it and start translating the strings. - -### Language Status +--- +## Language Status | Language | Maintainer | Status | | -------- | ---------- | ----------- | @@ -43,5 +35,3 @@ If you want to begin translating ScreenToGif for a new language, create a new fi | [![](https://img.shields.io/badge/uk-maintained-orange.svg)](https://github.com/NickeManarin/ScreenToGif/blob/master/ScreenToGif/Resources/Localization/StringResources.uk.xaml) | [NickeManarin](https://github.com/NickeManarin) | Need help | | [![](https://img.shields.io/badge/zh--Hant-maintained-yellow.svg)](https://github.com/NickeManarin/ScreenToGif/blob/master/ScreenToGif/Resources/Localization/StringResources.zh--Hant.xaml) | [spietras](https://github.com/spietras) | Updated | | [![](https://img.shields.io/badge/zh-maintained-yellow.svg)](https://github.com/NickeManarin/ScreenToGif/blob/master/ScreenToGif/Resources/Localization/StringResources.zh.xaml) | [spietras](https://github.com/spietras) | Updated | - -Anyone can still contribute to the languages. diff --git a/Other/HookTest/App.config b/Other/HookTest/App.config deleted file mode 100644 index 8e1564635..000000000 --- a/Other/HookTest/App.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Other/HookTest/App.xaml b/Other/HookTest/App.xaml deleted file mode 100644 index 2b8374e0b..000000000 --- a/Other/HookTest/App.xaml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - diff --git a/Other/HookTest/App.xaml.cs b/Other/HookTest/App.xaml.cs deleted file mode 100644 index 38e9fbacd..000000000 --- a/Other/HookTest/App.xaml.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Configuration; -using System.Data; -using System.Linq; -using System.Threading.Tasks; -using System.Windows; - -namespace HookTest -{ - /// - /// Interaction logic for App.xaml - /// - public partial class App : Application - { - } -} diff --git a/Other/HookTest/HookTest.csproj b/Other/HookTest/HookTest.csproj deleted file mode 100644 index 14ae50420..000000000 --- a/Other/HookTest/HookTest.csproj +++ /dev/null @@ -1,109 +0,0 @@ - - - - - Debug - AnyCPU - {A4BCA4D6-B6F4-4875-BD8A-A59E0CE5E7B5} - WinExe - Properties - HookTest - HookTest - v4.5 - 512 - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 4 - - - AnyCPU - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - AnyCPU - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - 4.0 - - - - - - - - MSBuild:Compile - Designer - - - - - - - - MSBuild:Compile - Designer - - - App.xaml - Code - - - MainWindow.xaml - Code - - - - - Code - - - True - True - Resources.resx - - - True - Settings.settings - True - - - ResXFileCodeGenerator - Resources.Designer.cs - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - - - - - - - \ No newline at end of file diff --git a/Other/HookTest/MainWindow.xaml b/Other/HookTest/MainWindow.xaml deleted file mode 100644 index 8f374f1ba..000000000 --- a/Other/HookTest/MainWindow.xaml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - -