Aiursoft.Dotlang 8.0.0

dotnet tool install --global Aiursoft.Dotlang --version 8.0.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local Aiursoft.Dotlang --version 8.0.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Aiursoft.Dotlang&version=8.0.0
nuke :add-package Aiursoft.Dotlang --version 8.0.0

ASP.NET Core App Translator

MIT licensed Pipeline stat Test Coverage NuGet version (Aiursoft.DotLang) ManHours

This app helps you generate translated .cshtml files and resources files.

How to install

Run the following command to install this tool:

dotnet tool install --global Aiursoft.Dotlang

How does it works

  • Find all files ends with .cshtml
  • foreach cshtml file, replace all text in tag sround with @Localizer[""]
  • Call bing translate API to translate all those content
  • Save the translated file as Resource file in the Resources folder.

The Core Translator won't override any existing translation nor resources files. If your content was already surrounded with @Localizer[""], we won't touch it.

How to run locally

Build:

dotnet pack

Install:

dotnet tool install --global --add-source ./nupkg dotlang

Run:

# In your project folder
$ dotlang

Uninstall:

dotnet tool uninstall -g dotlang

Before running the translator

Use the following code to register the localizer service:

// In StartUp.cs ConfigureServices method:
services.AddLocalization(options => options.ResourcesPath = "Resources");

services.AddMvc()
    .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
    .AddDataAnnotationsLocalization();

Use the following code to add localizer middleware:

// In StartUp.cs Configure method
var SupportedCultures = new CultureInfo[]
{
    new CultureInfo("en"),
    new CultureInfo("zh")
};
app.UseRequestLocalization(new RequestLocalizationOptions
{
    DefaultRequestCulture = new RequestCulture(defaultLanguage),
    SupportedCultures = SupportedCultures,
    SupportedUICultures = SupportedCultures
});

Use the following code to inject localizer:

@using Microsoft.AspNetCore.Mvc.Localization
@inject IViewLocalizer Localizer
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

Now run this app!

Caution

Running this under your project folder may ruin your project! It may change your cshtml! Do run git commit under your project before running this app.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last updated
8.0.0 1,081 2/19/2024
7.0.11 1,306 2/2/2024
7.0.10 1,405 1/30/2024
7.0.9 1,932 12/12/2023
7.0.8 1,981 12/12/2023
7.0.6 2,217 12/6/2023
7.0.5 2,199 12/6/2023
7.0.4 2,170 12/6/2023
7.0.3 2,036 11/12/2023
7.0.2 2,514 11/2/2023
7.0.1 2,380 11/2/2023
7.0.0 2,772 9/7/2023
6.0.2 2,918 7/20/2023
6.0.1 2,736 5/18/2023