App lokalisierbar machenMake your app localizable

Eine lokalisierte APP ist eine, die für andere Märkte, Sprachen oder Regionen lokalisiert werden kann, ohne dass funktionale Mängel in der APP nicht abgedeckt werden.A localized app is one that can be localized for other markets, languages, or regions without uncovering any functional defects in the app. Die wichtigste Eigenschaft einer lokalisierbaren App besteht darin, dass der ausführbare Code ordnungsgemäß von den lokalisierbaren Ressourcen getrennt wurde.The most essential property of a localizable app is that its executable code has been cleanly separated from its localizable resources. Sie sollten also festlegen, welche Ressourcen der APP lokalisiert werden müssen.So, you should determine which of your app's resources need to be localized. Fragen Sie sich, was geändert werden muss, wenn Ihre APP für andere Märkte lokalisiert werden muss.Ask yourself what needs to change if your app is to be localized for other markets.

Außerdem wird empfohlen, sich mit den Richtlinien für die Globalisierungvertraut zu machen.We also recommend that you become familiar with the guidelines for globalization.

Einfügen von Zeichen folgen in Ressourcen Dateien (. resw)Put your strings into Resources Files (.resw)

Zeichen folgen Literale in Ihrem imperativen Code, XAML-Markup oder im App-Paket Manifest dürfen nicht hart codiert werden.Don't hard-code string literals in your imperative code, XAML markup, nor in your app package manifest. Platzieren Sie Ihre Zeichen folgen stattdessen in Ressourcen Dateien (. resw), damit Sie unabhängig von den erstellten Binärdateien Ihrer APP an verschiedene lokale Märkte angepasst werden können.Instead, put your strings into Resources Files (.resw) so that they can be adapted to different local markets independently of your app's built binaries. Weitere Informationen finden Sie unter Lokalisieren von Zeichen folgen in der Benutzeroberfläche und im App-Paket Manifest.For details, see Localize strings in your UI and app package manifest.

In diesem Thema wird außerdem gezeigt, wie Sie Ihrer Standard Ressourcen Datei (. resw) Kommentare hinzufügen.That topic also shows you how to add comments to your default Resources File (.resw). Wenn Sie z. b. eine informelle Stimme oder einen Farbton annehmen, stellen Sie sicher, dass Sie dies in Kommentaren erläutern.For example, if you are adopting an informal voice or tone then be sure to explain that in comments. Um die Kosten zu minimieren, stellen Sie außerdem sicher, dass nur die Zeichen folgen, die übersetzt werden müssenAlso, to minimize expense, confirm that only the strings that need to be translated are provided to translators.

Legen Sie die Standardsprache für Ihre APP entsprechend in der Quelldatei für das App-Paket Manifest (die Package.appxmanifest Datei) fest.Set the default language for your app appropriately in your app package manifest source file (the Package.appxmanifest file). Die Standardsprache bestimmt die Sprache, die verwendet wird, wenn die bevorzugten Sprachen des Benutzers keiner der unterstützten Sprachen Ihrer App entsprechen.The default language determines the language that's used when the user's preferred languages don't match any of the supported languages of your app. Markieren Sie alle Ihre Ressourcen mit ihrer Sprache (z. b. auch die in Ihrer Standardsprache \Assets\en-us\Logo.png ), damit das System feststellen kann, in welcher Sprache sich die Ressource befindet und wie Sie in bestimmten Situationen verwendet wird.Mark all of your resources with their language (even the ones in your default language, for example \Assets\en-us\Logo.png) so that the system can tell which language the resource is in and how it's used in particular situations.

Anpassen von Images und anderen Datei Ressourcen für die SpracheTailor your images and other file resources for language

Im Idealfall können Sie Ihre Bilder globalisieren — , d. h., Sie werden Kultur unabhängig machen.Ideally, you will be able to globalize your images—that is, make them culture-independent. Für alle Images und andere Datei Ressourcen, bei denen dies nicht möglich ist, erstellen Sie beliebig viele verschiedene Varianten, die Sie benötigen, und fügen Sie die entsprechenden sprach Qualifizierer in Ihre Datei-oder Ordnernamen ein.For any images and other file resources where that's not possible, create as many different variants of them as you need and put the appropriate language qualifiers into their file or folder names. Weitere Informationen finden Sie unter Anpassen von Ressourcen für Sprache, Skalierung, hohen Kontrast und andere Qualifizierer.To learn more, see Tailor your resources for language, scale, high contrast, and other qualifiers.

