first commit
This commit is contained in:
commit
0e03bf873a
|
@ -0,0 +1,67 @@
|
|||
#!/bin/bash
|
||||
# This script translates terminologies used in MS products by sending a SOAP
|
||||
# request to api.terminology.microsoft.com/terminology and extracting the result
|
||||
# MS Language Portal: http://www.microsoft.com/Language/en-US/Search.aspx
|
||||
# WSDL: http://api.terminology.microsoft.com/Terminology.svc?singleWsdl
|
||||
# More info: http://www.microsoft.com/Language/de-de/Microsoft-Terminology-API.aspx
|
||||
#
|
||||
# Copyright (C) 2014 Michael Clemens
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify it under
|
||||
# the terms of the GNU General Public License as published by the Free Software
|
||||
# Foundation, either version 3 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See the GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with this program.
|
||||
# If not, see http://www.gnu.org/licenses/.#
|
||||
#
|
||||
# usage: ./MSTerminology "STRING TO BE TRANSLATED"
|
||||
|
||||
text=$1
|
||||
|
||||
from="en-us"
|
||||
to="de-de"
|
||||
product="Windows"
|
||||
version="7"
|
||||
|
||||
xml="<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ter=\"http://api.terminology.microsoft.com/terminology\"> \
|
||||
<soapenv:Header/> \
|
||||
<soapenv:Body> \
|
||||
<ter:GetTranslations> \
|
||||
<ter:text>${text}</ter:text> \
|
||||
<ter:from>${from}</ter:from> \
|
||||
<ter:to>${to}</ter:to> \
|
||||
<ter:searchOperator>Contains</ter:searchOperator> \
|
||||
<ter:sources> \
|
||||
<ter:TranslationSource>UiStrings</ter:TranslationSource> \
|
||||
</ter:sources> \
|
||||
<ter:unique>false</ter:unique> \
|
||||
<ter:maxTranslations>1</ter:maxTranslations> \
|
||||
<ter:includeDefinitions>true</ter:includeDefinitions> \
|
||||
<ter:products> \
|
||||
<ter:Product> \
|
||||
<ter:Name>${product}</ter:Name> \
|
||||
<ter:Versions> \
|
||||
<ter:Version> \
|
||||
<ter:Name>${version}</ter:Name> \
|
||||
</ter:Version> \
|
||||
</ter:Versions> \
|
||||
</ter:Product> \
|
||||
</ter:products> \
|
||||
</ter:GetTranslations> \
|
||||
</soapenv:Body> \
|
||||
</soapenv:Envelope>"
|
||||
|
||||
output=$(curl -s -H "Content-Type: text/xml; charset=utf-8" -H "SOAPAction: \"http://api.terminology.microsoft.com/terminology/Terminology/GetTranslations\"" -d "${xml}" -X POST http://api.terminology.microsoft.com/Terminology.svc)
|
||||
|
||||
result=$(echo ${output} | sed -e 's,.*<TranslatedText>\([^<]*\)</TranslatedText>.*,\1,g')
|
||||
|
||||
if [[ $result != *s:Envelope* ]]; then
|
||||
echo $result
|
||||
else
|
||||
echo "'"$text"' could not be translated. The server's response was:"
|
||||
echo $output
|
||||
fi
|
Loading…
Reference in New Issue