2013-01-24 19 views
7

हम एक ऐसे अनुप्रयोग को विकसित कर रहे हैं जो विभिन्न प्लेटफॉर्म (विंडोज़, विंडोज आरटी, मैकोज़क्स, आईओएस, एंड्रॉइड) पर चलता है।क्या विभिन्न प्लेटफार्मों पर एक एप्लिकेशन को स्थानांतरित करने का कोई तरीका है

समस्या यह है कि विभिन्न प्लेटफार्मों पर एक आसान तरीके से विभिन्न स्थानीयकरण का प्रबंधन कैसे करें। विभिन्न प्लेटफॉर्म पर भाषा फ़ाइलों में विभिन्न प्रारूप होते हैं (कुछ एक्सएमएल आधारित होते हैं, अन्य सरल कुंजी-मूल्य जोड़े होते हैं और अन्य मैकोज़ पर पूरी तरह पागल प्रारूप होते हैं)

मुझे यकीन है कि हम पहली कंपनी नहीं हैं यह समस्या है, लेकिन मैं एक आसान उपयोग समाधान खोजने में सक्षम नहीं था o एक "डेटासोर्स" रखने की संभावना है जहां विभिन्न भाषाओं में तार एकत्र किए जाते हैं (सबसे अच्छा अनुवादकों के लिए उपयोगकर्ता इंटरफ़ेस होगा) और फिर निर्यात कर सकते हैं यह विभिन्न प्लेटफार्मों के लिए विभिन्न प्रारूपों में है।

क्या किसी के पास इस समस्या का समाधान है?

अभिवादन अलेक्जेंडर

+2

मुझे लगता है कि एपीआई https://l10n.ws पर अपने अनुवाद स्टोर कर सकते हैं और इसे, कि तुम उस सभी प्लेटफार्मों भर में लपेटकर, अपने स्वयं के प्रारूप और अपने खुद के स्थानीयकरण mechanizm बना सकते हैं। आसान नहीं है, लेकिन उपलब्ध – gaussblurinc

उत्तर

2

मैं प्रबंधन के लिए और रनटाइम उपयोग पर GNU Gettext toolchain का उपयोग करना चाहिये या तो

  • क्रम Boost.Locale की तरह पढ़ने के लिए कुछ वैकल्पिक कार्यान्वयन,
  • खुद कार्यान्वयन या
  • उपयोग संदेश कैटलॉग को अपनी पसंद के किसी अन्य प्रारूप में बदलने के लिए Translate Toolkit

आप GNU Gettext की libintl घटक का उपयोग नहीं कर सकते हैं क्योंकि यह LGPL और दोनों एप्पल AppStore और विंडोज लाइव स्टोर की शर्तों के तहत लाइसेंस प्राप्त है कि लाइसेंस के साथ असंगत हैं। लेकिन रनटाइम पर आपको जिस बिट की आवश्यकता है उसे पुन: कार्यान्वित करना वाकई मुश्किल है।

Translate Toolkit वास्तव में सभी reimplements या GNU Gettext के सबसे और कई अतिरिक्त स्थानीयकरण स्वरूपों का समर्थन करता है, लेकिन gettext .po प्रारूप इसके लिए सबसे मुफ़्त उपकरण (जैसे स्थानीय संपादन के लिए poedit और ऑनलाइन संपादन के लिए Weblate) है, इसलिए मैं इसके साथ वैसे भी चिपके की सलाह देते हैं । और GNU Gettext मैनुअल पढ़ें, यह इसके पीछे इच्छित प्रक्रिया और तर्क का वर्णन करता है।

मुझे टूलचेन के साथ काफी अच्छा अनुभव है। Translate Toolkit स्क्रिप्ट के लिए आसान है जब आपको अपनी कस्टम संसाधन फ़ाइलों से अनुवाद करने योग्य तारों को निकालने जैसे कुछ विशेष प्रसंस्करण की आवश्यकता होती है और Weblate आपके अनुवादकों के लिए उपयोग करना आसान होता है, खासकर जब आप हमारे द्वारा किए गए अधिकांश अनुवादों के लिए विभिन्न देशों में व्यापार भागीदारों और परीक्षकों पर भरोसा करते हैं।

Translate Toolkit HTML से अनुवाद करने योग्य स्ट्रिंग निकालने का भी समर्थन करता है, इसलिए आपकी वेबसाइट का अनुवाद करने के लिए एक ही प्रक्रिया का उपयोग किया जा सकता है।

0

अस्वीकरण: मैं कर रहा हूँ सीटीओ और Tethras पर सह-संस्थापक, लेकिन एक तरीका है कि बस नहीं है "हमारी सेवा का उपयोग करें" में इस का जवाब देने की कोशिश करेंगे।