Um die Lokalisierungskosten zu minimieren, sollten Sie keine Text-und Kultur abhängigen Materialien in Bilder einfügen, damit Sie beginnen können.To minimize localization costs, don't put text nor culturally-sensitive material into images to begin with. Ein Image, das in ihrer eigenen Kultur geeignet ist, kann in anderen Kulturen anstößig oder falsch interpretiert werden.An image that's appropriate in your own culture might be offensive or misinterpreted in other cultures. Vermeiden Sie die Verwendung kulturspezifischer Bilder, wie z. b. Postfächer, die auf der ganzen Welt nicht häufig vorkommen.Avoid the use of culture-specific images such as mailboxes, which are not common around the world. Vermeiden Sie religiöse Symbole, Tiere, politische oder geschlechtsspezifische Bilder.Avoid religious symbols, animals, political, or gender-specific images. Die Anzeige von "Fleisch", "Textteil" oder "Handgesten" kann auch ein sensitiv Thema sein.The display of flesh, body parts, or hand gestures can also be a sensitive topic. Wenn Sie nicht alle diese vermeiden können, müssen Ihre Bilder durchdacht lokalisiert werden.If you can't avoid all of these, then your images will need to be thoughtfully localized. Wenn die lokalisierte Sprache in eine andere Leserichtung als die ursprüngliche Sprache verläuft, unterstützen symmetrische Bilder und Effekte die Spiegelung besser.If you're localizing to a language with a different reading direction than your own, using symmetrical images and effects make it easier to support mirroring.

Vermeiden Sie außerdem die Verwendung von Text in Bildern und Sprache in Audiodateien und Videodateien.Also avoid the use of text in images, and speech in audio/video files.

Die Verwendung der Farbe in Ihrer APPThe use of color in your app

Beachten Sie beim Verwenden von Color.Be mindful when using color. Die Verwendung von Farbkombinationen, die mit nationalen Flags oder politischen Bewegungen verknüpft sind, kann problematisch sein.Using color combinations that are associated with national flags or political movements can be problematic. Die Farbauswahl muss möglicherweise von Kulturexperten überprüft werden.Color choices may need to be reviewed by culture experts. Es gibt auch Probleme mit der Barrierefreiheit bei der Verwendung von Color.There is also an accessibility issues with using color. Wenn Sie Farbe verwenden, um Bedeutungen zu vermitteln, sollten Sie dieselben Informationen auch auf andere Weise übermitteln, z. b. Größe, Form oder Bezeichnung.If you use color to convey meaning then you should also convey that same information by some other means, such as size, shape, or a label.

Berücksichtigen Sie die Umgestaltung der Zeichen folgen in Sätze.Consider factoring your strings into sentences

