This is a migrated thread and some comments may be shown as answers.

[Solved] Here is pt-PT localization for MVC Grid

5 Answers 143 Views
Grid
This is a migrated thread and some comments may be shown as answers.
This question is locked. New answers and comments are not allowed.
Joao Cardoso
Top achievements
Rank 1
Joao Cardoso asked on 09 Jun 2010, 06:44 PM
Hi folks.

I decided to share my RESX file with localization for the Portuguese language.

Because I cant add the RESX file, I'm inclusing the code inline.

Steps:
1) Create a new file with notepad and name it: GridLocalization.pt-PT.resx
2) Create a new file with notepad and name ii: GridLocalization.pt-PT.designer.vb or GridLocalization.pt-PT.designer.cs
3) Copy and past the code below to GridLocalization.pt-PT.resx
4) Place both files in a folder named App_GlobalResources (on the website root) of you MVC project
5) Include the files in the project
6) On the file properties, in VS, if not already, set the properties:
        Build Action = Content
        Copy to Output Directory = Do not copy
        Custom Tool = GlobalResourceProxyGenerator

if you find any typos please let me know.

Here goes the contents that must go into the RESX file:

<?xml version="1.0" encoding="utf-8"?>  
<root> 
    
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">  
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> 
    <xsd:element name="root" msdata:IsDataSet="true">  
      <xsd:complexType> 
        <xsd:choice maxOccurs="unbounded">  
          <xsd:element name="metadata">  
            <xsd:complexType> 
              <xsd:sequence> 
                <xsd:element name="value" type="xsd:string" minOccurs="0" /> 
              </xsd:sequence> 
              <xsd:attribute name="name" use="required" type="xsd:string" /> 
              <xsd:attribute name="type" type="xsd:string" /> 
              <xsd:attribute name="mimetype" type="xsd:string" /> 
              <xsd:attribute ref="xml:space" /> 
            </xsd:complexType> 
          </xsd:element> 
          <xsd:element name="assembly">  
            <xsd:complexType> 
              <xsd:attribute name="alias" type="xsd:string" /> 
              <xsd:attribute name="name" type="xsd:string" /> 
            </xsd:complexType> 
          </xsd:element> 
          <xsd:element name="data">  
            <xsd:complexType> 
              <xsd:sequence> 
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> 
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> 
              </xsd:sequence> 
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> 
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> 
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> 
              <xsd:attribute ref="xml:space" /> 
            </xsd:complexType> 
          </xsd:element> 
          <xsd:element name="resheader">  
            <xsd:complexType> 
              <xsd:sequence> 
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> 
              </xsd:sequence> 
              <xsd:attribute name="name" type="xsd:string" use="required" /> 
            </xsd:complexType> 
          </xsd:element> 
        </xsd:choice> 
      </xsd:complexType> 
    </xsd:element> 
  </xsd:schema> 
  <resheader name="resmimetype">  
    <value>text/microsoft-resx</value> 
  </resheader> 
  <resheader name="version">  
    <value>2.0</value> 
  </resheader> 
  <resheader name="reader">  
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutralPublicKeyToken=b77a5c561934e089</value>  
  </resheader> 
  <resheader name="writer">  
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutralPublicKeyToken=b77a5c561934e089</value>  
  </resheader> 
  <data name="AddNew" xml:space="preserve">  
    <value>Novo</value> 
  </data> 
  <data name="Cancel" xml:space="preserve">  
    <value>Cancelar</value> 
  </data> 
  <data name="Delete" xml:space="preserve">  
    <value>Apagar</value> 
  </data> 
  <data name="DeleteConfirmation" xml:space="preserve">  
    <value>Pretende remover o registo?</value> 
  </data> 
  <data name="DisplayingItems" xml:space="preserve">  
    <value>Registos {0} - {1} de {2}</value> 
  </data> 
  <data name="Edit" xml:space="preserve">  
    <value>Editar</value> 
  </data> 
  <data name="Filter" xml:space="preserve">  
    <value>Filtro</value> 
  </data> 
  <data name="FilterAnd" xml:space="preserve">  
    <value>e</value> 
  </data> 
  <data name="FilterClear" xml:space="preserve">  
    <value>Limpar</value> 
  </data> 
  <data name="FilterDateEq" xml:space="preserve">  
    <value>Igual</value> 
  </data> 
  <data name="FilterDateGe" xml:space="preserve">  
    <value>Maior ou igual que</value> 
  </data> 
  <data name="FilterDateGt" xml:space="preserve">  
    <value>Maior que</value> 
  </data> 
  <data name="FilterDateLe" xml:space="preserve">  
    <value>Menor ou igual que</value> 
  </data> 
  <data name="FilterDateLt" xml:space="preserve">  
    <value>Menor que</value> 
  </data> 
  <data name="FilterDateNe" xml:space="preserve">  
    <value>Diferente</value> 
  </data> 
  <data name="FilterEnumEq" xml:space="preserve">  
    <value>Igual</value> 
  </data> 
  <data name="FilterEnumNe" xml:space="preserve">  
    <value>Diferente</value> 
  </data> 
  <data name="FilterNumberEq" xml:space="preserve">  
    <value>Igual</value> 
  </data> 
  <data name="FilterNumberGe" xml:space="preserve">  
    <value>Maior ou igual que</value> 
  </data> 
  <data name="FilterNumberGt" xml:space="preserve">  
    <value>Maior que</value> 
  </data> 
  <data name="FilterNumberLe" xml:space="preserve">  
    <value>Menor ou igual que</value> 
  </data> 
  <data name="FilterNumberLt" xml:space="preserve">  
    <value>Menor que</value> 
  </data> 
  <data name="FilterNumberNe" xml:space="preserve">  
    <value>Diferente</value> 
  </data> 
  <data name="FilterSelectValue" xml:space="preserve">  
    <value>-Seleccione um item-</value> 
  </data> 
  <data name="FilterShowRows" xml:space="preserve">  
    <value>Motrar as linhas com o valor</value> 
  </data> 
  <data name="FilterStringEndsWith" xml:space="preserve">  
    <value>A acabar em</value> 
  </data> 
  <data name="FilterStringEq" xml:space="preserve">  
    <value>Igual</value> 
  </data> 
  <data name="FilterStringNe" xml:space="preserve">  
    <value>Diferente</value> 
  </data> 
  <data name="FilterStringStartsWith" xml:space="preserve">  
    <value>A começar com</value> 
  </data> 
  <data name="FilterStringSubstringOf" xml:space="preserve">  
    <value>Contém</value> 
  </data> 
  <data name="GroupHint" xml:space="preserve">  
    <value>Arraste uma coluna para este espaço para agrupar pelo valor da mesma...</value> 
  </data> 
  <data name="Insert" xml:space="preserve">  
    <value>Inserir</value> 
  </data> 
  <data name="Page" xml:space="preserve">  
    <value>Página</value> 
  </data> 
  <data name="PageOf" xml:space="preserve">  
    <value>de {0}</value> 
  </data> 
  <data name="Select" xml:space="preserve">  
    <value>Seleccionar</value> 
  </data> 
  <data name="Update" xml:space="preserve">  
    <value>Actualizar</value> 
  </data> 
