Laden...

Wird in der Serverside Programmierung ein Inhalt mit der richtigen Sprache von .resx abgerufen?

Erstellt von LoaStaub vor 4 Jahren Letzter Beitrag vor 4 Jahren 800 Views
L
LoaStaub Themenstarter:in
2 Beiträge seit 2019
vor 4 Jahren
Wird in der Serverside Programmierung ein Inhalt mit der richtigen Sprache von .resx abgerufen?

Hallo liebe mycsharp Community,

am besten untermahle ich meine Frage mit einem Beispiel:

Ich habe eine Asp.Net Anwendung.
Wenn sich ein User registriert, soll er die Möglichkeit bekommen per Knopfdruck eine Wegbeschreibung per Mail zu erhalten.

Das soll natürlich Multilingual sein.

somit habe ich 3 Resource Files

Way.resx
Way.de.resx
Way.fr.resx

In jedem ist der selbe String enthalten:

WayDescription

Mit dem Inhalt

Way.resx Go right and then turn left.
Way.de.resx Gehe nach rechts und dann nach links.
...

auf meiner Way.cshtml habe ich folgendes:

<label>
@SolutionName.OrdnerName.Way.WayDescription
</label>

Jetzt steht das dann am Ende beim Franzosen eben französisch da,
beim Deutschen deutsch und bei jedem anderen auf Englisch.

Jetzt möchte ich eine Mail verschicken, wenn eine Methode aufgerufen wird.

Hier jetzt meine Frage:
Ist das selbe auch im Serverside Script möglich?

also

var emailBody = Way.WayDescription

Wenn ich jetzt emailBody ausgebe, steht der französische Inhalt beim Franzosen in der Mail etc?
Oder erhalten jetzt alle die englische Version, weil das nicht automatisch ausgewählt wird.
Wie erreiche ich, dass das dann ausgewählt wird?

Ich bedanke mich schonmal für die Antwort

16.807 Beiträge seit 2008
vor 4 Jahren

Anhand der Beschreibung vermute ich, dass Du ASP.NET MVC mit .NET Framework hast und kein ASP.NET Core mit .NET Core, richtig?

Die Lokalisierung von Anwendungen ist ein Standardfall; das ist alles sehr gut dokumentiert.
ASP.NET hält sich hier ganz normal an die im Framework vorgesehenen Funktionalitäten dazu.
Erster Google Treffer: ASP.NET MVC 5 Internationalization

Im Prinzip musst Du die zu versendende Sprache Deiner Logik bekannt machen.
In den meisten Fällen hat dazu der User in seinem Profil die Angabe der primären Sprache; denn die UI Sprache ist i.d.R. nicht primär.

Wo Du jetzt genau die Sprache Deiner Templates pflegst - resx oder DB - ist dabei sekundär.

PS: Fragen mit dem Inhalt "ist es möglich..." können immer mit Ja beantwortet werden.
Was aber ein "Serverside Script" ist - das weiß ich nicht. In der ASP.NET Welt gibt es das zumindest unter diesem Namen nicht.

L
LoaStaub Themenstarter:in
2 Beiträge seit 2019
vor 4 Jahren
Vielen Dank erstmal

Das beantwortet meine Frage.

Ja es handelt sich hier um das normale .Net Framework

Mit Serverside meinte ich jetzt z.b. Code im Controler.
Also etwas, was der User nicht sieht sozusagen.

Die Google Treffer haben mir mehrere Methoden gezeigt, das war auch alles schön und gut, ich wollte nur wissen ob die selbe Methode, wie man das im cshtml macht, auch im Controler selbst funktioniert.

Danke auch für die Tipps bezüglich Frage formulieren. Werde ich mir nächstes mal zu herzen nehmen.

16.807 Beiträge seit 2008
vor 4 Jahren

Die Google Treffer haben mir mehrere Methoden gezeigt, das war auch alles schön und gut, ich wollte nur wissen ob die selbe Methode, wie man das im cshtml macht, auch im Controler selbst funktioniert.

Da kannst Du ganz normal die .NET Doku anschauen bzw. .NET Beispiele verwenden; denn ASP.NET verwendet hier nichts anderes.