Verwenden Sie entsprechend groß Zeichenfolgen.Use appropriately-sized strings. Kurze Zeichen folgen sind einfacher zu übersetzen, und Sie ermöglichen die Übersetzung der Übersetzung (wodurch Kosten gespart werden, da dieselbe Zeichenfolge mehrmals nicht an den Lokalisierer gesendet wird).Short strings are easier to translate, and they enable translation recycling (which saves expense because the same string isn't sent to the localizer more than once). Außerdem werden extrem lange Zeichen folgen möglicherweise nicht von Lokalisierungstools unterstützt.Also, extremely long strings might not be supported by localization tools.

Aber im Spannungsverhältnis zu dieser Richtlinie besteht das Risiko, eine Zeichenfolge in verschiedenen Kontexten wiederzuverwenden.But in tension with this guideline is the risk of re-using a string in different contexts. Auch einfache Wörter wie " on " und " Off " können je nach Kontext anders übersetzt werden.Even simple words such as "on" and "off" might be translated differently, depending on the context. Im Englischen können sich „on“ und „off“ auf das Ein- und Ausschalten von Flugzeugmodus, Bluetooth oder Geräten beziehen.In the English language, "on" and "off" can be used for a toggle for Flight Mode, Bluetooth, and devices. Im Italienischen hängt die Übersetzung jedoch davon ab, was ein- und ausgeschaltet wird.But in Italian, the translation depends on the context of what is being turned on and off. Sie müssten für jeden Kontext ein Zeichenfolgenpaar erstellen.You would need to create a pair of strings for each context. Sie können Zeichenfolgen im gleichen Kontext mehrmals verwenden.You can reuse strings if the two contexts are the same. Sie können z. B. die Zeichenfolge „Volume“ sowohl für Soundeffekte als auch für die Lautstärke von Musik verwenden, da sich beides auf die Intensität von Tönen bezieht.For instance, you can reuse the string "Volume" for both sound effect volume and music volume because both refer to intensity of sound. Verwenden Sie dieselbe Zeichenfolge jedoch nicht für Festplattenvolumes, da sich hier Kontext und Bedeutung unterscheiden und das Wort anders übersetzt wird.You should not reuse that same string when referring to a hard disk volume because the context and meaning are different, and the word might be translated differently.

Zudem können Zeichenfolgen wie „text“ oder „fas“ in der englischen Sprache als Verb und als Substantiv verwendet werden, was die Übersetzung erschweren kann.Additionally, a string like "text" or "fax" could be used as both a verb and a noun in the English language, which can confuse the translation process. Erstellen Sie deshalb jeweils eine getrennte Zeichenfolge für das Verb und das Substantiv.Instead, create a separate string for both the verb and noun format. Falls unklar ist, ob es sich um den gleichen Kontext handelt, gehen Sie auf Nummer sicher, und verwenden Sie getrennte Zeichenfolgen.When you're not sure whether the contexts are the same, err on the safe side and use a distinct string.

Kurz gesagt: gestalten Sie Ihre Zeichen folgen in Teile, die in allen Kontexten funktionieren.In short, factor your strings into pieces that work in all contexts. Es gibt Fälle, in denen eine Zeichenfolge einen vollständigen Satz aufweisen muss.There will be cases where a string will need to be an entire sentence.

Beachten Sie die folgende Zeichenfolge: "die {0} konnte nicht synchronisiert werden."Consider the following string: "The {0} could not be synchronized."

Eine Vielzahl von Wörtern könnte ersetzen {0} , z. b. "Termin", "Aufgabe" oder "Dokument".A variety of words could replace {0}, such as "appointment", "task", or "document". Obwohl dieses Beispiel für die englische Sprache funktioniert, funktioniert es nicht in allen Fällen für den entsprechenden Satz in, z. b. Deutsch.While this example works for the English language, it will not work in all cases for the corresponding sentence in, for example, German. Sie sehen, dass in den folgenden deutschen Sätzen einige der Wörter in der Vorlagenzeichenfolge („Der“, „Die“, „Das“) zum parametrisierten Wort passen müssen:Notice that in the following German sentences, some of the words in the template string ("Der", "Die", "Das") need to match the parameterized word:

EnglischEnglish DeutschGerman
The appointment could not be synchronized.The appointment could not be synchronized. Der Termin konnte nicht synchronisiert werden.Der Termin konnte nicht synchronisiert werden.
The task could not be synchronized.The task could not be synchronized. Die Aufgabe konnte nicht synchronisiert werden.Die Aufgabe konnte nicht synchronisiert werden.
The document could not be synchronized.The document could not be synchronized. Das Dokument konnte nicht synchronisiert werden.Das Dokument konnte nicht synchronisiert werden.

Ein weiteres Beispiel ist der Satz "Erinnerung an mich in {0} Minute (n)".As another example, consider the sentence "Remind me in {0} minute(s)." Die Verwendung von "Minute (n)" funktioniert in englischer Sprache, aber in anderen Sprachen können andere Begriffe verwendet werden.Using "minute(s)" works for the English language, but other languages might use different terms. Auf Polnisch heißt es je nach Kontext „minuta“, „minuty“ oder „minut“.For example, the Polish language uses "minuta", "minuty", or "minut" depending on the context.

Lokalisieren Sie den gesamten Satz, statt nur ein einzelnes Wort, um das Problem zu beheben.To solve this problem, localize the entire sentence, rather than a single word. Auf den ersten Blick wirkt diese Lösung vielleicht nicht ganz so elegant und sieht nach überflüssiger Arbeit aus, die Gründe sprechen jedoch für sich:Doing this may seem like extra work and an inelegant solution, but it is the best solution because:

  • Für alle Sprachen wird eine entsprechende Meldung angezeigt.A grammatically correct message will be displayed for all languages.
  • Der Konvertierer muss nicht gefragt werden, durch welche Zeichen folgen die Zeichen folgen ersetzt werden.Your translator will not need to ask about what the strings will be replaced with.
  • Sie müssen keine kostspielige Codefehlerbehebung implementieren, wenn ein solches Problem in der fertigen App auftaucht.You will not need to implement a costly code fix when a problem like this surfaces after your app is completed.

Weitere Überlegungen zu Zeichen folgenOther considerations for strings

Vermeiden Sie in den Zeichen folgen, die Sie in Ihrer Standardsprache erstellen, Umgangs-und-Metaphern.Avoid colloquialisms and metaphors in the strings that you author in your default language. Die Sprache für eine demografische Gruppe, z. b. Kultur und Alter, kann schwer zu verstehen oder zu übersetzen sein, da nur Personen in dieser demografischen Gruppe diese Sprache verwenden.Language that's specific to a demographic group, such as culture and age, can be hard to understand or translate because only people in that demographic group use that language. Ebenso ergeben Metaphern nicht für alle Personen Sinn.Similarly, metaphors might make sense to one person but mean nothing to someone else. Beispielsweise hat "Bache" (weibliches Wildschwein) für Jäger eine besondere, für andere Personen jedoch keine Bedeutung.For example, a "bluebird" means something specific to those who are part of skiing culture, but those who aren’t part of that culture don’t understand the reference.

Verwenden Sie keinen technischen Jargon, Abkürzungen oder Akronyme.Don't use technical jargon, abbreviations, or acronyms. Fachsprache wird von Fachfremden kaum verstanden und ist schwer zu übersetzen.Technical language is less likely to be understood by non-technical audiences or people from other cultures or regions, and it's difficult to translate. Im alltäglichen Sprachgebrauch ist diese Terminologie unüblich.People don't use these kinds of words in everyday conversations. Die technische Sprache wird häufig in Fehlermeldungen angezeigt, um Hardware-und Software Probleme zu identifizieren. Sie sollten jedoch nur dann technische Zeichen folgen haben, Wenn der Benutzer diese Informationsebene benötigt und entweder eine Aktion durchgeführt oder eine beliebige Person finden kann .Technical language often appears in error messages to identify hardware and software issues, but you should strings to be technical only if the user needs that level of information, and can either action it or find someone who can .

Die Verwendung einer informellen Stimme oder eines Klangs in ihren Zeichen folgen ist eine gültige Wahl.Using an informal voice or tone in your strings is a valid choice. Sie können Kommentare in der Standard Ressourcen Datei (. resw) verwenden, um diese Absicht anzugeben.You can use comments in your default Resources File (.resw) to indicate that intention.

Pseudo LokalisierungPseudo-localization

Pseudo Lokalisierung Ihrer APP, um Lokalisier barkeits Probleme zu erkennen.Pseudo-localize your app to uncover any localizability issues. Bei der Pseudo Lokalisierung handelt es sich um eine Art von Lokalisierung und einen Offenlegungs Test.Pseudo-localization is a kind of localization dry-run, or disclosure test. Sie können einen Satz von Ressourcen entwickeln, die nicht wirklich übersetzt werden. Sie sehen nur auf diese Weise.You produce a set of resources that are not really translated; they only look that way. Die Zeichen folgen sind ungefähr 40% länger als in der Standardsprache, und Sie verfügen über Trennzeichen, damit Sie auf einen Blick sehen können, ob Sie auf der Benutzeroberfläche abgeschnitten wurden.Your strings are approximately 40% longer than in the default language, for example, and they have delimiters in them so that you can see at a glance whether they have been truncated in the UI.

Überlegungen zur BereitstellungDeployment Considerations

Wenn Sie eine App installieren, die lokalisierte Sprach Daten enthält, werden Sie möglicherweise feststellen, dass nur die Standardsprache für die app verfügbar ist, auch wenn Sie anfänglich Ressourcen für mehrere Sprachen eingefügt haben.When you install an app that contains localized language data, you might find that only the default language is available for the app even though you initially included resources for multiple languages. Dies liegt daran, dass der Installationsvorgang so optimiert ist, dass nur Sprachressourcen installiert werden, die der aktuellen Sprache und Kultur des Geräts entsprechen.This is because the installation process is optimized to only install language resources that match the current language and culture of the device. Wenn Ihr Gerät für en-US konfiguriert ist, werden daher nur die Sprachressourcen von en-US mit Ihrer APP installiert.Therefore, if your device is configured for en-US, only the en-US language resources are installed with your app.

Hinweis

Es ist nicht möglich, nach der Erstinstallation zusätzliche Sprachunterstützung für Ihre APP zu installieren.It is not possible to install additional language support for your app after the initial installation. Wenn Sie nach der Installation einer APP die Standardsprache ändern, verwendet die APP weiterhin nur die ursprünglichen Sprachressourcen.If you change the default language after installing an app, the app continues to use only the original language resources.

Wenn Sie sicherstellen möchten, dass nach der Installation alle Sprachressourcen verfügbar sind, erstellen Sie eine Konfigurationsdatei für das App-Paket, mit der angegeben wird, dass während der Installation bestimmte Ressourcen erforderlich sind (einschließlich der Sprachressourcen).If you want to ensure all language resources are available after installation, create a configuration file for the app package that specifies that certain resources are required during installation (including language resources). Diese optimierte Installationsfunktion wird automatisch aktiviert, wenn die appxbundle-Datei Ihrer Anwendung während der Paket Erstellung generiert wird.This optimized installation feature is automatically enabled when your application's .appxbundle is generated during packaging. Weitere Informationen finden Sie unter sicherstellen, dass Ressourcen auf einem Gerät installiert sind, unabhängig davon, ob Sie von einem Gerät benötigt werden.For more information, see Ensure that resources are installed on a device regardless of whether a device requires them.

Optional können Sie die. appxbundle-Generierung deaktivieren, wenn Sie Ihre APP packen, um sicherzustellen, dass alle Ressourcen installiert sind (nicht nur eine Teilmenge).Optionally, to ensure all resources are installed (not just a subset), you can disable .appxbundle generation when you package your app. Dies wird jedoch nicht empfohlen, da dadurch die Installationszeit der APP erhöht werden kann.This is not recommended however as it can increase the installation time of your app.

Deaktivieren Sie die automatische Generierung der appxbundle-Datei, indem Sie das Attribut "App-Bündel generieren" auf "nie" festlegen:Disable automatic generation of the .appxbundle by setting the "Generate App Bundle" attribute to “never”:

  1. Klicken Sie in Visual Studio mit der rechten Maustaste auf den Projektnamen.In Visual Studio, right-click the project name
  2. Wählen Sie Store -> App-Pakete erstellen... aus.Select Store -> Create app packages...
  3. Wählen Sie im Dialogfeld Pakete erstellen die Option Ich möchte Pakete zum Hochladen in die Microsoft Store mit einem neuen APP-Namen erstellen aus, und klicken Sie dann auf weiter .In the Create Your Packages dialog, select I want to create packages to upload to the Microsoft Store using a new app name and then click Next .
  4. Wählen Sie im Dialogfeld APP-Namen auswählen /erstellen einen APP-Namen für das Paket aus.In the Select an app name dialog, select/create an app name for your package.
  5. Legen Sie im Dialogfeld Pakete auswählen und konfigurieren die Option App Bundle generieren auf nie fest.In the Select and Configure Packages dialog, set Generate app bundle to Never .

Geopolitisches BewusstseinGeopolitical awareness

Vermeiden Sie politische Beleidigungen in Karten oder bei Verweisen auf Regionen.Avoid political offense in maps or when referring to regions. Zuordnungen können umstrittene regionale oder nationale Grenzen umfassen und sind eine häufige Quelle für politische Beleidigung.Maps might include controversial regional or national boundaries, and they're a frequent source of political offense. Achten Sie darauf, dass die Benutzeroberfläche für die Auswahl von Nationen die Formulierung "Land/Region" verwendet.Be careful that any UI used for selecting a nation refers to it as a "country/region". Wenn Sie ein umstrittenes Gebiet in einer Liste mit der Bezeichnung " Länder " — wie z. b. in einem Adressformular auflisten, — kann dies einige Benutzer beleidigenListing a disputed territory in a list labeled "countries"—such as in an address form—might offend some users.

Sprach-und Regions geänderte EreignisseLanguage- and region-changed events

Abonnieren von Ereignissen, die ausgelöst werden, wenn sich die Sprach-und Regions Einstellungen des Systems ändern.Subscribe to events that are raised when the system's language and region settings change. Führen Sie diese Schritte aus, damit Sie ggf. Ressourcen erneut laden können.Do this so that you can re-load resources, if appropriate. Weitere Informationen finden Sie unter Aktualisieren von Zeichen folgen als Reaktion auf Änderungs Ereignisse für Qualifizierer und Aktualisieren von Bildern als Reaktion auf Änderungs Ereignisse von Qualifiziererwerten.For details, see Updating strings in response to qualifier value change events and Updating images in response to qualifier value change events.

Beim Formatieren von Zeichen folgen die richtige ParameterreihenfolgeEnsure the correct parameter order when formatting strings

Gehen Sie nicht davon aus, dass alle Sprachen Parameter in derselben Reihenfolge Ausdrücken.Don't assume that all languages express parameters in the same order. Nehmen Sie beispielsweise an, dass dieses Format vorliegt.For example, consider this format.

    string.Format("Every {0} {1}", monthName, dayNumber); // For example, "Every April 1".

Die Format Zeichenfolge in diesem Beispiel funktioniert in englischer Sprache (USA).The format string in this example works for English (United States). Dies ist beispielsweise für Deutsch (Deutschland) nicht geeignet, wenn der Tag und der Monat in umgekehrter Reihenfolge angezeigt werden.But it is not appropriate for German (Germany), for example, where the day and month are displayed in the reverse order. Stellen Sie sicher, dass der Übersetzer die Absicht der einzelnen Parameter kennt, damit Sie die Reihenfolge der Format Elemente in der Format Zeichenfolge (z. b {1} {0} . "") entsprechend der Zielsprache umkehren können.Ensure that the translator knows the intent of each of the parameters so that they can reverse the order of the format items in the format string (for example, "{1} {0}") as appropriate for the target language.

Nicht über lokalisierenDon’t over-localize

Nur in natürlicher Sprache an Übersetzer senden weder Programmiersprache noch Markup.Only submit natural language to translators; not programming language nor markup. Ein <link> Tag ist keine natürliche Sprache.A <link> tag is not natural language. Beachten Sie diese Beispiele.Consider these examples.

Nicht lokalisierenDon't localize this LokalisierenLocalize this
<Verknüpfen > der Nutzungsbedingungen < /Link><link>terms of use</link> Nutzungsbedingungenterms of use
<Verknüpfen der > Datenschutzrichtlinie < /Link><link>privacy policy</link> Datenschutzrichtlinieprivacy policy

<link>Wenn Sie das-Tag in ihre Ressourcen Datei (. resw) einschließen, wird es wahrscheinlich auch übersetzt.Including the <link> tag in your Resources File (.resw) means that it, too, is likely to be translated. Dies würde das Tag als ungültig erweisen.That would render the tag invalid. Wenn Sie über lange Zeichen folgen verfügen, die Markup einschließen müssen, um den Kontext beizubehalten und die Reihenfolge zu gewährleisten, müssen Sie in den Kommentaren klar werden, was nicht übersetzt werden soll.If you have long strings that need to include markup in order to maintain context and ensure ordering, then make it clear in comments what not to translate.

Auswählen eines geeigneten Übersetzungs AnsatzesChoose an appropriate translation approach

Nachdem die Zeichenfolgen in Ressourcendateien untergliedert wurden, können sie übersetzt werden.After strings are separated into resource files, they can be translated. Der ideale Zeitpunkt für die Übersetzung ist nach Fertigstellung der Zeichenfolgen im Projekt, was in der Regel gegen Projektende der Fall ist.The ideal time to translate strings is after the strings in your project are finalized, which usually happens toward the end of a project. Der Übersetzungsprozess kann auf unterschiedliche Weise gehandhabt werden.You can approach the translation process in number of ways. Die Vorgehensweise hängt vom Umfang der zu übersetzenden Zeichenfolgen ab, von der Anzahl der zu übersetzenden Sprachen und wie die Übersetzung erfolgt (intern oder über externe Auftragnehmer).This may depend on the volume of strings to be translated, the number of languages to be translated, and how the translation will be done (such as in-house versus hiring an external vendor).

Berücksichtigen Sie diese Optionen.Consider these options.

  • Die Ressourcendateien können zum Übersetzen direkt im Projekt geöffnet werden.The resource files can be translated by opening them directly in the project. Diese Vorgehensweise eignet sich gut für ein Projekt mit einer kleinen Anzahl von Zeichen folgen, die in zwei oder drei Sprachen übersetzt werden müssen.This approach works well for a project that has a small volume of strings that need to be translated into two or three languages. Er könnte sich für Szenarien eignen, in denen ein Entwickler mehrere Sprachen spricht und die Übersetzung übernehmen kann.It could be suitable for a scenario where a developer speaks more than one language and is willing to handle the translation process. Diese Vorgehensweise hat den Vorteil, dass Sie schnell ist, keine Tools erfordert und das Risiko von mierungen minimiert.This approach benefits from being quick, requires no tools, and minimizes the risk of mistranslations. Es ist jedoch nicht skalierbar.But it is not scalable. Insbesondere kann es passieren, das die Ressourcen in verschiedenen Sprachen nicht mehr synchron sind, was eine mangelnde Benutzerfreundlichkeit und Verwaltungsprobleme zur Folge haben kann.In particular, the resources in different languages can easily get out of sync, causing bad user experiences and maintenance headaches.
  • Die Zeichen folgen-Ressourcen Dateien befinden sich im XML-oder resjson-Textformat und können daher mithilfe eines beliebigen Text-Editors für die Übersetzung übergeben werden. Die übersetzten Dateien werden dann wieder in das Projekt kopiert.The string resource files are in XML or ResJSON text format, so could be handed off for translation using any text editor. The translated files would then be copied back into the project. Bei diesem Ansatz besteht die Gefahr, dass Übersetzer versehentlich die XML-Tags bearbeiten. Andererseits besteht die Möglichkeit, Übersetzungen außerhalb des Microsoft Visual Studio-Projekts durchzuführen.This approach carries a risk of translators accidentally editing the XML tags, but it lets translation work take place outside of the Microsoft Visual Studio project. Dieser Ansatz eignet sich gut für Projekte, die nur in wenige Sprachen übersetzt werden.This approach could work well for projects that need to be translated into a small number of languages. Das XLIFF-Format ist ein XML-Format, das speziell für die Lokalisierung vorgesehen ist. Es sollte zudem von einigen Lokalisierungsanbietern oder -tools unterstützt werden.The XLIFF format is an XML format specifically designed for use in localization, and should be well supported by some localization vendors or localization tools. Sie können mit dem Multilingual App Toolkit XLIFF-Dateien aus anderen Ressourcendateien wie „.resw“ oder „.resjson“ generieren.You can use the Multilingual App Toolkit to generate XLIFF files from other resource files, such as .resw or .resjson.

Hinweis

Möglicherweise ist auch eine Lokalisierung für andere Ressourcen erforderlich, einschließlich Bildern und Audiodateien.Localization might also be necessary for other assets, including images and audio files.

Beachten Sie auch Folgendes:You should also consider the following:

  • Lokalisierungstools Es stehen eine Reihe von Lokalisierungstools zum Auswerten von Ressourcen Dateien zur Verfügung, sodass nur die übersetzbaren Zeichen folgen von Konvertierungsprogrammen bearbeitet werden können.Localization tools A number of localization tools are available for parsing resource files and allowing only the translatable strings to be edited by translators. Das Risiko, dass ein Übersetzer versehentlich XML-Tags bearbeitet, ist somit geringer.This approach reduces the risk of a translator accidentally editing the XML tags. Der Nachteil ist aber, dass neue Tools und Prozesse in den Lokalisierungsprozess eingebunden werden müssen.But it has the drawback of introducing a new tool and process to the localization process. Ein Lokalisierungs Tool eignet sich gut für Projekte mit einer großen Anzahl von Zeichen folgen, jedoch mit einer kleinen Anzahl von Sprachen.A localization tool is good for projects with a large volume of strings but a small number of languages. Weitere Informationen finden Sie unter Verwenden des Multilingual App Toolkit.To learn more, see How to use the Multilingual App Toolkit.
  • Lokalisierungsanbieter Ziehen Sie die Verwendung eines Lokalisierungs Anbieters in Erwägung, wenn Ihre Anwendung umfangreiche Zeichen folgen enthält, die in eine große Anzahl von Sprachen übersetzt werden müssen.Localization vendors Consider using a localization vendor if your application contains extensive strings that need to be translated into a large number of languages. Ein Lokalisierungsanbieter kann Sie hinsichtlich der Tools und Prozesse beraten sowie die Ressourcendateien übersetzen.A localization vendor can give advice about tools and processes, as well as translating your resource files. Diese Lösung ist ideal, stellt allerdings auch die teuerste Option dar und kann die Bearbeitungszeit für den übersetzten Inhalt verlängern.This is an ideal solution, but is also the most costly option, and may increase the turnaround time for your translated content.

Zugriffsschlüssel und Bezeichnungen konsistent haltenKeep access keys and labels consistent

Die „Synchronisierung“ der für die Barrierefreiheit verwendeten Zugriffstasten mit der Anzeige der lokalisierten Zugriffstasten stellt eine besondere Herausforderung dar, da beide Zeichenfolgenressourcen in getrennten Abschnitten kategorisiert sind.It is a challenge to "synchronize" the access keys used in accessibility with the display of the localized access keys, because the two string resources are categorized in two separate sections. Stellen Sie für die Bezeichnungszeichenfolge unbedingt Kommentare bereit wie: Make sure that the emphasized shortcut key is synchronized with the access key.Be sure to provide comments for the label string such as: Make sure that the emphasized shortcut key is synchronized with the access key.

Unterstützung von Furigana für japanische Zeichen folgen, die sortiert werden könnenSupport furigana for Japanese strings that can be sorted

Japanische Kanji-Zeichen verfügen über mehrere Lesevorgänge (Aussprache), je nachdem, in welchem Wort Sie verwendet werden.Japanese kanji characters have the property of having more than one reading (pronunciation) depending on the word in which they are used. Bei der Sortierung japanisch bezeichneter Objekte (wie Anwendungsnamen, Dateien, Lieder usw.) führt das zu Problemen.This leads to problems when you try to sort Japanese named objects, such as application names, files, songs, and so on. Japanische Kanji haben in der Vergangenheit normalerweise in einer Computer verständlichen Reihenfolge mit dem Namen XJIS sortiert.Japanese kanji have, in the past, usually been sorted in a machine-understandable order called XJIS. Da es sich hierbei um keine phonetische Sortierung handelt, ist sie für menschliche Nutzer leider nicht hilfreich.Unfortunately, because this sorting order is not phonetic it is not very useful for humans.

Furigana umgeht dieses Problem, indem es dem Benutzer oder dem Ersteller ermöglicht, die Phonetik für die von Ihnen verwendeten Zeichen anzugeben.Furigana works around this problem by allowing the user or creator to specify the phonetics for the characters they are using. Wenn Sie das folgende Verfahren zum Hinzufügen von Furigana zum APP-Namen verwenden, können Sie sicherstellen, dass es an der richtigen Stelle in der APP-Liste sortiert ist.If you use the following procedure to add furigana to your app name, you can ensure that it is sorted in the proper location in the app list. Wenn Ihr App-Name Kanji-Zeichen enthält und Furigana nicht bereitgestellt wird, wenn die Benutzeroberflächen Sprache des Benutzers oder die Sortierreihenfolge auf Japanisch festgelegt ist, macht Windows den besten Aufwand, die entsprechende Aussprache zu generieren.If your app name contains kanji characters and furigana is not provided when the user’s UI language or the sort order is set to Japanese, Windows makes its best effort to generate the appropriate pronunciation. Es ist jedoch möglich, App-Namen mit seltener oder spezieller Schreibweise stattdessen nach einer gebräuchlicheren Schreibweise zu sortieren.However, there is a possibility for app names containing rare or unique readings to be sorted under a more common reading instead. Daher besteht die bewährte Vorgehensweise für japanische Anwendungen (insbesondere solche, die Kanji-Zeichen in ihren Namen enthalten) darin, eine Furigana-Version Ihres App-namens als Teil des japanischen Lokalisierungsprozesses bereitzustellen.Therefore, the best practice for Japanese applications (especially those containing kanji characters in their names) is to provide a furigana version of their app name as part of the Japanese localization process.

  1. Fügen Sie „ms-resource:Appname“ als Paketanzeigenamen und Anwendungsanzeigenamen hinzu.Add "ms-resource:Appname" as the Package Display Name and the Application Display Name.

  2. Erstellen Sie unter „strings“ den Ordner „ja-JP“, und fügen Sie zwei Ressourcendateien wie folgt hinzu:Create a ja-JP folder under strings, and add two resource files as follows:

    strings\
        en-us\
        ja-jp\
            Resources.altform-msft-phonetic.resw
            Resources.resw
    
  3. Unter „Resources.resw“ für „ja-JP“ allgemein: Fügen Sie eine Zeichenfolgenressource für den App-Namen „希蒼“ hinzu.In Resources.resw for general ja-JP: Add a string resource for Appname "希蒼"

  4. In Resources. altform-MSFT-Phonetic. resw für japanische Furigana-Ressourcen: Hinzufügen eines Furigana-Werts für appname "のあ"In Resources.altform-msft-phonetic.resw for Japanese furigana resources: Add furigana value for AppName "のあ"

Der Benutzer kann mithilfe des Furigana-Werts "のあ" (Noa) und des phonetischen Werts (mithilfe der GetPhonetic -Funktion aus dem Eingabemethoden-Editor (IME)) "まれあお" (Stute-AO) nach dem APP-Namen "希蒼" suchen.The user can search for the app name "希蒼" using both the furigana value "のあ" (noa), and the phonetic value (using the GetPhonetic function from the Input Method Editor (IME)) "まれあお" (mare-ao).

Die Sortierung folgt dem regionalen Format der Systemsteuerung :Sorting follows the Regional Control Panel format:

  • Unter einem japanischen Benutzer Gebiets SchemaUnder a Japanese user locale,
    • Wenn Furigana aktiviert ist, wird "希蒼" unter "の" sortiert.If furigana is enabled, then "希蒼" is sorted under "の".
    • Wenn Furigana fehlt, wird "希蒼" unter "ま" sortiert.If furigana is missing, then "希蒼" is sorted under "ま".
  • Unter einem nicht japanischen Benutzer Gebiets SchemaUnder a non-Japanese user locale,
    • Wenn Furigana aktiviert ist, wird "希蒼" unter "の" sortiert.If furigana is enabled, then "希蒼" is sorted under "の".
    • Wenn Furigana fehlt, wird "希蒼" unter "漢字" sortiert.If furigana is missing, then "希蒼" is sorted under "漢字".

BeispieleSamples