</root> 



Cheers

5 Answers, 1 is accepted

Sort by
0
Atanas Korchev
Telerik team
answered on 10 Jun 2010, 07:50 AM
Hello Joao Cardoso,

Thank you very much for submitting a localization file.

We already have a pt-BR localization file which I am attaching. Is it any different than the pt-PT one? Since we don't have a Portuguese speaking person at our disposal it is hard to decide. If they are different we will include both localization files in the release!

Regards,
Atanas Korchev
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Joao Cardoso
Top achievements
Rank 1
answered on 11 Jun 2010, 10:29 AM
Hi Atanas,

There is a reason why Microsoft does 2 localizations of Windows. pt-PT and pt-BR. There are small differences in the way Portugal and Brazil uses the language. There should not be any because there is even an agreement bewteen the 2 countries to converge to the same rules, but at the end of the day pt-PT tends to be a bit more formal than pt-BR, and due to cultural reasons you probably wont see Portugese adopt pt-BR as localization unless they have to.

Also there are some differences in culture when it comes to currency and other stuff.

So, while the language is the same, there are enough diffrences, in my opinion, to justify a seperate file. Or at least you can copy the one you have and name it pt-PT.

I took the liberty to take yours as an example and made some tweaks. Feel free to use it or to send it to review.

BTW, your file has a bug :) "FilterNumberNe"  its not translated.