ऊपर दिए गए लॉल्डप पॉइंट के रूप में, यदि आप अपनी स्थानीय सामग्री को प्रबंधित करने के लिए एक-स्टॉप समाधान चाहते हैं तो आपको वास्तव में सभी प्लेटफ़ॉर्म पर अपनी सामग्री को सामान्य करने की आवश्यकता है। यह बहुत काम हो सकता है, और विभिन्न कोडिंग और स्क्रिप्टिंग और विभिन्न एसडीके से विभिन्न औजारों को कॉल करने के लिए एक सामान्य प्रारूप पर पहुंचने की आवश्यकता होगी जो आपको समर्थन के लिए आवश्यक सभी विभिन्न फाइल प्रारूपों की स्थानीयकरण आवश्यकताओं की सेवा करेगा। मेरी पिछली वाक्य की लंबाई और जटिलता उन सभी के लिए एक अनुकूल समाधान पर पहुंचने के लिए आपको आवश्यक काम की मात्रा के विपरीत आनुपातिक है।

Tethras पर, हमने एक मंच बनाया है जो बहु-मंच सॉफ्टवेयर प्रकाशकों को ऐसा करने की आवश्यकता को कम करता है। हम ऊपर सूचीबद्ध प्लेटफार्मों के सभी मूल स्वरूपों का समर्थन करते हैं, और एक फ़ाइल प्रारूप से दूसरे में अनुवाद का लाभ उठा सकते हैं। उदाहरण के लिए, भाषाओं के एक संख्या में अपने iOS एप्लिकेशन से Localizable.strings में सामग्री का अनुवाद है, तो Windows RT से व्यवस्था करने के लिए Android या foo.resx से अपने बराबर strings.xml फ़ाइल अपलोड करें, और यह स्वचालित रूप से आप के लिए अनुवाद का लाभ उठाने होंगे। किसी भी अप्रतिबंधित तारों को ध्वजांकित किया जाएगा और आप इन तारों के लिए अद्यतन ऑर्डर कर सकते हैं।

असल में, टेथ्रास कई अलग-अलग देशी फाइल प्रारूपों में स्थानीयकृत सामग्री के लिए एक सीएमएस है।

+0

टेथ्रास वास्तव में अच्छा लग रहा है, लेकिन क्या परियोजनाओं के बीच तार साझा करने की संभावना है? यदि नहीं, तो यह हमारी समस्या को ठीक नहीं करेगा ... –

+0

हां, हर तरह से आप परियोजनाओं में अनुवाद साझा कर सकते हैं। सभी स्थानीयकरण योग्य सामग्री आपके द्वारा अपलोड किए गए मूल फ़ाइल प्रारूपों से निकाले जाने लगती हैं। यह प्रणाली प्रोजेक्ट और फाइलों पर मेल खाने वाले तारों की पहचान करती है, और आपके लिए स्वचालित रूप से मौजूदा अनुवाद लेती है। उदाहरण के लिए, यदि हम आपके आईओएस ऐप के लिए Localizable.strings में एक्स स्ट्रिंग का अनुवाद करते हैं, और आप अपने एंड्रॉइड ऐप के लिए स्ट्रिंग्स .xml में वाई स्ट्रिंग्स अपलोड करते हैं, तो सिस्टम दोनों फाइलों के बीच अंग्रेजी में सभी मिलान तारों की पहचान करेगा। आईओएस अनुवाद स्वचालित रूप से strings.xml में लीवरेज किया जाएगा। –

1

मैं जो कई अनुवाद किया था iPhone और Android के लिए एक परियोजना किया है और मुझे लगता है कि मैं वास्तव में समाधान के लिए आप देख रहे हैं।

तरह से मैं हल यह एक एक्सेल स्प्रेडशीट में सभी अनुवाद ग्रंथों डाल दिया और एक VBA मैक्रो का उपयोग वहाँ से .string और .xml अनुवाद फ़ाइलें उत्पन्न करने के लिए किया गया था। तुम मेरे उदाहरण एक्सेल शीट के साथ साथ VBA मैक्रो डाउनलोड कर सकते हैं यहां:

http://members.home.nl/bas.de.reuver/files/multilanguage.zip

बस हाल ही में मैं भी, प्रारंभिक दृश्य स्टूडियो .resx उत्पादन जोड़ दिया है, हालांकि कि अपरीक्षित है।

संपादित करें: बीटीडब्ल्यू भी मेरा जावास्क्रिप्ट xcode/eclipse converter उपयोग किया जा सकता है ..(सुंदर तुच्छ मो स्वरूप है)

+0

मैंने कनवर्टर के साथ थोड़ा सा खेला है, लेकिन यह महत्वपूर्ण कोने के मामलों जैसे न्यूलाइन, उद्धरण, बैकस्पेस और ऐसे तारों को पूरी तरह से उपेक्षित करता है। हाँ, मैंने जंगली में कुछ ऐसे तार देखे हैं। –

+0

ठीक है, मैं शायद अनुमान लगा सकता हूं कि न्यूलाइन या उद्धरण के साथ कौन से तार दिखने चाहिए, लेकिन बैकस्पेस ..? मैं इसे देख लूंगा यदि आप मुझे इनमें से कुछ कोने के मामले भेज सकते हैं, तो इनमें से कुछ अपवाद तारों के साथ एक .xml या .strings फ़ाइल, मेरा मेल पता यहां पाया जा सकता है http://members.home.nl/bas .de.reuver / – BdR

संबंधित मुद्दे

 संबंधित मुद्दे