मैं स्ट्रिंग के अलग-अलग हिस्सों का अनुवाद करके इसे हल कर दूंगा। यह इस मामले में काम करेगा क्योंकि आपकी जिम्मेदार स्ट्रिंग वास्तव में चार तारों का एक समेकित संस्करण है।
लेकिन सुनिश्चित करें कि आप उस प्रारूप को सहेजते हैं जहां आप संख्याओं का उपयोग करते हैं। कुछ भाषा में पाठ "3 Erweiterung" हो सकता है। आप NSLocalizedStringWithDefaultValue
का उपयोग कर ऐसा कर सकते हैं।
NSString *stepFormat = NSLocalizedStringWithDefaultValue(@"AttributedStringStepFormat", @"main", [NSBundle mainBundle], @"Step %ld", @"'Step 4' in 'Step 4 - Erweiterung 3 - erhalten\ndauerhaft'");
NSString *step = [NSString stringWithFormat:stepFormat, (long)4];
NSString *erweiterungFormat = NSLocalizedStringWithDefaultValue(@"AttributedStringErweiterungFormat", @"main", [NSBundle mainBundle], @"Erweiterung %ld", @"'Erweiterung 3' in 'Step 4 - Erweiterung 3 - erhalten\ndauerhaft'");
NSString *erweiterung = [NSString stringWithFormat:erweiterungFormat, (long)3];
NSString *erhalten = NSLocalizedStringWithDefaultValue(@"AttributedStringErhalten", @"main", [NSBundle mainBundle], @"erhalten", @"'erhalten' in 'Step 4 - Erweiterung 3 - erhalten\ndauerhaft'");
NSString *dauerhaft = NSLocalizedStringWithDefaultValue(@"AttributedStringDauerhaft", @"main", [NSBundle mainBundle], @"dauerhaft", @"'dauerhaft' in 'Step 4 - Erweiterung 3 - erhalten\ndauerhaft'");
NSString *result = [NSString stringWithFormat:@"%@ - %@ - %@\n%@", step, erweiterung, erhalten, dauerhaft];
NSRange stepRange = [result rangeOfString:step];
NSRange erweiterungRange = [result rangeOfString:erweiterung];
NSRange erhaltenRange = [result rangeOfString:erhalten];
NSRange dauerhaftRange = [result rangeOfString:dauerhaft];
// Create attributed string
इस तरह आप एक अच्छा तार मिल फ़ाइल का अनुवाद करने में उपयोग कर सकते हैं:
/* 'dauerhaft' in 'Step 4 - Erweiterung 3 - erhalten\ndauerhaft' */
"AttributedStringDauerhaft" = "dauerhaft";
/* 'erhalten' in 'Step 4 - Erweiterung 3 - erhalten\ndauerhaft' */
"AttributedStringErhalten" = "erhalten";
/* 'Erweiterung 3' in 'Step 4 - Erweiterung 3 - erhalten\ndauerhaft' */
"AttributedStringErweiterungFormat" = "Erweiterung %ld";
/* 'Step 4' in 'Step 4 - Erweiterung 3 - erhalten\ndauerhaft' */
"AttributedStringStepFormat" = "Step %ld";
स्रोत
2014-04-04 06:59:54
NSAttributedString विधि का उपयोग करने का प्रयास करें 'enumerateAttributesInRange: विकल्प: ब्लैक का उपयोग: '। यह प्रत्येक विशेषता को इसकी सीमा के साथ देता है। आप उस श्रेणी भाग से स्ट्रिंग को भाग से निकाल सकते हैं और इसका अनुवाद कर सकते हैं। – ZeMoon