<?xml version="1.0" encoding="utf-8"?>  
<root> 
    
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">  
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> 
    <xsd:element name="root" msdata:IsDataSet="true">  
      <xsd:complexType> 
        <xsd:choice maxOccurs="unbounded">  
          <xsd:element name="metadata">  
            <xsd:complexType> 
              <xsd:sequence> 
                <xsd:element name="value" type="xsd:string" minOccurs="0" /> 
              </xsd:sequence> 
              <xsd:attribute name="name" use="required" type="xsd:string" /> 
              <xsd:attribute name="type" type="xsd:string" /> 
              <xsd:attribute name="mimetype" type="xsd:string" /> 
              <xsd:attribute ref="xml:space" /> 
            </xsd:complexType> 
          </xsd:element> 
          <xsd:element name="assembly">  
            <xsd:complexType> 
              <xsd:attribute name="alias" type="xsd:string" /> 
              <xsd:attribute name="name" type="xsd:string" /> 
            </xsd:complexType> 
          </xsd:element> 
          <xsd:element name="data">  
            <xsd:complexType> 
              <xsd:sequence> 
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> 
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> 
              </xsd:sequence> 
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> 
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> 
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> 
              <xsd:attribute ref="xml:space" /> 
            </xsd:complexType> 
          </xsd:element> 
          <xsd:element name="resheader">  
            <xsd:complexType> 
              <xsd:sequence> 
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> 
              </xsd:sequence> 
              <xsd:attribute name="name" type="xsd:string" use="required" /> 
            </xsd:complexType> 
          </xsd:element> 
        </xsd:choice> 
      </xsd:complexType> 
    </xsd:element> 
  </xsd:schema> 
  <resheader name="resmimetype">  
    <value>text/microsoft-resx</value> 
  </resheader> 
  <resheader name="version">  
    <value>2.0</value> 
  </resheader> 
  <resheader name="reader">  
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutralPublicKeyToken=b77a5c561934e089</value>  
  </resheader> 
  <resheader name="writer">  
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutralPublicKeyToken=b77a5c561934e089</value>  
  </resheader> 
  <data name="AddNew" xml:space="preserve">  
    <value>Adicionar novo registo</value> 
  </data> 
  <data name="Delete" xml:space="preserve">  
    <value>Apagar</value> 
  </data> 
  <data name="Cancel" xml:space="preserve">  
    <value>Cancelar</value> 
  </data> 
  <data name="Update" xml:space="preserve">  
    <value>Gravar</value> 
  </data> 
  <data name="Insert" xml:space="preserve">  
    <value>Inserir</value> 
  </data> 
  <data name="Edit" xml:space="preserve">  
    <value>Editar</value> 
  </data> 
  <data name="Select" xml:space="preserve">  
    <value>Seleccionar</value> 
  </data> 
  <data name="Page" xml:space="preserve">  
    <value>Página </value> 
  </data> 
  <data name="DisplayingItems" xml:space="preserve">  
    <value>Registos {0} - {1} de {2}</value> 
  </data> 
  <data name="PageOf" xml:space="preserve">  
    <value>de {0}</value> 
  </data> 
  <data name="Filter" xml:space="preserve">  
    <value>Filtro</value> 
  </data> 
  <data name="FilterAnd" xml:space="preserve">  
    <value>E</value> 
  </data> 
  <data name="FilterClear" xml:space="preserve">  
    <value>Limpar Filtro</value> 
  </data> 
  <data name="FilterDateEq" xml:space="preserve">  
    <value>É igual a</value> 
  </data> 
  <data name="FilterDateGe" xml:space="preserve">  
    <value>É maior ou igual que</value> 
  </data> 
  <data name="FilterDateGt" xml:space="preserve">  
    <value>É maior que</value> 
  </data> 
  <data name="FilterDateLe" xml:space="preserve">  
    <value>É menor ou igual que</value> 
  </data> 
  <data name="FilterDateLt" xml:space="preserve">  
    <value>É menor que</value> 
  </data> 
  <data name="FilterDateNe" xml:space="preserve">  
    <value>Diferente de</value> 
  </data> 
  <data name="FilterNumberEq" xml:space="preserve">  
    <value>É igual a</value> 
  </data> 
  <data name="FilterNumberGe" xml:space="preserve">  
    <value>É maior ou igual a</value> 
  </data> 
  <data name="FilterNumberGt" xml:space="preserve">  
    <value>É maior que</value> 
  </data> 
  <data name="FilterNumberLe" xml:space="preserve">  
    <value>É menor ou igual a</value> 
  </data> 
  <data name="FilterNumberLt" xml:space="preserve">  
    <value>É menor que</value> 
  </data> 
  <data name="FilterNumberNe" xml:space="preserve">  
    <value>Diferente de</value> 
  </data> 
  <data name="FilterShowRows" xml:space="preserve">  
    <value>Exibir linhas com valores que</value> 
  </data> 
  <data name="FilterStringEndsWith" xml:space="preserve">  
    <value>Termina com</value> 
  </data> 
  <data name="FilterStringEq" xml:space="preserve">  
    <value>É igual a</value> 
  </data> 
  <data name="FilterStringNe" xml:space="preserve">  
    <value>Diferente de</value> 
  </data> 
  <data name="FilterStringStartsWith" xml:space="preserve">  
    <value>Começa com</value> 
  </data> 
  <data name="FilterStringSubstringOf" xml:space="preserve">  
    <value>Contem</value> 
  </data> 
  <data name="GroupHint" xml:space="preserve">  
    <value>Arraste para aqui uma ou mais colunas para criar agrupamentos</value> 
  </data> 
  <data name="FilterEnumEq" xml:space="preserve">  
    <value>É igual a</value> 
  </data> 
  <data name="FilterEnumNe" xml:space="preserve">  
    <value>Diferente de</value> 
  </data> 
  <data name="DeleteConfirmation" xml:space="preserve">  
    <value>Você tem certeza que pretende apagar este registro?</value> 
  </data> 
  <data name="FilterBoolIsFalse" xml:space="preserve">  
    <value>É falso</value> 
  </data> 
  <data name="FilterBoolIsTrue" xml:space="preserve">  
    <value>É verdadeiro</value> 
  </data> 
</root> 
0
Atanas Korchev
Telerik team
answered on 11 Jun 2010, 10:37 AM
Hello Joao Cardoso,

Thank you for the clarification! Having a second opinion of a native speaker is very important. We will include the pt-PT localization as well as include the suggested change to pt-BR. Thanks again!

I have updated your Telerik points as a token of gratitude.

Regards,
Atanas Korchev
the Telerik team

Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
0
Gisela
Top achievements
Rank 1
answered on 14 Jun 2010, 12:36 PM
Hello there!,

Is es-Es available for this controls?

Thanks for all,

Gisela

Re-Post: Anyway I have just posted my own spanish localization for everybody.
Hope this helps :)

¡Cheers!


0
Joao Cardoso
Top achievements
Rank 1
answered on 14 Jun 2010, 02:55 PM

Thats cool Gisela :)

Cheers

Tags
Grid
Asked by
Joao Cardoso
Top achievements
Rank 1
Answers by
Atanas Korchev
Telerik team
Joao Cardoso
Top achievements
Rank 1
Gisela
Top achievements
Rank 1
Share this question
or