Je suis en train de traduire un formulaire Windows 2.0 compact dans Visual Studio 2005. Pour ce faire, je change la langue du formulaire en allemand (la langue cible) et édite/redimensionner les contrôles sur le formulaire. Cela crée un fichier resources.de.resx contenant les chaînes traduites comme prévu.Impossible de localiser (traduire) un contrôle personnalisé dans .NETCF 2.0
Cependant, il existe un contrôle personnalisé sur le formulaire, qui possède une propriété appelée GroupText, qui doit également être traduite. Toutefois, le concepteur de formulaires refuse d'utiliser les fichiers de ressources pour cette propriété. Chaque fois que je change la propriété dans l'éditeur de propriétés, elle est modifiée pour toutes les langues. J'ai vérifié les fichiers resx - ils ne contiennent pas la propriété GroupText, et le code généré par Designer n'utilise pas non plus le fichier resx pour cette propriété.
Existe-t-il un moyen d'activer également la localisation prise en charge par Visual Studio prise en charge par Visual Studio pour les contrôles personnalisés?
Edit:
En complément de la réponse acceptée, voici ce que vous devez faire pour obtenir resx pour les contrôles personnalisés au travail.
Chaque propriété qui doit entrer dans un fichier RESX doit avoir l'attribut Localizable
défini sur true
. Maintenant, les FC ne prennent pas en charge cet attribut via la syntaxe de parenthèses habituelle. Vous ne pouvez pas écrire [Localizable=true]
dans le fichier source cs. Vous devez créer un fichier séparé appelé DesignTimeAttributes.xmta
dans le projet et ajouter ce qui suit:
<?xml version="1.0" encoding="utf-16"?>
<Classes xmlns="http://schemas.microsoft.com/VisualStudio/2004/03/SmartDevices/XMTA.xsd">
<Class Name="MyControl">
<Property Name="MyProperty">
<Localizable>true</Localizable>
</Property>
</Class>
Une fois que vous reconstruisez l'assemblage contenant le contrôle, Visual Studio mettra les valeurs de propriété dans resx.
L'indice avec l'attribut Localizable-aidait suffisamment pour que cela fonctionne. Merci! – TheFogger