<DllImport("shell32.dll", CallingConvention:=CallingConvention.Winapi, CharSet:=CharSet.Unicode, EntryPoint:="SHGetLocalizedName", ExactSpelling:=True)> _
Public Function SHGetLocalizedName(ByVal pszPath As String, ByVal pszResModule As StringBuilder, ByRef cch%, <Out()> ByRef pidsRes As Integer) As Integer
End Function
Note: This function usually does NOT work. It does not work for path with trailing \. It does not work for relocated folders (such as D:\Users or D:\Users\Dzonny\Pictures) even when Windows Explorer shows folder names correctly. It works for relocated files. It returns only last component of path.
The pszResModule argument does NOT contain localied version of name. It contains path (with environment variables not expanded) which contains resource which contains the actual localied version of name.
See:
http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1736328 for details